diff --git a/package-lock.json b/package-lock.json index 0b21144c..84e2e699 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,14 +5,12 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", - "dev": true, "requires": { "mime-types": "2.1.17", "negotiator": "0.6.1" @@ -21,14 +19,12 @@ "acorn": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", - "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", - "dev": true + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==" }, "acorn-dynamic-import": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "dev": true, "requires": { "acorn": "4.0.13" }, @@ -36,8 +32,7 @@ "acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" } } }, @@ -45,7 +40,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.1.0.tgz", "integrity": "sha1-QS2SQE62HkETY1ASy6U6M9AI4OI=", - "dev": true, "requires": { "assert": "1.4.1", "camelcase": "1.2.1", @@ -59,14 +53,12 @@ "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" }, "lodash.defaults": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", - "dev": true, "requires": { "lodash.assign": "3.2.0", "lodash.restparam": "3.6.1" @@ -76,7 +68,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", - "dev": true, "requires": { "lodash._baseassign": "3.2.0", "lodash._createassigner": "3.1.1", @@ -91,7 +82,6 @@ "version": "5.5.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", - "dev": true, "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", @@ -102,14 +92,12 @@ "ajv-keywords": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=" }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, "requires": { "kind-of": "3.2.2", "longest": "1.0.1", @@ -119,38 +107,32 @@ "almond": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/almond/-/almond-0.3.3.tgz", - "integrity": "sha1-oOfJWsdiTWQXtElLHmi/9pMWiiA=", - "dev": true + "integrity": "sha1-oOfJWsdiTWQXtElLHmi/9pMWiiA=" }, "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, "requires": { "color-convert": "1.9.1" } @@ -158,14 +140,12 @@ "ansicolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", - "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=", - "dev": true + "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=" }, "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, "requires": { "micromatch": "2.3.11", "normalize-path": "2.1.1" @@ -174,14 +154,12 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "archive-type": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz", "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=", - "dev": true, "requires": { "file-type": "3.9.0" }, @@ -189,8 +167,7 @@ "file-type": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" } } }, @@ -198,7 +175,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "dev": true, "requires": { "delegates": "1.0.0", "readable-stream": "2.3.3" @@ -208,7 +184,6 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "dev": true, "requires": { "sprintf-js": "1.0.3" } @@ -217,7 +192,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, "requires": { "arr-flatten": "1.1.0" } @@ -225,32 +199,27 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" }, "array-differ": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" }, "array-flatten": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", - "dev": true + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=" }, "array-includes": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, "requires": { "define-properties": "1.1.2", "es-abstract": "1.10.0" @@ -260,7 +229,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, "requires": { "array-uniq": "1.0.3" } @@ -268,26 +236,22 @@ "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, "array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" }, "asn1": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" }, "asn1.js": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", - "dev": true, "requires": { "bn.js": "4.11.8", "inherits": "2.0.3", @@ -298,7 +262,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, "requires": { "util": "0.10.3" } @@ -306,20 +269,17 @@ "assert-plus": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" }, "ast-types": { "version": "0.9.6", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", - "dev": true + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=" }, "async": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "dev": true, "requires": { "lodash": "4.17.4" } @@ -327,38 +287,32 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" }, "async-each-series": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz", - "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=", - "dev": true + "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=" }, "async-foreach": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz", - "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=", - "dev": true + "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=" }, "autoprefixer": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.1.tgz", "integrity": "sha512-lTbsa2X03maxG45xCNh30sJaRKDn8JPnanOeQOW3wvD9yPGmIsf041LHqlrZ1lXPF/1M3yTZKXqqYfmxU69xuQ==", - "dev": true, "requires": { "browserslist": "2.10.0", "caniuse-lite": "1.0.30000780", @@ -371,20 +325,17 @@ "aws-sign2": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" }, "aws4": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" }, "axios": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", - "dev": true, "requires": { "follow-redirects": "1.2.6", "is-buffer": "1.1.6" @@ -394,7 +345,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, "requires": { "chalk": "1.1.3", "esutils": "2.0.2", @@ -404,14 +354,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -423,8 +371,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, @@ -432,7 +379,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "dev": true, "requires": { "babel-code-frame": "6.26.0", "babel-generator": "6.26.0", @@ -459,7 +405,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -467,8 +412,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -476,7 +420,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", - "dev": true, "requires": { "babel-messages": "6.23.0", "babel-runtime": "6.26.0", @@ -491,8 +434,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -500,7 +442,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, "requires": { "babel-helper-explode-assignable-expression": "6.24.1", "babel-runtime": "6.26.0", @@ -511,7 +452,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true, "requires": { "babel-helper-hoist-variables": "6.24.1", "babel-runtime": "6.26.0", @@ -523,7 +463,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "dev": true, "requires": { "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", @@ -535,7 +474,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-traverse": "6.26.0", @@ -546,7 +484,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true, "requires": { "babel-helper-get-function-arity": "6.24.1", "babel-runtime": "6.26.0", @@ -559,7 +496,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0" @@ -569,7 +505,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0" @@ -579,7 +514,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0" @@ -589,7 +523,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", @@ -600,7 +533,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, "requires": { "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", @@ -613,7 +545,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dev": true, "requires": { "babel-helper-optimise-call-expression": "6.24.1", "babel-messages": "6.23.0", @@ -627,7 +558,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-template": "6.26.0" @@ -637,7 +567,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", - "dev": true, "requires": { "find-cache-dir": "1.0.0", "loader-utils": "1.1.0", @@ -648,7 +577,6 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -657,7 +585,6 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -665,32 +592,27 @@ "babel-plugin-syntax-async-functions": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" }, "babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" }, "babel-plugin-transform-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, "requires": { "babel-helper-remap-async-to-generator": "6.24.1", "babel-plugin-syntax-async-functions": "6.13.0", @@ -701,7 +623,6 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -710,7 +631,6 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -719,7 +639,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-template": "6.26.0", @@ -732,7 +651,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dev": true, "requires": { "babel-helper-define-map": "6.26.0", "babel-helper-function-name": "6.24.1", @@ -749,7 +667,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-template": "6.26.0" @@ -759,7 +676,6 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -768,7 +684,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0" @@ -778,7 +693,6 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -787,7 +701,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, "requires": { "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", @@ -798,7 +711,6 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -807,7 +719,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true, "requires": { "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", "babel-runtime": "6.26.0", @@ -818,7 +729,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", - "dev": true, "requires": { "babel-plugin-transform-strict-mode": "6.24.1", "babel-runtime": "6.26.0", @@ -830,7 +740,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true, "requires": { "babel-helper-hoist-variables": "6.24.1", "babel-runtime": "6.26.0", @@ -841,7 +750,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true, "requires": { "babel-plugin-transform-es2015-modules-amd": "6.24.1", "babel-runtime": "6.26.0", @@ -852,7 +760,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true, "requires": { "babel-helper-replace-supers": "6.24.1", "babel-runtime": "6.26.0" @@ -862,7 +769,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, "requires": { "babel-helper-call-delegate": "6.24.1", "babel-helper-get-function-arity": "6.24.1", @@ -876,7 +782,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0" @@ -886,7 +791,6 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -895,7 +799,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, "requires": { "babel-helper-regex": "6.26.0", "babel-runtime": "6.26.0", @@ -906,7 +809,6 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -915,7 +817,6 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -924,7 +825,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, "requires": { "babel-helper-regex": "6.26.0", "babel-runtime": "6.26.0", @@ -935,7 +835,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, "requires": { "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", "babel-plugin-syntax-exponentiation-operator": "6.13.0", @@ -946,7 +845,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dev": true, "requires": { "babel-plugin-syntax-object-rest-spread": "6.13.0", "babel-runtime": "6.26.0" @@ -956,7 +854,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "dev": true, "requires": { "regenerator-transform": "0.10.1" } @@ -965,7 +862,6 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -974,7 +870,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0" @@ -984,7 +879,6 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", - "dev": true, "requires": { "babel-plugin-check-es2015-constants": "6.22.0", "babel-plugin-syntax-trailing-function-commas": "6.22.0", @@ -1022,7 +916,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, "requires": { "babel-core": "6.26.0", "babel-runtime": "6.26.0", @@ -1037,7 +930,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, "requires": { "core-js": "2.5.1", "regenerator-runtime": "0.11.1" @@ -1047,7 +939,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-traverse": "6.26.0", @@ -1060,7 +951,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, "requires": { "babel-code-frame": "6.26.0", "babel-messages": "6.23.0", @@ -1077,7 +967,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1088,7 +977,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", @@ -1099,32 +987,27 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", - "dev": true + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" }, "bcrypt-pbkdf": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -1133,20 +1016,17 @@ "beeper": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" }, "bin-build": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz", "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=", - "dev": true, "requires": { "archive-type": "3.2.0", "decompress": "3.0.0", @@ -1161,7 +1041,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", - "dev": true, "requires": { "os-tmpdir": "1.0.2", "uuid": "2.0.3" @@ -1170,8 +1049,7 @@ "uuid": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" } } }, @@ -1179,7 +1057,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz", "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=", - "dev": true, "requires": { "executable": "1.1.0" } @@ -1188,7 +1065,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=", - "dev": true, "requires": { "find-versions": "1.2.1" } @@ -1197,7 +1073,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=", - "dev": true, "requires": { "bin-version": "1.0.4", "minimist": "1.2.0", @@ -1208,14 +1083,12 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "semver": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" } } }, @@ -1223,7 +1096,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz", "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=", - "dev": true, "requires": { "bin-check": "2.0.0", "bin-version-check": "2.1.0", @@ -1236,14 +1108,12 @@ "binary-extensions": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" }, "bl": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "dev": true, "requires": { "readable-stream": "2.3.3" } @@ -1252,7 +1122,6 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, "requires": { "inherits": "2.0.3" } @@ -1260,20 +1129,17 @@ "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", - "dev": true + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "body-parser": { "version": "1.18.2", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "dev": true, "requires": { "bytes": "3.0.0", "content-type": "1.0.4", @@ -1291,7 +1157,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1299,8 +1164,7 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" } } }, @@ -1308,7 +1172,6 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, "requires": { "array-flatten": "2.1.1", "deep-equal": "1.0.1", @@ -1322,7 +1185,6 @@ "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, "requires": { "hoek": "2.16.3" } @@ -1330,14 +1192,17 @@ "bootstrap-sass": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/bootstrap-sass/-/bootstrap-sass-3.3.7.tgz", - "integrity": "sha1-ZZbHq0D2Y3OTMjqwvIDQZPxjBJg=", - "dev": true + "integrity": "sha1-ZZbHq0D2Y3OTMjqwvIDQZPxjBJg=" + }, + "bootstrap3": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/bootstrap3/-/bootstrap3-3.3.5.tgz", + "integrity": "sha1-SWpO9sCHIU+paDgZbWDeZF6CWRo=" }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -1347,7 +1212,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, "requires": { "expand-range": "1.8.2", "preserve": "0.2.0", @@ -1357,14 +1221,12 @@ "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", - "dev": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -1378,7 +1240,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", - "dev": true, "requires": { "browserify-aes": "1.1.1", "browserify-des": "1.0.0", @@ -1389,7 +1250,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", - "dev": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", @@ -1400,7 +1260,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, "requires": { "bn.js": "4.11.8", "randombytes": "2.0.5" @@ -1410,7 +1269,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", @@ -1425,7 +1283,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, "requires": { "pako": "1.0.6" } @@ -1434,7 +1291,6 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.10.0.tgz", "integrity": "sha512-WyvzSLsuAVPOjbljXnyeWl14Ae+ukAT8MUuagKVzIDvwBxl4UAwD1xqtyQs2eWYPGUKMeC3Ol62goqYuKqTTcw==", - "dev": true, "requires": { "caniuse-lite": "1.0.30000780", "electron-to-chromium": "1.3.28" @@ -1444,7 +1300,6 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, "requires": { "base64-js": "1.2.1", "ieee754": "1.1.8", @@ -1454,20 +1309,17 @@ "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" }, "buffer-indexof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" }, "buffer-to-vinyl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", - "dev": true, "requires": { "file-type": "3.9.0", "readable-stream": "2.3.3", @@ -1478,46 +1330,39 @@ "file-type": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" }, "uuid": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" } } }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, "cacache": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.1.tgz", "integrity": "sha512-dRHYcs9LvG9cHgdPzjiI+/eS7e1xRhULrcyOx04RZQsszNJXU2SL9CyG60yLnge282Qq5nwTv+ieK2fH+WPZmA==", - "dev": true, "requires": { "bluebird": "3.5.1", "chownr": "1.0.1", @@ -1538,7 +1383,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, "requires": { "no-case": "2.3.2", "upper-case": "1.1.3" @@ -1547,14 +1391,12 @@ "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" }, "camelcase-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, "requires": { "camelcase": "2.1.1", "map-obj": "1.0.1" @@ -1564,7 +1406,6 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, "requires": { "browserslist": "1.7.7", "caniuse-db": "1.0.30000780", @@ -1576,7 +1417,6 @@ "version": "1.7.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, "requires": { "caniuse-db": "1.0.30000780", "electron-to-chromium": "1.3.28" @@ -1587,26 +1427,22 @@ "caniuse-db": { "version": "1.0.30000780", "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000780.tgz", - "integrity": "sha1-jRl3Vh0A/w8O0ra2YUAyirRQTAo=", - "dev": true + "integrity": "sha1-jRl3Vh0A/w8O0ra2YUAyirRQTAo=" }, "caniuse-lite": { "version": "1.0.30000780", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000780.tgz", - "integrity": "sha1-H5CV8u/UlA4LpsWZKreptkzDW6Q=", - "dev": true + "integrity": "sha1-H5CV8u/UlA4LpsWZKreptkzDW6Q=" }, "capture-stack-trace": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", - "dev": true + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" }, "cardinal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", "integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=", - "dev": true, "requires": { "ansicolors": "0.2.1", "redeyed": "1.0.1" @@ -1615,14 +1451,12 @@ "caseless": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", - "dev": true + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" }, "caw": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=", - "dev": true, "requires": { "get-proxy": "1.1.0", "is-obj": "1.0.1", @@ -1633,8 +1467,7 @@ "object-assign": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" } } }, @@ -1642,7 +1475,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, "requires": { "align-text": "0.1.4", "lazy-cache": "1.0.4" @@ -1651,8 +1483,7 @@ "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" } } }, @@ -1660,7 +1491,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -1670,14 +1500,12 @@ "charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", @@ -1693,14 +1521,12 @@ "chownr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "dev": true + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -1710,7 +1536,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "dev": true, "requires": { "chalk": "1.1.3" }, @@ -1718,14 +1543,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -1737,8 +1560,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, @@ -1746,7 +1568,6 @@ "version": "4.1.9", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", - "dev": true, "requires": { "source-map": "0.5.7" }, @@ -1754,8 +1575,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -1763,7 +1583,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "dev": true, "requires": { "colors": "1.0.3" }, @@ -1771,8 +1590,7 @@ "colors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" } } }, @@ -1780,7 +1598,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz", "integrity": "sha1-fAHg3HBsI0s5yTODjI4gshdXduI=", - "dev": true, "requires": { "marked": "0.3.7", "marked-terminal": "1.7.0" @@ -1790,7 +1607,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1", @@ -1800,14 +1616,12 @@ "clone": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", - "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", - "dev": true + "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=" }, "clone-deep": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", - "dev": true, "requires": { "for-own": "1.0.0", "is-plain-object": "2.0.4", @@ -1819,7 +1633,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, "requires": { "for-in": "1.0.2" } @@ -1829,20 +1642,17 @@ "clone-stats": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, "coa": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, "requires": { "q": "1.5.1" } @@ -1850,14 +1660,12 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "color": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, "requires": { "clone": "1.0.3", "color-convert": "1.9.1", @@ -1868,7 +1676,6 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -1876,14 +1683,12 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -1892,7 +1697,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, "requires": { "color": "0.11.4", "css-color-names": "0.0.4", @@ -1902,14 +1706,12 @@ "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" }, "combined-stream": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, "requires": { "delayed-stream": "1.0.0" } @@ -1917,20 +1719,17 @@ "commander": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", - "dev": true + "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==" }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "compressible": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", - "dev": true, "requires": { "mime-db": "1.30.0" } @@ -1939,7 +1738,6 @@ "version": "1.7.1", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", - "dev": true, "requires": { "accepts": "1.3.4", "bytes": "3.0.0", @@ -1954,7 +1752,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1964,14 +1761,12 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3", @@ -1982,7 +1777,6 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/concatenate/-/concatenate-0.0.2.tgz", "integrity": "sha1-C0nW6MQQR9dyjNyNYqCGYjOXtJ8=", - "dev": true, "requires": { "globs": "0.1.3" } @@ -1990,14 +1784,12 @@ "connect-history-api-fallback": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", - "dev": true + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=" }, "console-browserify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, "requires": { "date-now": "0.1.4" } @@ -2005,20 +1797,17 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "console-stream": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", - "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", - "dev": true + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=" }, "consolidate": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", - "dev": true, "requires": { "bluebird": "3.5.1" } @@ -2026,44 +1815,37 @@ "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "content-disposition": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "convert-source-map": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" }, "cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, "requires": { "aproba": "1.2.0", "fs-write-stream-atomic": "1.0.10", @@ -2076,20 +1858,17 @@ "core-js": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", - "dev": true, "requires": { "is-directory": "0.3.1", "js-yaml": "3.7.0", @@ -2103,8 +1882,7 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, @@ -2112,7 +1890,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", - "dev": true, "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" @@ -2122,7 +1899,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, "requires": { "capture-stack-trace": "1.0.0" } @@ -2131,7 +1907,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", - "dev": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.3", @@ -2143,7 +1918,6 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", - "dev": true, "requires": { "cipher-base": "1.0.4", "create-hash": "1.1.3", @@ -2157,7 +1931,6 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.3.tgz", "integrity": "sha512-UOokgwvDzCT0mqRSLEkJzUhYXB1vK3E5UgDrD41QiXsm9UetcW2rCGHYz/O3p873lMJ1VZbFCF9Izkwh7nYR5A==", - "dev": true, "requires": { "cross-spawn": "5.1.0", "is-windows": "1.0.1" @@ -2167,7 +1940,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, "requires": { "lru-cache": "4.1.1", "shebang-command": "1.2.0", @@ -2177,14 +1949,12 @@ "crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", - "dev": true + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" }, "cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, "requires": { "boom": "2.10.1" } @@ -2193,7 +1963,6 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, "requires": { "browserify-cipher": "1.0.0", "browserify-sign": "4.0.4", @@ -2212,7 +1981,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz", "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=", - "dev": true, "requires": { "inherits": "2.0.3", "source-map": "0.1.43", @@ -2224,7 +1992,6 @@ "version": "0.1.43", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, "requires": { "amdefine": "1.0.1" } @@ -2234,14 +2001,12 @@ "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" }, "css-loader": { "version": "0.28.7", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.7.tgz", "integrity": "sha512-GxMpax8a/VgcfRrVy0gXD6yLd5ePYbXX/5zGgTVYp4wXtJklS8Z2VaUArJgc//f6/Dzil7BaJObdSv8eKKCPgg==", - "dev": true, "requires": { "babel-code-frame": "6.26.0", "css-selector-tokenizer": "0.7.0", @@ -2262,14 +2027,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -2281,22 +2044,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -2307,14 +2067,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -2325,7 +2083,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", - "dev": true, "requires": { "cssesc": "0.1.0", "fastparse": "1.1.1", @@ -2336,7 +2093,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, "requires": { "regenerate": "1.3.3", "regjsgen": "0.2.0", @@ -2348,14 +2104,12 @@ "cssesc": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=" }, "cssnano": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, "requires": { "autoprefixer": "6.7.7", "decamelize": "1.2.0", @@ -2394,14 +2148,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "autoprefixer": { "version": "6.7.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, "requires": { "browserslist": "1.7.7", "caniuse-db": "1.0.30000780", @@ -2415,7 +2167,6 @@ "version": "1.7.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, "requires": { "caniuse-db": "1.0.30000780", "electron-to-chromium": "1.3.28" @@ -2425,7 +2176,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -2437,22 +2187,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -2463,14 +2210,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -2481,7 +2226,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, "requires": { "clap": "1.2.3", "source-map": "0.5.7" @@ -2490,8 +2234,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -2499,7 +2242,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, "requires": { "array-find-index": "1.0.2" } @@ -2507,14 +2249,12 @@ "cyclist": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, "requires": { "es5-ext": "0.10.37" } @@ -2523,7 +2263,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "1.0.0" }, @@ -2531,34 +2270,29 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" }, "dateformat": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", - "dev": true + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" }, "de-indent": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -2566,14 +2300,12 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decompress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", - "dev": true, "requires": { "buffer-to-vinyl": "1.1.0", "concat-stream": "1.6.0", @@ -2590,7 +2322,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", - "dev": true, "requires": { "is-tar": "1.0.0", "object-assign": "2.1.1", @@ -2603,20 +2334,17 @@ "clone": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" }, "object-assign": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" }, "vinyl": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, "requires": { "clone": "0.2.0", "clone-stats": "0.0.1" @@ -2628,7 +2356,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", - "dev": true, "requires": { "is-bzip2": "1.0.0", "object-assign": "2.1.1", @@ -2642,20 +2369,17 @@ "clone": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" }, "object-assign": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" }, "vinyl": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, "requires": { "clone": "0.2.0", "clone-stats": "0.0.1" @@ -2667,7 +2391,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", - "dev": true, "requires": { "is-gzip": "1.0.0", "object-assign": "2.1.1", @@ -2680,20 +2403,17 @@ "clone": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" }, "object-assign": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" }, "vinyl": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, "requires": { "clone": "0.2.0", "clone-stats": "0.0.1" @@ -2705,7 +2425,6 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", - "dev": true, "requires": { "is-zip": "1.0.0", "read-all-stream": "3.1.0", @@ -2720,7 +2439,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, "requires": { "readable-stream": "2.3.3", "xtend": "4.0.1" @@ -2731,20 +2449,17 @@ "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" }, "deep-extend": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", - "dev": true + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "dev": true, "requires": { "foreach": "2.0.5", "object-keys": "1.0.11" @@ -2753,14 +2468,12 @@ "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" }, "del": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, "requires": { "globby": "6.1.0", "is-path-cwd": "1.0.0", @@ -2773,26 +2486,22 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "depd": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" }, "des.js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" @@ -2801,14 +2510,12 @@ "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, "requires": { "repeating": "2.0.1" } @@ -2816,14 +2523,12 @@ "detect-node": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", - "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", - "dev": true + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=" }, "diffie-hellman": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", - "dev": true, "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", @@ -2833,14 +2538,12 @@ "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" }, "dns-packet": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.2.2.tgz", "integrity": "sha512-kN+DjfGF7dJGUL7nWRktL9Z18t1rWP3aQlyZdY8XlpvU3Nc6GeFTQApftcjtWKxAZfiggZSGrCEoszNgvnpwDg==", - "dev": true, "requires": { "ip": "1.1.5", "safe-buffer": "5.1.1" @@ -2850,7 +2553,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, "requires": { "buffer-indexof": "1.1.1" } @@ -2858,26 +2560,22 @@ "domain-browser": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", - "dev": true + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" }, "dotenv": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", - "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", - "dev": true + "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=" }, "dotenv-expand": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.0.1.tgz", - "integrity": "sha1-aP3cFWGBTgoQlkERBX/xOM7X16g=", - "dev": true + "integrity": "sha1-aP3cFWGBTgoQlkERBX/xOM7X16g=" }, "download": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz", "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=", - "dev": true, "requires": { "caw": "1.2.0", "concat-stream": "1.6.0", @@ -2900,7 +2598,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, "requires": { "readable-stream": "2.3.3" } @@ -2909,7 +2606,6 @@ "version": "3.5.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", "integrity": "sha1-ThUWvmiDi8kKSZlPCzmm5ZYL780=", - "dev": true, "requires": { "end-of-stream": "1.4.0", "inherits": "2.0.3", @@ -2921,7 +2617,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", - "dev": true, "requires": { "onetime": "1.1.0", "set-immediate-shim": "1.0.1" @@ -2931,7 +2626,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -2940,20 +2634,17 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { "version": "1.3.28", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.28.tgz", - "integrity": "sha1-jdTmRYCGZE6fnwoc8y4qH53/2e4=", - "dev": true + "integrity": "sha1-jdTmRYCGZE6fnwoc8y4qH53/2e4=" }, "elliptic": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", - "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", @@ -2967,20 +2658,17 @@ "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, "encodeurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", - "dev": true + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" }, "end-of-stream": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", - "dev": true, "requires": { "once": "1.4.0" } @@ -2989,7 +2677,6 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "memory-fs": "0.4.1", @@ -3001,7 +2688,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true, "requires": { "prr": "0.0.0" } @@ -3010,7 +2696,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, "requires": { "is-arrayish": "0.2.1" } @@ -3019,7 +2704,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.1.tgz", "integrity": "sha1-oyArj7AxFKqbQKDjZp5IsrZaAQo=", - "dev": true, "requires": { "stackframe": "1.0.4" } @@ -3028,7 +2712,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", - "dev": true, "requires": { "es-to-primitive": "1.1.1", "function-bind": "1.1.1", @@ -3041,7 +2724,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true, "requires": { "is-callable": "1.1.3", "is-date-object": "1.0.1", @@ -3052,7 +2734,6 @@ "version": "0.10.37", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", - "dev": true, "requires": { "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" @@ -3062,7 +2743,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37", @@ -3073,7 +2753,6 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37", @@ -3087,7 +2766,6 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37", @@ -3100,7 +2778,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37" @@ -3110,7 +2787,6 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", - "dev": true, "requires": { "recast": "0.11.23", "through": "2.3.8" @@ -3120,7 +2796,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37", @@ -3131,20 +2806,17 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, "requires": { "es6-map": "0.1.5", "es6-weak-map": "2.0.2", @@ -3155,14 +2827,12 @@ "esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" }, "esrecurse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true, "requires": { "estraverse": "4.2.0", "object-assign": "4.1.1" @@ -3171,26 +2841,22 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37" @@ -3199,20 +2865,17 @@ "eventemitter3": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", - "dev": true + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" }, "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "dev": true + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "eventsource": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, "requires": { "original": "1.0.0" } @@ -3221,7 +2884,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, "requires": { "md5.js": "1.3.4", "safe-buffer": "5.1.1" @@ -3231,7 +2893,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", - "dev": true, "requires": { "execa": "0.7.0", "p-finally": "1.0.0", @@ -3244,7 +2905,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz", "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=", - "dev": true, "requires": { "async-each-series": "1.1.0", "object-assign": "4.1.1" @@ -3254,7 +2914,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, "requires": { "cross-spawn": "5.1.0", "get-stream": "3.0.0", @@ -3269,7 +2928,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz", "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=", - "dev": true, "requires": { "meow": "3.7.0" } @@ -3278,7 +2936,6 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, "requires": { "is-posix-bracket": "0.1.1" } @@ -3287,7 +2944,6 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, "requires": { "fill-range": "2.2.3" } @@ -3296,7 +2952,6 @@ "version": "4.16.2", "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", - "dev": true, "requires": { "accepts": "1.3.4", "array-flatten": "1.1.1", @@ -3333,14 +2988,12 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -3348,22 +3001,19 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" } } }, "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "0.1.1" } @@ -3372,7 +3022,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, "requires": { "is-extglob": "1.0.0" } @@ -3381,7 +3030,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", - "dev": true, "requires": { "async": "2.6.0", "loader-utils": "1.1.0", @@ -3392,14 +3040,12 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fancy-log": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", - "dev": true, "requires": { "chalk": "1.1.3", "time-stamp": "1.1.0" @@ -3408,14 +3054,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -3427,34 +3071,29 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "fast-deep-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", - "dev": true + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fastparse": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", - "dev": true + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=" }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, "requires": { "websocket-driver": "0.7.0" } @@ -3463,7 +3102,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "dev": true, "requires": { "pend": "1.2.0" } @@ -3472,7 +3110,6 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, "requires": { "escape-string-regexp": "1.0.5", "object-assign": "4.1.1" @@ -3482,7 +3119,6 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", "integrity": "sha512-N+uhF3mswIFeziHQjGScJ/yHXYt3DiLBeC+9vWW+WjUBiClMSOlV1YrXQi+7KM2aA3Rn4Bybgv+uXFQbfkzpvg==", - "dev": true, "requires": { "loader-utils": "1.1.0" } @@ -3490,26 +3126,22 @@ "file-type": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", - "dev": true + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" }, "filename-reserved-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", - "dev": true + "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=" }, "filenamify": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", - "dev": true, "requires": { "filename-reserved-regex": "1.0.0", "strip-outer": "1.0.0", @@ -3520,7 +3152,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, "requires": { "is-number": "2.1.0", "isobject": "2.1.0", @@ -3533,7 +3164,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "1.0.1", @@ -3548,7 +3178,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -3559,7 +3188,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, "requires": { "commondir": "1.0.1", "make-dir": "1.1.0", @@ -3570,7 +3198,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, "requires": { "locate-path": "2.0.0" } @@ -3579,7 +3206,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=", - "dev": true, "requires": { "array-uniq": "1.0.3", "get-stdin": "4.0.1", @@ -3590,20 +3216,17 @@ "first-chunk-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=" }, "flatten": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=" }, "flush-write-stream": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", - "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -3613,7 +3236,6 @@ "version": "1.2.6", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.2.6.tgz", "integrity": "sha512-FrMqZ/FONtHnbqO651UPpfRUVukIEwJhXMfdr/JWAmrDbeYBu773b1J6gdWDyRIj4hvvzQEHoEOTrdR8o6KLYA==", - "dev": true, "requires": { "debug": "3.1.0" } @@ -3621,14 +3243,12 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "for-own": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, "requires": { "for-in": "1.0.2" } @@ -3636,20 +3256,17 @@ "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", @@ -3659,20 +3276,17 @@ "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, "friendly-errors-webpack-plugin": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.6.1.tgz", "integrity": "sha1-4yeBxHIvVGoGqbXXp8+ihSA3XXA=", - "dev": true, "requires": { "chalk": "1.1.3", "error-stack-parser": "2.0.1", @@ -3682,14 +3296,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -3701,8 +3313,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, @@ -3710,7 +3321,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -3720,7 +3330,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "jsonfile": "3.0.1", @@ -3731,7 +3340,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "iferr": "0.1.5", @@ -3742,14 +3350,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "dev": true, "optional": true, "requires": { "nan": "2.8.0", @@ -3759,13 +3365,11 @@ "abbrev": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true }, "ajv": { "version": "4.11.8", "bundled": true, - "dev": true, "optional": true, "requires": { "co": "4.6.0", @@ -3774,19 +3378,16 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "dev": true + "bundled": true }, "aproba": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", "bundled": true, - "dev": true, "optional": true, "requires": { "delegates": "1.0.0", @@ -3796,42 +3397,35 @@ "asn1": { "version": "0.2.3", "bundled": true, - "dev": true, "optional": true }, "assert-plus": { "version": "0.2.0", "bundled": true, - "dev": true, "optional": true }, "asynckit": { "version": "0.4.0", "bundled": true, - "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", "bundled": true, - "dev": true, "optional": true }, "aws4": { "version": "1.6.0", "bundled": true, - "dev": true, "optional": true }, "balanced-match": { "version": "0.4.2", - "bundled": true, - "dev": true + "bundled": true }, "bcrypt-pbkdf": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -3840,7 +3434,6 @@ "block-stream": { "version": "0.0.9", "bundled": true, - "dev": true, "requires": { "inherits": "2.0.3" } @@ -3848,7 +3441,6 @@ "boom": { "version": "2.10.1", "bundled": true, - "dev": true, "requires": { "hoek": "2.16.3" } @@ -3856,7 +3448,6 @@ "brace-expansion": { "version": "1.1.7", "bundled": true, - "dev": true, "requires": { "balanced-match": "0.4.2", "concat-map": "0.0.1" @@ -3864,53 +3455,44 @@ }, "buffer-shims": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "caseless": { "version": "0.12.0", "bundled": true, - "dev": true, "optional": true }, "co": { "version": "4.6.0", "bundled": true, - "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "dev": true + "bundled": true }, "combined-stream": { "version": "1.0.5", "bundled": true, - "dev": true, "requires": { "delayed-stream": "1.0.0" } }, "concat-map": { "version": "0.0.1", - "bundled": true, - "dev": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "dev": true + "bundled": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true }, "cryptiles": { "version": "2.0.5", "bundled": true, - "dev": true, "requires": { "boom": "2.10.1" } @@ -3918,7 +3500,6 @@ "dashdash": { "version": "1.14.1", "bundled": true, - "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0" @@ -3927,7 +3508,6 @@ "assert-plus": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true } } @@ -3935,7 +3515,6 @@ "debug": { "version": "2.6.8", "bundled": true, - "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -3944,30 +3523,25 @@ "deep-extend": { "version": "0.4.2", "bundled": true, - "dev": true, "optional": true }, "delayed-stream": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "delegates": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "detect-libc": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "ecc-jsbn": { "version": "0.1.1", "bundled": true, - "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -3976,24 +3550,20 @@ "extend": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true }, "extsprintf": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true }, "forever-agent": { "version": "0.6.1", "bundled": true, - "dev": true, "optional": true }, "form-data": { "version": "2.1.4", "bundled": true, - "dev": true, "optional": true, "requires": { "asynckit": "0.4.0", @@ -4003,13 +3573,11 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "fstream": { "version": "1.0.11", "bundled": true, - "dev": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -4020,7 +3588,6 @@ "fstream-ignore": { "version": "1.0.5", "bundled": true, - "dev": true, "optional": true, "requires": { "fstream": "1.0.11", @@ -4031,7 +3598,6 @@ "gauge": { "version": "2.7.4", "bundled": true, - "dev": true, "optional": true, "requires": { "aproba": "1.1.1", @@ -4047,7 +3613,6 @@ "getpass": { "version": "0.1.7", "bundled": true, - "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0" @@ -4056,7 +3621,6 @@ "assert-plus": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true } } @@ -4064,7 +3628,6 @@ "glob": { "version": "7.1.2", "bundled": true, - "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -4076,19 +3639,16 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true, - "dev": true + "bundled": true }, "har-schema": { "version": "1.0.5", "bundled": true, - "dev": true, "optional": true }, "har-validator": { "version": "4.2.1", "bundled": true, - "dev": true, "optional": true, "requires": { "ajv": "4.11.8", @@ -4098,13 +3658,11 @@ "has-unicode": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "hawk": { "version": "3.1.3", "bundled": true, - "dev": true, "requires": { "boom": "2.10.1", "cryptiles": "2.0.5", @@ -4114,13 +3672,11 @@ }, "hoek": { "version": "2.16.3", - "bundled": true, - "dev": true + "bundled": true }, "http-signature": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true, "requires": { "assert-plus": "0.2.0", @@ -4131,7 +3687,6 @@ "inflight": { "version": "1.0.6", "bundled": true, - "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -4139,19 +3694,16 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "dev": true + "bundled": true }, "ini": { "version": "1.3.4", "bundled": true, - "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -4159,24 +3711,20 @@ "is-typedarray": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "isarray": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "isstream": { "version": "0.1.2", "bundled": true, - "dev": true, "optional": true }, "jodid25519": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -4185,19 +3733,16 @@ "jsbn": { "version": "0.1.1", "bundled": true, - "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", "bundled": true, - "dev": true, "optional": true }, "json-stable-stringify": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "jsonify": "0.0.0" @@ -4206,19 +3751,16 @@ "json-stringify-safe": { "version": "5.0.1", "bundled": true, - "dev": true, "optional": true }, "jsonify": { "version": "0.0.0", "bundled": true, - "dev": true, "optional": true }, "jsprim": { "version": "1.4.0", "bundled": true, - "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0", @@ -4230,20 +3772,17 @@ "assert-plus": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true } } }, "mime-db": { "version": "1.27.0", - "bundled": true, - "dev": true + "bundled": true }, "mime-types": { "version": "2.1.15", "bundled": true, - "dev": true, "requires": { "mime-db": "1.27.0" } @@ -4251,20 +3790,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "dev": true, "requires": { "brace-expansion": "1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "dev": true + "bundled": true }, "mkdirp": { "version": "0.5.1", "bundled": true, - "dev": true, "requires": { "minimist": "0.0.8" } @@ -4272,13 +3808,11 @@ "ms": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "node-pre-gyp": { "version": "0.6.39", "bundled": true, - "dev": true, "optional": true, "requires": { "detect-libc": "1.0.2", @@ -4297,7 +3831,6 @@ "nopt": { "version": "4.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "abbrev": "1.1.0", @@ -4307,7 +3840,6 @@ "npmlog": { "version": "4.1.0", "bundled": true, - "dev": true, "optional": true, "requires": { "are-we-there-yet": "1.1.4", @@ -4318,25 +3850,21 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "dev": true + "bundled": true }, "oauth-sign": { "version": "0.8.2", "bundled": true, - "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, - "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, - "dev": true, "requires": { "wrappy": "1.0.2" } @@ -4344,19 +3872,16 @@ "os-homedir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "osenv": { "version": "0.1.4", "bundled": true, - "dev": true, "optional": true, "requires": { "os-homedir": "1.0.2", @@ -4365,36 +3890,30 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, - "dev": true + "bundled": true }, "performance-now": { "version": "0.2.0", "bundled": true, - "dev": true, "optional": true }, "process-nextick-args": { "version": "1.0.7", - "bundled": true, - "dev": true + "bundled": true }, "punycode": { "version": "1.4.1", "bundled": true, - "dev": true, "optional": true }, "qs": { "version": "6.4.0", "bundled": true, - "dev": true, "optional": true }, "rc": { "version": "1.2.1", "bundled": true, - "dev": true, "optional": true, "requires": { "deep-extend": "0.4.2", @@ -4406,7 +3925,6 @@ "minimist": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true } } @@ -4414,7 +3932,6 @@ "readable-stream": { "version": "2.2.9", "bundled": true, - "dev": true, "requires": { "buffer-shims": "1.0.0", "core-util-is": "1.0.2", @@ -4428,7 +3945,6 @@ "request": { "version": "2.81.0", "bundled": true, - "dev": true, "optional": true, "requires": { "aws-sign2": "0.6.0", @@ -4458,38 +3974,32 @@ "rimraf": { "version": "2.6.1", "bundled": true, - "dev": true, "requires": { "glob": "7.1.2" } }, "safe-buffer": { "version": "5.0.1", - "bundled": true, - "dev": true + "bundled": true }, "semver": { "version": "5.3.0", "bundled": true, - "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, - "dev": true, "optional": true }, "sntp": { "version": "1.0.9", "bundled": true, - "dev": true, "requires": { "hoek": "2.16.3" } @@ -4497,7 +4007,6 @@ "sshpk": { "version": "1.13.0", "bundled": true, - "dev": true, "optional": true, "requires": { "asn1": "0.2.3", @@ -4514,7 +4023,6 @@ "assert-plus": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true } } @@ -4522,7 +4030,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -4532,7 +4039,6 @@ "string_decoder": { "version": "1.0.1", "bundled": true, - "dev": true, "requires": { "safe-buffer": "5.0.1" } @@ -4540,13 +4046,11 @@ "stringstream": { "version": "0.0.5", "bundled": true, - "dev": true, "optional": true }, "strip-ansi": { "version": "3.0.1", "bundled": true, - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -4554,13 +4058,11 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "tar": { "version": "2.2.1", "bundled": true, - "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -4570,7 +4072,6 @@ "tar-pack": { "version": "3.4.0", "bundled": true, - "dev": true, "optional": true, "requires": { "debug": "2.6.8", @@ -4586,7 +4087,6 @@ "tough-cookie": { "version": "2.3.2", "bundled": true, - "dev": true, "optional": true, "requires": { "punycode": "1.4.1" @@ -4595,7 +4095,6 @@ "tunnel-agent": { "version": "0.6.0", "bundled": true, - "dev": true, "optional": true, "requires": { "safe-buffer": "5.0.1" @@ -4604,30 +4103,25 @@ "tweetnacl": { "version": "0.14.5", "bundled": true, - "dev": true, "optional": true }, "uid-number": { "version": "0.0.6", "bundled": true, - "dev": true, "optional": true }, "util-deprecate": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true }, "uuid": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true }, "verror": { "version": "1.3.6", "bundled": true, - "dev": true, "optional": true, "requires": { "extsprintf": "1.0.2" @@ -4636,7 +4130,6 @@ "wide-align": { "version": "1.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { "string-width": "1.0.2" @@ -4644,8 +4137,7 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true } } }, @@ -4653,7 +4145,6 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -4664,14 +4155,12 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, "requires": { "aproba": "1.2.0", "console-control-strings": "1.1.0", @@ -4687,7 +4176,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", - "dev": true, "requires": { "globule": "1.2.0" } @@ -4695,14 +4183,12 @@ "generate-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" }, "generate-object-property": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, "requires": { "is-property": "1.0.2" } @@ -4710,14 +4196,12 @@ "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" }, "get-proxy": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=", - "dev": true, "requires": { "rc": "1.2.2" } @@ -4725,20 +4209,17 @@ "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "1.0.0" }, @@ -4746,8 +4227,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, @@ -4755,7 +4235,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz", "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=", - "dev": true, "requires": { "bin-build": "2.2.0", "bin-wrapper": "3.0.2", @@ -4766,7 +4245,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -4780,7 +4258,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, "requires": { "glob-parent": "2.0.0", "is-glob": "2.0.1" @@ -4790,7 +4267,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, "requires": { "is-glob": "2.0.1" } @@ -4799,7 +4275,6 @@ "version": "5.3.5", "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", - "dev": true, "requires": { "extend": "3.0.1", "glob": "5.0.15", @@ -4815,7 +4290,6 @@ "version": "5.0.15", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, "requires": { "inflight": "1.0.6", "inherits": "2.0.3", @@ -4828,7 +4302,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, "requires": { "is-glob": "3.1.0", "path-dirname": "1.0.2" @@ -4837,14 +4310,12 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, "requires": { "is-extglob": "2.1.1" } @@ -4854,14 +4325,12 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, "requires": { "array-union": "1.0.2", "glob": "7.1.2", @@ -4873,8 +4342,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -4882,7 +4350,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/globs/-/globs-0.1.3.tgz", "integrity": "sha1-ZwA3ElKHy2VJqtlqRM+mhP18VQI=", - "dev": true, "requires": { "glob": "7.1.2" } @@ -4891,7 +4358,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", - "dev": true, "requires": { "glob": "7.1.2", "lodash": "4.17.4", @@ -4902,7 +4368,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", - "dev": true, "requires": { "sparkles": "1.0.0" } @@ -4911,7 +4376,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", - "dev": true, "requires": { "create-error-class": "3.0.2", "duplexer2": "0.1.4", @@ -4933,26 +4397,22 @@ "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, "graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, "gulp-decompress": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz", "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=", - "dev": true, "requires": { "archive-type": "3.2.0", "decompress": "3.0.0", @@ -4963,14 +4423,12 @@ "gulp-rename": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", - "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", - "dev": true + "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=" }, "gulp-sourcemaps": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", - "dev": true, "requires": { "convert-source-map": "1.5.1", "graceful-fs": "4.1.11", @@ -4983,7 +4441,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, "requires": { "readable-stream": "2.3.3", "xtend": "4.0.1" @@ -4995,7 +4452,6 @@ "version": "3.0.8", "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "dev": true, "requires": { "array-differ": "1.0.0", "array-uniq": "1.0.3", @@ -5020,14 +4476,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -5039,32 +4493,27 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "object-assign": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" }, "replace-ext": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, "requires": { "readable-stream": "2.3.3", "xtend": "4.0.1" @@ -5074,7 +4523,6 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "dev": true, "requires": { "clone": "1.0.3", "clone-stats": "0.0.1", @@ -5087,7 +4535,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true, "requires": { "glogg": "1.0.0" } @@ -5095,14 +4542,12 @@ "handle-thing": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", - "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", - "dev": true + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=" }, "har-validator": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "dev": true, "requires": { "chalk": "1.1.3", "commander": "2.12.2", @@ -5113,14 +4558,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -5132,8 +4575,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, @@ -5141,7 +4583,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true, "requires": { "function-bind": "1.1.1" } @@ -5150,7 +4591,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -5158,14 +4598,12 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "has-gulplog": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "dev": true, "requires": { "sparkles": "1.0.0" } @@ -5173,14 +4611,12 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "hash-base": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", - "dev": true, "requires": { "inherits": "2.0.3" } @@ -5188,14 +4624,12 @@ "hash-sum": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=" }, "hash.js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" @@ -5205,7 +4639,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, "requires": { "boom": "2.10.1", "cryptiles": "2.0.5", @@ -5216,14 +4649,12 @@ "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, "requires": { "hash.js": "1.1.3", "minimalistic-assert": "1.0.0", @@ -5233,14 +4664,12 @@ "hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, "requires": { "os-homedir": "1.0.2", "os-tmpdir": "1.0.2" @@ -5249,14 +4678,12 @@ "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", - "dev": true + "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=" }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, "requires": { "inherits": "2.0.3", "obuf": "1.1.1", @@ -5267,20 +4694,17 @@ "html-comment-regex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", - "dev": true + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=" }, "html-entities": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" }, "html-loader": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.4.5.tgz", "integrity": "sha1-X7zYfNY6XEmn/OL+VvQl4Fcpxow=", - "dev": true, "requires": { "es6-templates": "0.2.3", "fastparse": "1.1.1", @@ -5293,7 +4717,6 @@ "version": "3.5.7", "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.7.tgz", "integrity": "sha512-GISXn6oKDo7+gVpKOgZJTbHMCUI2TSGfpg/8jgencWhWJsvEmsvp3M8emX7QocsXsYznWloLib3OeSfeyb/ewg==", - "dev": true, "requires": { "camel-case": "3.0.0", "clean-css": "4.1.9", @@ -5309,7 +4732,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.2.1.tgz", "integrity": "sha512-BhZTJPmOKPSUcjnx2nlfaOQKHLyjjT4HFyzFWF1BUErx9knJNpdW94ql5o8qVxeNL+8IAWjEjnPvASH2yZnkMg==", - "dev": true, "requires": { "commander": "2.12.2", "source-map": "0.6.1" @@ -5320,14 +4742,12 @@ "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" }, "http-errors": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, "requires": { "depd": "1.1.1", "inherits": "2.0.3", @@ -5338,22 +4758,19 @@ "setprototypeof": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" } } }, "http-parser-js": { "version": "0.4.9", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", - "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=", - "dev": true + "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=" }, "http-proxy": { "version": "1.16.2", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", - "dev": true, "requires": { "eventemitter3": "1.2.0", "requires-port": "1.0.0" @@ -5363,7 +4780,6 @@ "version": "0.17.4", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", - "dev": true, "requires": { "http-proxy": "1.16.2", "is-glob": "3.1.0", @@ -5374,14 +4790,12 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, "requires": { "is-extglob": "2.1.1" } @@ -5392,7 +4806,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, "requires": { "assert-plus": "0.2.0", "jsprim": "1.4.1", @@ -5402,26 +4815,27 @@ "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "icheck": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/icheck/-/icheck-1.0.2.tgz", + "integrity": "sha1-BtCNo9R65EjBU7Jjm4bprX/fcSg=" }, "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, "icss-replace-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" }, "icss-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, "requires": { "postcss": "6.0.14" } @@ -5429,20 +4843,17 @@ "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", - "dev": true + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "imagemin": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz", "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=", - "dev": true, "requires": { "file-type": "4.4.0", "globby": "6.1.0", @@ -5455,8 +4866,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -5464,7 +4874,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz", "integrity": "sha512-K01m5QuPK+0en8oVhiOOAicF7KjrHlCZxS++mfLI2mV/Ksfq/Y9nCXCWDz6jRv13wwlqe5T7hXT+ji2DnLc2yQ==", - "dev": true, "requires": { "exec-buffer": "3.2.0", "gifsicle": "3.0.4", @@ -5475,7 +4884,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-6.0.0.tgz", "integrity": "sha1-caMqRXqhsmEXpo7u8tmxkMLlCR4=", - "dev": true, "requires": { "exec-buffer": "3.2.0", "is-jpg": "1.0.0", @@ -5486,7 +4894,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", "integrity": "sha1-0i2kEsCfX/AKQzmWC5ioix2+hpU=", - "dev": true, "requires": { "exec-buffer": "3.2.0", "is-png": "1.1.0", @@ -5497,7 +4904,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-5.0.1.tgz", "integrity": "sha1-2KMp2lU6+iJrEc5i3r4Lfje0OeY=", - "dev": true, "requires": { "exec-buffer": "3.2.0", "is-png": "1.1.0", @@ -5508,7 +4914,6 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-5.2.4.tgz", "integrity": "sha512-1bNZdlWVKdfxzu0xDD1pWjwK/G8FLcztUh/GWaI7xLgCFrn0j35o+uBbY7VcdY2AmKgiLYTXhrzrbkQk6xj8aA==", - "dev": true, "requires": { "is-svg": "2.1.0", "svgo": "0.7.2" @@ -5518,7 +4923,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-2.0.0.tgz", "integrity": "sha1-WDdAs+KjiuulQ1x91TC+nOdFT9k=", - "dev": true, "requires": { "imagemin": "5.3.1", "imagemin-gifsicle": "5.2.0", @@ -5533,7 +4937,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", - "dev": true, "requires": { "pkg-dir": "2.0.0", "resolve-cwd": "2.0.0" @@ -5542,20 +4945,17 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "in-publish": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", - "dev": true + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, "requires": { "repeating": "2.0.1" } @@ -5563,20 +4963,17 @@ "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -5585,20 +4982,17 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "internal-ip": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "dev": true, "requires": { "meow": "3.7.0" } @@ -5606,14 +5000,12 @@ "interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" }, "invariant": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true, "requires": { "loose-envify": "1.3.1" } @@ -5621,32 +5013,27 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "ip-regex": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", - "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", - "dev": true + "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=" }, "ipaddr.js": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", - "dev": true + "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" }, "is-absolute": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", - "dev": true, "requires": { "is-relative": "0.1.3" } @@ -5654,20 +5041,17 @@ "is-absolute-url": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, "requires": { "binary-extensions": "1.11.0" } @@ -5675,14 +5059,12 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, "requires": { "builtin-modules": "1.1.1" } @@ -5690,38 +5072,32 @@ "is-bzip2": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", - "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=", - "dev": true + "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=" }, "is-callable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", - "dev": true + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" }, "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" }, "is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, "requires": { "is-primitive": "2.0.0" } @@ -5729,20 +5105,17 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" }, "is-finite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -5751,7 +5124,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -5759,14 +5131,12 @@ "is-gif": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz", - "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=", - "dev": true + "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=" }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, "requires": { "is-extglob": "1.0.0" } @@ -5774,20 +5144,17 @@ "is-gzip": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", - "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=", - "dev": true + "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=" }, "is-jpg": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.0.tgz", - "integrity": "sha1-KVnBfnNDDbOCZNp1uQ3VTy2G2hw=", - "dev": true + "integrity": "sha1-KVnBfnNDDbOCZNp1uQ3VTy2G2hw=" }, "is-my-json-valid": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", - "dev": true, "requires": { "generate-function": "2.0.0", "generate-object-property": "1.2.0", @@ -5798,14 +5165,12 @@ "is-natural-number": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", - "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=", - "dev": true + "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=" }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, "requires": { "kind-of": "3.2.2" } @@ -5813,20 +5178,17 @@ "is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" }, "is-path-in-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true, "requires": { "is-path-inside": "1.0.1" } @@ -5835,7 +5197,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, "requires": { "path-is-inside": "1.0.2" } @@ -5843,14 +5204,12 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, "requires": { "isobject": "3.0.1" }, @@ -5858,46 +5217,39 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, "is-png": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", - "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=", - "dev": true + "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=" }, "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" }, "is-primitive": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" }, "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", - "dev": true + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" }, "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, "requires": { "has": "1.0.1" } @@ -5905,26 +5257,22 @@ "is-relative": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", - "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", - "dev": true + "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=" }, "is-retry-allowed": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-svg": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, "requires": { "html-comment-regex": "1.1.1" } @@ -5932,74 +5280,62 @@ "is-symbol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" }, "is-tar": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", - "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=", - "dev": true + "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=" }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-url": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz", - "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=", - "dev": true + "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=" }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, "is-valid-glob": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", - "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", - "dev": true + "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=" }, "is-windows": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", - "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", - "dev": true + "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=" }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" }, "is-zip": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", - "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=", - "dev": true + "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=" }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "requires": { "isarray": "1.0.0" } @@ -6007,38 +5343,32 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jquery": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz", - "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=", - "dev": true + "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=" }, "jquery-mousewheel": { "version": "3.1.13", "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", - "integrity": "sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU=", - "dev": true + "integrity": "sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU=" }, "js-base64": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.0.tgz", - "integrity": "sha512-Wehd+7Pf9tFvGb+ydPm9TjYjV8X1YHOVyG8QyELZxEMqOhemVwGRmoG8iQ/soqI3n8v4xn59zaLxiCJiaaRzKA==", - "dev": true + "integrity": "sha512-Wehd+7Pf9tFvGb+ydPm9TjYjV8X1YHOVyG8QyELZxEMqOhemVwGRmoG8iQ/soqI3n8v4xn59zaLxiCJiaaRzKA==" }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, "requires": { "argparse": "1.0.9", "esprima": "2.7.3" @@ -6048,38 +5378,32 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, "optional": true }, "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" }, "json-loader": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", - "dev": true + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, "requires": { "jsonify": "0.0.0" } @@ -6087,26 +5411,22 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json3": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=" }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsonfile": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, "requires": { "graceful-fs": "4.1.11" } @@ -6114,20 +5434,17 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, "jsonpointer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -6138,22 +5455,19 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "killable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", - "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", - "dev": true + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=" }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "1.1.6" } @@ -6162,7 +5476,6 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-1.7.2.tgz", "integrity": "sha512-La1eAsCkEdySc9J9MJ/g8Dj1EfGo7aXW92GZKoSbrSg4uQWNNoV824e6+o4f4Eo/YWYrYwZTkdnWJJ1uVqP+dw==", - "dev": true, "requires": { "autoprefixer": "7.2.1", "babel-core": "6.26.0", @@ -6205,20 +5518,17 @@ "lazy-cache": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", - "dev": true + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" }, "lazy-req": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", - "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=", - "dev": true + "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=" }, "lazystream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, "requires": { "readable-stream": "2.3.3" } @@ -6227,7 +5537,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, "requires": { "invert-kv": "1.0.0" } @@ -6235,14 +5544,17 @@ "leaflet": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.2.0.tgz", - "integrity": "sha512-Bold8phAE6WcRsuwhofrQ7cOK1REFHaYIkKuj7+TBYK3ONKRpGGIb5oXR5akYotFnrWN0TWKh6Svlhflm3dogg==", - "dev": true + "integrity": "sha512-Bold8phAE6WcRsuwhofrQ7cOK1REFHaYIkKuj7+TBYK3ONKRpGGIb5oXR5akYotFnrWN0TWKh6Svlhflm3dogg==" + }, + "leaflet-rotatedmarker": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/leaflet-rotatedmarker/-/leaflet-rotatedmarker-0.2.0.tgz", + "integrity": "sha1-RGf0n5jRv9VpWb2cZwUgPdJgEnc=" }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -6254,22 +5566,19 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, "loader-runner": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", - "dev": true + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" }, "loader-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, "requires": { "big.js": "3.2.0", "emojis-list": "2.1.0", @@ -6280,7 +5589,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "requires": { "p-locate": "2.0.0", "path-exists": "3.0.0" @@ -6289,26 +5597,22 @@ "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" }, "lodash._arraycopy": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", - "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=", - "dev": true + "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=" }, "lodash._arrayeach": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", - "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=", - "dev": true + "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=" }, "lodash._baseassign": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true, "requires": { "lodash._basecopy": "3.0.1", "lodash.keys": "3.1.2" @@ -6318,7 +5622,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", - "dev": true, "requires": { "lodash._arraycopy": "3.0.0", "lodash._arrayeach": "3.0.0", @@ -6331,38 +5634,32 @@ "lodash._basecopy": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" }, "lodash._basefor": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", - "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", - "dev": true + "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=" }, "lodash._basetostring": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", - "dev": true + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" }, "lodash._basevalues": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", - "dev": true + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" }, "lodash._bindcallback": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", - "dev": true + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" }, "lodash._createassigner": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", - "dev": true, "requires": { "lodash._bindcallback": "3.0.1", "lodash._isiterateecall": "3.0.9", @@ -6372,68 +5669,57 @@ "lodash._getnative": { "version": "3.9.1", "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" }, "lodash._isiterateecall": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" }, "lodash._reescape": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", - "dev": true + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" }, "lodash._reevaluate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", - "dev": true + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" }, "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" }, "lodash._root": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", - "dev": true + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" }, "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" }, "lodash.escape": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "dev": true, "requires": { "lodash._root": "3.0.1" } @@ -6441,26 +5727,22 @@ "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" }, "lodash.isarray": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" }, "lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, "requires": { "lodash._getnative": "3.9.1", "lodash.isarguments": "3.1.0", @@ -6470,32 +5752,27 @@ "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, "lodash.mergewith": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", - "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", - "dev": true + "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=" }, "lodash.restparam": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", - "dev": true + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" }, "lodash.tail": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=" }, "lodash.template": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, "requires": { "lodash._basecopy": "3.0.1", "lodash._basetostring": "3.0.1", @@ -6512,7 +5789,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, "requires": { "lodash._reinterpolate": "3.0.0", "lodash.escape": "3.2.0" @@ -6521,20 +5797,17 @@ "lodash.toarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", - "dev": true + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "logalot": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", - "dev": true, "requires": { "figures": "1.7.0", "squeak": "1.3.0" @@ -6543,20 +5816,17 @@ "loglevel": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.0.tgz", - "integrity": "sha1-rgyqVhERSYxboTcj1vtjHSQAOTQ=", - "dev": true + "integrity": "sha1-rgyqVhERSYxboTcj1vtjHSQAOTQ=" }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" }, "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, "requires": { "js-tokens": "3.0.2" } @@ -6565,7 +5835,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, "requires": { "currently-unhandled": "0.4.1", "signal-exit": "3.0.2" @@ -6574,20 +5843,17 @@ "lower-case": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" }, "lowercase-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" }, "lpad-align": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", - "dev": true, "requires": { "get-stdin": "4.0.1", "indent-string": "2.1.0", @@ -6599,7 +5865,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" @@ -6608,14 +5873,12 @@ "macaddress": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", - "dev": true + "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=" }, "make-dir": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", - "dev": true, "requires": { "pify": "3.0.0" } @@ -6623,20 +5886,17 @@ "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "marked": { "version": "0.3.7", "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.7.tgz", - "integrity": "sha512-zBEP4qO1YQp5aXHt8S5wTiOv9i2X74V/LQL0zhUNvVaklt6Ywa6lChxIvS+ibYlCGgADwKwZFhjC3+XfpsvQvQ==", - "dev": true + "integrity": "sha512-zBEP4qO1YQp5aXHt8S5wTiOv9i2X74V/LQL0zhUNvVaklt6Ywa6lChxIvS+ibYlCGgADwKwZFhjC3+XfpsvQvQ==" }, "marked-terminal": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz", "integrity": "sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ=", - "dev": true, "requires": { "cardinal": "1.0.0", "chalk": "1.1.3", @@ -6648,14 +5908,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -6667,22 +5925,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "math-expression-evaluator": { "version": "1.2.17", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", - "dev": true + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=" }, "md5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "dev": true, "requires": { "charenc": "0.0.2", "crypt": "0.0.2", @@ -6693,7 +5948,6 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", - "dev": true, "requires": { "hash-base": "3.0.4", "inherits": "2.0.3" @@ -6703,7 +5957,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -6714,14 +5967,12 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, "requires": { "mimic-fn": "1.1.0" } @@ -6730,7 +5981,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, "requires": { "errno": "0.1.4", "readable-stream": "2.3.3" @@ -6740,7 +5990,6 @@ "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, "requires": { "camelcase-keys": "2.1.0", "decamelize": "1.2.0", @@ -6757,22 +6006,19 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, "merge-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, "requires": { "readable-stream": "2.3.3" } @@ -6780,14 +6026,12 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, "requires": { "arr-diff": "2.0.0", "array-unique": "0.2.1", @@ -6808,7 +6052,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" @@ -6817,20 +6060,17 @@ "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "dev": true + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" }, "mime-db": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", - "dev": true + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" }, "mime-types": { "version": "2.1.17", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, "requires": { "mime-db": "1.30.0" } @@ -6838,26 +6078,22 @@ "mimic-fn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", - "dev": true + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" }, "minimalistic-assert": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", - "dev": true + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "1.1.8" } @@ -6865,14 +6101,12 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mississippi": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz", "integrity": "sha1-0gFYPrEjJ+PFwWQqQEqcrPlONPU=", - "dev": true, "requires": { "concat-stream": "1.6.0", "duplexify": "3.5.1", @@ -6890,7 +6124,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, "requires": { "readable-stream": "2.3.3", "xtend": "4.0.1" @@ -6902,7 +6135,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, "requires": { "for-in": "0.1.8", "is-extendable": "0.1.1" @@ -6911,8 +6143,7 @@ "for-in": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" } } }, @@ -6920,7 +6151,6 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } @@ -6929,7 +6159,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, "requires": { "aproba": "1.2.0", "copy-concurrently": "1.0.5", @@ -6943,7 +6172,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-4.1.1.tgz", "integrity": "sha1-hZAwsk9omlPbm0DwFg2JGVuI/VA=", - "dev": true, "requires": { "bin-build": "2.2.0", "bin-wrapper": "3.0.2", @@ -6953,14 +6181,12 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multicast-dns": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.1.tgz", "integrity": "sha512-uV3/ckdsffHx9IrGQrx613mturMdMqQ06WTq+C09NsStJ9iNG6RcUWgPKs1Rfjy+idZT6tfQoXEusGNnEZhT3w==", - "dev": true, "requires": { "dns-packet": "1.2.2", "thunky": "0.1.0" @@ -6969,14 +6195,12 @@ "multicast-dns-service-types": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, "multipipe": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "dev": true, "requires": { "duplexer2": "0.0.2" }, @@ -6985,7 +6209,6 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, "requires": { "readable-stream": "1.1.14" } @@ -6993,14 +6216,12 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -7011,22 +6232,19 @@ "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, "nan": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "dev": true + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=" }, "ncname": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", - "dev": true, "requires": { "xml-char-classes": "1.0.0" } @@ -7034,14 +6252,12 @@ "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, "requires": { "lower-case": "1.1.4" } @@ -7050,7 +6266,6 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", "integrity": "sha1-buxr+wdCHiFIx1xrunJCH4UwqCY=", - "dev": true, "requires": { "lodash.toarray": "4.4.0" } @@ -7058,14 +6273,12 @@ "node-forge": { "version": "0.6.33", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.33.tgz", - "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=", - "dev": true + "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=" }, "node-gyp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", - "dev": true, "requires": { "fstream": "1.0.11", "glob": "7.1.2", @@ -7085,8 +6298,7 @@ "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" } } }, @@ -7094,7 +6306,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", - "dev": true, "requires": { "assert": "1.4.1", "browserify-zlib": "0.2.0", @@ -7125,7 +6336,6 @@ "version": "4.6.1", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz", "integrity": "sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M=", - "dev": true, "requires": { "cli-usage": "0.1.4", "growly": "1.3.0", @@ -7140,7 +6350,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz", "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=", - "dev": true, "requires": { "lodash._baseclone": "3.3.0", "lodash._bindcallback": "3.0.1" @@ -7149,8 +6358,7 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, @@ -7158,7 +6366,6 @@ "version": "4.7.2", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz", "integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==", - "dev": true, "requires": { "async-foreach": "0.1.3", "chalk": "1.1.3", @@ -7184,14 +6391,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -7204,7 +6409,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, "requires": { "lru-cache": "4.1.1", "which": "1.3.0" @@ -7213,22 +6417,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "node-status-codes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", - "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=", - "dev": true + "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=" }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, "requires": { "abbrev": "1.1.1" } @@ -7237,7 +6438,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", - "dev": true, "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", @@ -7249,7 +6449,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, "requires": { "remove-trailing-separator": "1.1.0" } @@ -7257,14 +6456,12 @@ "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, "requires": { "object-assign": "4.1.1", "prepend-http": "1.0.4", @@ -7276,7 +6473,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, "requires": { "path-key": "2.0.1" } @@ -7285,7 +6481,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", - "dev": true, "requires": { "are-we-there-yet": "1.1.4", "console-control-strings": "1.1.0", @@ -7296,44 +6491,37 @@ "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" }, "object-path": { "version": "0.9.2", "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", - "dev": true + "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=" }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, "requires": { "for-own": "0.1.5", "is-extendable": "0.1.1" @@ -7342,14 +6530,12 @@ "obuf": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz", - "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=", - "dev": true + "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=" }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, "requires": { "ee-first": "1.1.1" } @@ -7357,14 +6543,12 @@ "on-headers": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", - "dev": true + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1.0.2" } @@ -7372,14 +6556,12 @@ "onetime": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" }, "opn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", - "dev": true, "requires": { "is-wsl": "1.1.0" } @@ -7388,7 +6570,6 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz", "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=", - "dev": true, "requires": { "bin-build": "2.2.0", "bin-wrapper": "3.0.2", @@ -7399,7 +6580,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", - "dev": true, "requires": { "is-stream": "1.1.0", "readable-stream": "2.3.3" @@ -7409,7 +6589,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", - "dev": true, "requires": { "url-parse": "1.0.5" }, @@ -7418,7 +6597,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", - "dev": true, "requires": { "querystringify": "0.0.4", "requires-port": "1.0.0" @@ -7429,26 +6607,22 @@ "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, "os-filter-obj": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz", - "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=", - "dev": true + "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=" }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, "requires": { "lcid": "1.0.0" } @@ -7456,14 +6630,12 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "dev": true, "requires": { "os-homedir": "1.0.2", "os-tmpdir": "1.0.2" @@ -7472,20 +6644,17 @@ "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-limit": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=" }, "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "requires": { "p-limit": "1.1.0" } @@ -7493,26 +6662,22 @@ "p-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" }, "p-pipe": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", - "dev": true + "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=" }, "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", - "dev": true + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" }, "parallel-transform": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", - "dev": true, "requires": { "cyclist": "0.2.2", "inherits": "2.0.3", @@ -7523,7 +6688,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, "requires": { "no-case": "2.3.2" } @@ -7532,7 +6696,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", - "dev": true, "requires": { "asn1.js": "4.9.2", "browserify-aes": "1.1.1", @@ -7545,7 +6708,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, "requires": { "glob-base": "0.3.0", "is-dotfile": "1.0.3", @@ -7557,7 +6719,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, "requires": { "error-ex": "1.3.1" } @@ -7565,62 +6726,52 @@ "parseurl": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", - "dev": true + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, "path-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "dev": true + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "pify": "2.3.0", @@ -7630,8 +6781,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -7639,7 +6789,6 @@ "version": "3.0.14", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", - "dev": true, "requires": { "create-hash": "1.1.3", "create-hmac": "1.1.6", @@ -7651,26 +6800,22 @@ "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, "requires": { "pinkie": "2.0.4" } @@ -7684,7 +6829,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, "requires": { "find-up": "2.1.0" } @@ -7693,7 +6837,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-3.1.1.tgz", "integrity": "sha1-0STZinWpSH9AwWQLTb/Lsr1aH9E=", - "dev": true, "requires": { "bin-build": "2.2.0", "bin-wrapper": "3.0.2", @@ -7703,14 +6846,12 @@ "popper.js": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.13.0.tgz", - "integrity": "sha1-4ef/ZcxD98+c8W8VEKdegfhPRWU=", - "dev": true + "integrity": "sha1-4ef/ZcxD98+c8W8VEKdegfhPRWU=" }, "portfinder": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", - "dev": true, "requires": { "async": "1.5.2", "debug": "2.6.9", @@ -7720,14 +6861,12 @@ "async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -7738,7 +6877,6 @@ "version": "6.0.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", - "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -7749,7 +6887,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, "requires": { "postcss": "5.2.18", "postcss-message-helpers": "2.0.0", @@ -7759,14 +6896,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -7778,22 +6913,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -7804,14 +6936,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -7822,7 +6952,6 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, "requires": { "colormin": "1.1.2", "postcss": "5.2.18", @@ -7832,14 +6961,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -7851,22 +6978,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -7877,14 +7001,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -7895,7 +7017,6 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, "requires": { "postcss": "5.2.18", "postcss-value-parser": "3.3.0" @@ -7904,14 +7025,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -7923,22 +7042,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -7949,14 +7065,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -7967,7 +7081,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, "requires": { "postcss": "5.2.18" }, @@ -7975,14 +7088,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -7994,22 +7105,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8020,14 +7128,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8038,7 +7144,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, "requires": { "postcss": "5.2.18" }, @@ -8046,14 +7151,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8065,22 +7168,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8091,14 +7191,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8109,7 +7207,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, "requires": { "postcss": "5.2.18" }, @@ -8117,14 +7214,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8136,22 +7231,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8162,14 +7254,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8180,7 +7270,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, "requires": { "postcss": "5.2.18" }, @@ -8188,14 +7277,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8207,22 +7294,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8233,14 +7317,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8251,7 +7333,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, "requires": { "postcss": "5.2.18", "uniqs": "2.0.0" @@ -8260,14 +7341,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8279,22 +7358,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8305,14 +7381,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8323,7 +7397,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", - "dev": true, "requires": { "postcss": "5.2.18", "uniqid": "4.1.1" @@ -8332,14 +7405,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8351,22 +7422,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8377,14 +7445,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8395,7 +7461,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", - "dev": true, "requires": { "cosmiconfig": "2.2.2", "object-assign": "4.1.1", @@ -8407,7 +7472,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", - "dev": true, "requires": { "cosmiconfig": "2.2.2", "object-assign": "4.1.1" @@ -8417,7 +7481,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", - "dev": true, "requires": { "cosmiconfig": "2.2.2", "object-assign": "4.1.1" @@ -8427,7 +7490,6 @@ "version": "2.0.9", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.9.tgz", "integrity": "sha512-sgoXPtmgVT3aBAhU47Kig8oPF+mbXl8Unjvtz1Qj1q2D2EvSVJW2mKJNzxv5y/LvA9xWwuvdysvhc7Zn80UWWw==", - "dev": true, "requires": { "loader-utils": "1.1.0", "postcss": "6.0.14", @@ -8439,7 +7501,6 @@ "version": "2.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, "requires": { "has": "1.0.1", "postcss": "5.2.18", @@ -8449,14 +7510,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8468,22 +7527,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8494,14 +7550,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8512,7 +7566,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, "requires": { "postcss": "5.2.18" }, @@ -8520,14 +7573,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8539,22 +7590,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8565,14 +7613,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8583,7 +7629,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, "requires": { "browserslist": "1.7.7", "caniuse-api": "1.6.1", @@ -8595,14 +7640,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "browserslist": { "version": "1.7.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, "requires": { "caniuse-db": "1.0.30000780", "electron-to-chromium": "1.3.28" @@ -8612,7 +7655,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8624,22 +7666,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8650,14 +7689,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8667,14 +7704,12 @@ "postcss-message-helpers": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=" }, "postcss-minify-font-values": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, "requires": { "object-assign": "4.1.1", "postcss": "5.2.18", @@ -8684,14 +7719,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8703,22 +7736,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8729,14 +7759,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8747,7 +7775,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, "requires": { "postcss": "5.2.18", "postcss-value-parser": "3.3.0" @@ -8756,14 +7783,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8775,22 +7800,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8801,14 +7823,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8819,7 +7839,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, "requires": { "alphanum-sort": "1.0.2", "postcss": "5.2.18", @@ -8830,14 +7849,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8849,22 +7866,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8875,14 +7889,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8893,7 +7905,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, "requires": { "alphanum-sort": "1.0.2", "has": "1.0.1", @@ -8904,14 +7915,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8923,22 +7932,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8949,14 +7955,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -8967,7 +7971,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", - "dev": true, "requires": { "postcss": "6.0.14" } @@ -8976,7 +7979,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, "requires": { "css-selector-tokenizer": "0.7.0", "postcss": "6.0.14" @@ -8986,7 +7988,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, "requires": { "css-selector-tokenizer": "0.7.0", "postcss": "6.0.14" @@ -8996,7 +7997,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, "requires": { "icss-replace-symbols": "1.1.0", "postcss": "6.0.14" @@ -9006,7 +8006,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, "requires": { "postcss": "5.2.18" }, @@ -9014,14 +8013,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9033,22 +8030,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9059,14 +8053,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9077,7 +8069,6 @@ "version": "3.0.8", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, "requires": { "is-absolute-url": "2.1.0", "normalize-url": "1.9.1", @@ -9088,14 +8079,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9107,22 +8096,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9133,14 +8119,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9151,7 +8135,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, "requires": { "postcss": "5.2.18", "postcss-value-parser": "3.3.0" @@ -9160,14 +8143,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9179,22 +8160,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9205,14 +8183,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9223,7 +8199,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, "requires": { "postcss": "5.2.18", "postcss-value-parser": "3.3.0" @@ -9232,14 +8207,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9251,22 +8224,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9277,14 +8247,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9295,7 +8263,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, "requires": { "postcss": "5.2.18" }, @@ -9303,14 +8270,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9322,22 +8287,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9348,14 +8310,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9366,7 +8326,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, "requires": { "has": "1.0.1", "postcss": "5.2.18", @@ -9376,14 +8335,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9395,22 +8352,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9421,14 +8375,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9439,7 +8391,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, "requires": { "flatten": "1.0.2", "indexes-of": "1.0.1", @@ -9450,7 +8401,6 @@ "version": "2.1.6", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, "requires": { "is-svg": "2.1.0", "postcss": "5.2.18", @@ -9461,14 +8411,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9480,22 +8428,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9506,14 +8451,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9524,7 +8467,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, "requires": { "alphanum-sort": "1.0.2", "postcss": "5.2.18", @@ -9534,14 +8476,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9553,22 +8493,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9579,14 +8516,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9596,14 +8531,12 @@ "postcss-value-parser": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", - "dev": true + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" }, "postcss-zindex": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, "requires": { "has": "1.0.1", "postcss": "5.2.18", @@ -9613,14 +8546,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -9632,22 +8563,19 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -9658,14 +8586,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, "requires": { "has-flag": "1.0.0" } @@ -9675,50 +8601,42 @@ "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" }, "prettier": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.9.1.tgz", - "integrity": "sha512-oYpQsZk7/0o8+YJUB0LfjkTYQa79gUIF2ESeqvG23IzcgqqvmeOE4+lMG7E/UKX3q3RIj8JHSfhrXWhon1L+zA==", - "dev": true + "integrity": "sha512-oYpQsZk7/0o8+YJUB0LfjkTYQa79gUIF2ESeqvG23IzcgqqvmeOE4+lMG7E/UKX3q3RIj8JHSfhrXWhon1L+zA==" }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "proxy-addr": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", - "dev": true, "requires": { "forwarded": "0.1.2", "ipaddr.js": "1.5.2" @@ -9727,20 +8645,17 @@ "prr": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", - "dev": true + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=" }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "public-encrypt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", - "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", @@ -9753,7 +8668,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "dev": true, "requires": { "end-of-stream": "1.4.0", "once": "1.4.0" @@ -9763,7 +8677,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz", "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=", - "dev": true, "requires": { "duplexify": "3.5.1", "inherits": "2.0.3", @@ -9773,26 +8686,22 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, "qs": { "version": "6.3.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", - "dev": true + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=" }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, "requires": { "object-assign": "4.1.1", "strict-uri-encode": "1.1.0" @@ -9801,26 +8710,22 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "querystringify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", - "dev": true + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=" }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", - "dev": true, "requires": { "is-number": "3.0.0", "kind-of": "4.0.0" @@ -9830,7 +8735,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { "kind-of": "3.2.2" }, @@ -9839,7 +8743,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "1.1.6" } @@ -9850,7 +8753,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "requires": { "is-buffer": "1.1.6" } @@ -9861,7 +8763,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", - "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -9870,7 +8771,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", - "dev": true, "requires": { "randombytes": "2.0.5", "safe-buffer": "5.1.1" @@ -9879,14 +8779,12 @@ "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" }, "raw-body": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "dev": true, "requires": { "bytes": "3.0.0", "http-errors": "1.6.2", @@ -9898,7 +8796,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", - "dev": true, "requires": { "deep-extend": "0.4.2", "ini": "1.3.5", @@ -9909,8 +8806,7 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, @@ -9918,7 +8814,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "dev": true, "requires": { "pinkie-promise": "2.0.1", "readable-stream": "2.3.3" @@ -9928,7 +8823,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, "requires": { "load-json-file": "1.1.0", "normalize-package-data": "2.4.0", @@ -9939,7 +8833,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, "requires": { "find-up": "1.1.2", "read-pkg": "1.1.0" @@ -9949,7 +8842,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, "requires": { "path-exists": "2.1.0", "pinkie-promise": "2.0.1" @@ -9959,7 +8851,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, "requires": { "pinkie-promise": "2.0.1" } @@ -9970,7 +8861,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -9985,7 +8875,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "minimatch": "3.0.4", @@ -9997,7 +8886,6 @@ "version": "0.11.23", "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "dev": true, "requires": { "ast-types": "0.9.6", "esprima": "3.1.3", @@ -10008,14 +8896,12 @@ "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -10023,7 +8909,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, "requires": { "indent-string": "2.1.0", "strip-indent": "1.0.1" @@ -10033,7 +8918,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz", "integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=", - "dev": true, "requires": { "esprima": "3.0.0" }, @@ -10041,8 +8925,7 @@ "esprima": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz", - "integrity": "sha1-U88kes2ncxPlUcOqLnM0LT+099k=", - "dev": true + "integrity": "sha1-U88kes2ncxPlUcOqLnM0LT+099k=" } } }, @@ -10050,7 +8933,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, "requires": { "balanced-match": "0.4.2", "math-expression-evaluator": "1.2.17", @@ -10060,8 +8942,7 @@ "balanced-match": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" } } }, @@ -10069,7 +8950,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", - "dev": true, "requires": { "balanced-match": "0.4.2" }, @@ -10077,28 +8957,24 @@ "balanced-match": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" } } }, "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", - "dev": true + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "regenerator-transform": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", @@ -10109,7 +8985,6 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, "requires": { "is-equal-shallow": "0.1.3" } @@ -10117,14 +8992,12 @@ "regex-parser": { "version": "2.2.8", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.8.tgz", - "integrity": "sha1-2kwM2lqChVkJQWiTD0VfUytv+6w=", - "dev": true + "integrity": "sha1-2kwM2lqChVkJQWiTD0VfUytv+6w=" }, "regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, "requires": { "regenerate": "1.3.3", "regjsgen": "0.2.0", @@ -10134,14 +9007,12 @@ "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" }, "regjsparser": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, "requires": { "jsesc": "0.5.0" }, @@ -10149,40 +9020,34 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } }, "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, "requires": { "is-finite": "1.0.2" } @@ -10190,14 +9055,12 @@ "replace-ext": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" }, "request": { "version": "2.79.0", "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "dev": true, "requires": { "aws-sign2": "0.6.0", "aws4": "1.6.0", @@ -10224,32 +9087,27 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-from-string": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "resolve": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", - "dev": true, "requires": { "path-parse": "1.0.5" } @@ -10258,7 +9116,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, "requires": { "resolve-from": "3.0.0" } @@ -10266,20 +9123,17 @@ "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "resolve-url-loader": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.2.0.tgz", "integrity": "sha512-ivEo27PgDKAm3Iwzh/ObwcDrKT2O25xWBIQX6HJVVfaxYWNNW6euPMmMFzpQUZo03+iv2TloBgffEk1ULnEPdg==", - "dev": true, "requires": { "adjust-sourcemap-loader": "1.1.0", "camelcase": "4.1.0", @@ -10295,14 +9149,12 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -10310,7 +9162,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "dev": true, "requires": { "convert-source-map": "0.3.5", "css": "2.2.1" @@ -10319,22 +9170,19 @@ "convert-source-map": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", - "dev": true + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" } } }, "rework-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", - "dev": true + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, "requires": { "align-text": "0.1.4" } @@ -10343,7 +9191,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, "requires": { "glob": "7.1.2" } @@ -10352,7 +9199,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", - "dev": true, "requires": { "hash-base": "2.0.2", "inherits": "2.0.3" @@ -10362,7 +9208,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, "requires": { "aproba": "1.2.0" } @@ -10370,14 +9215,12 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", - "dev": true + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", - "dev": true, "requires": { "glob": "7.1.2", "lodash": "4.17.4", @@ -10388,14 +9231,12 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, "requires": { "camelcase": "3.0.0", "cliui": "3.2.0", @@ -10418,7 +9259,6 @@ "version": "6.0.6", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz", "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==", - "dev": true, "requires": { "async": "2.6.0", "clone-deep": "0.3.0", @@ -10430,14 +9270,12 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "schema-utils": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, "requires": { "ajv": "5.5.1" } @@ -10446,7 +9284,6 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, "requires": { "js-base64": "2.4.0", "source-map": "0.4.4" @@ -10456,7 +9293,6 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, "requires": { "amdefine": "1.0.1" } @@ -10467,7 +9303,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "dev": true, "requires": { "commander": "2.8.1" }, @@ -10476,7 +9311,6 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, "requires": { "graceful-readlink": "1.0.1" } @@ -10486,14 +9320,12 @@ "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" }, "select2": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.5.tgz", "integrity": "sha1-eqxQaSVhmFs007guxV4ib4lg1Ao=", - "dev": true, "requires": { "almond": "0.3.3", "jquery-mousewheel": "3.1.13" @@ -10503,7 +9335,6 @@ "version": "1.10.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.1.tgz", "integrity": "sha1-v4y3uDJWxFUeMTR8YxF3jbme7FI=", - "dev": true, "requires": { "node-forge": "0.6.33" } @@ -10511,20 +9342,17 @@ "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "dev": true + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, "semver-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", - "dev": true + "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=" }, "semver-truncate": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "dev": true, "requires": { "semver": "5.4.1" } @@ -10533,7 +9361,6 @@ "version": "0.16.1", "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", - "dev": true, "requires": { "debug": "2.6.9", "depd": "1.1.1", @@ -10554,7 +9381,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -10565,7 +9391,6 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, "requires": { "accepts": "1.3.4", "batch": "0.6.1", @@ -10580,7 +9405,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -10591,7 +9415,6 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", - "dev": true, "requires": { "encodeurl": "1.0.1", "escape-html": "1.0.3", @@ -10602,32 +9425,27 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "sha.js": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", - "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -10637,7 +9455,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", - "dev": true, "requires": { "is-extendable": "0.1.1", "kind-of": "2.0.1", @@ -10649,7 +9466,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "dev": true, "requires": { "is-buffer": "1.1.6" } @@ -10660,7 +9476,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, "requires": { "shebang-regex": "1.0.0" } @@ -10668,32 +9483,27 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, "requires": { "hoek": "2.16.3" } @@ -10702,7 +9512,6 @@ "version": "0.3.18", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", - "dev": true, "requires": { "faye-websocket": "0.10.0", "uuid": "2.0.3" @@ -10711,8 +9520,7 @@ "uuid": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" } } }, @@ -10720,7 +9528,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", - "dev": true, "requires": { "debug": "2.6.9", "eventsource": "0.1.6", @@ -10734,7 +9541,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -10743,7 +9549,6 @@ "version": "0.11.1", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", - "dev": true, "requires": { "websocket-driver": "0.7.0" } @@ -10754,7 +9559,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, "requires": { "is-plain-obj": "1.1.0" } @@ -10762,20 +9566,17 @@ "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", - "dev": true + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-resolve": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz", "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=", - "dev": true, "requires": { "atob": "1.1.3", "resolve-url": "0.2.1", @@ -10787,7 +9588,6 @@ "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, "requires": { "source-map": "0.5.7" }, @@ -10795,28 +9595,24 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, "source-map-url": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", - "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=", - "dev": true + "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=" }, "sparkles": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", - "dev": true + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=" }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true, "requires": { "spdx-license-ids": "1.2.2" } @@ -10824,20 +9620,17 @@ "spdx-expression-parse": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" }, "spdx-license-ids": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" }, "spdy": { "version": "3.4.7", "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", - "dev": true, "requires": { "debug": "2.6.9", "handle-thing": "1.2.5", @@ -10851,7 +9644,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -10862,7 +9654,6 @@ "version": "2.0.20", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", - "dev": true, "requires": { "debug": "2.6.9", "detect-node": "2.0.3", @@ -10877,7 +9668,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -10887,14 +9677,12 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "squeak": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", - "dev": true, "requires": { "chalk": "1.1.3", "console-stream": "0.1.1", @@ -10904,14 +9692,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -10923,8 +9709,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, @@ -10932,7 +9717,6 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, "requires": { "asn1": "0.2.3", "assert-plus": "1.0.0", @@ -10947,8 +9731,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, @@ -10956,7 +9739,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", "integrity": "sha512-728D4yoQcQm1ooZvSbywLkV1RjfITZXh0oWrhM/lnsx3nAHx7LsRGJWB/YyvoceAYRq98xqbstiN4JBv1/wNHg==", - "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -10964,26 +9746,22 @@ "stackframe": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==", - "dev": true + "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==" }, "stat-mode": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", - "dev": true + "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=" }, "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, "stdout-stream": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", - "dev": true, "requires": { "readable-stream": "2.3.3" } @@ -10992,7 +9770,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -11002,7 +9779,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, "requires": { "duplexer2": "0.1.4", "readable-stream": "2.3.3" @@ -11012,7 +9788,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", - "dev": true, "requires": { "end-of-stream": "1.4.0", "stream-shift": "1.0.0" @@ -11022,7 +9797,6 @@ "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", - "dev": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", @@ -11034,20 +9808,17 @@ "stream-shift": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" }, "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, "string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", - "dev": true, "requires": { "strip-ansi": "3.0.1" } @@ -11056,7 +9827,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -11067,7 +9837,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -11075,14 +9844,12 @@ "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -11091,7 +9858,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, "requires": { "is-utf8": "0.2.1" } @@ -11100,7 +9866,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", - "dev": true, "requires": { "first-chunk-stream": "1.0.0", "strip-bom": "2.0.0" @@ -11110,7 +9875,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", - "dev": true, "requires": { "chalk": "1.1.3", "get-stdin": "4.0.1", @@ -11123,14 +9887,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -11142,28 +9904,24 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, "requires": { "get-stdin": "4.0.1" } @@ -11171,14 +9929,12 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "strip-outer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", - "dev": true, "requires": { "escape-string-regexp": "1.0.5" } @@ -11187,7 +9943,6 @@ "version": "0.18.2", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==", - "dev": true, "requires": { "loader-utils": "1.1.0", "schema-utils": "0.3.0" @@ -11197,7 +9952,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", - "dev": true, "requires": { "chalk": "1.1.3" }, @@ -11205,14 +9959,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -11224,8 +9976,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, @@ -11233,7 +9984,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, "requires": { "has-flag": "2.0.0" } @@ -11242,7 +9992,6 @@ "version": "0.7.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, "requires": { "coa": "1.0.4", "colors": "1.1.2", @@ -11256,14 +10005,12 @@ "tapable": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", - "dev": true + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" }, "tar": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -11274,7 +10021,6 @@ "version": "1.5.5", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", - "dev": true, "requires": { "bl": "1.2.1", "end-of-stream": "1.4.0", @@ -11285,14 +10031,12 @@ "temp-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", - "dev": true + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" }, "tempfile": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", - "dev": true, "requires": { "temp-dir": "1.0.0", "uuid": "3.1.0" @@ -11301,14 +10045,12 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, "requires": { "readable-stream": "1.0.34", "xtend": "4.0.1" @@ -11317,14 +10059,12 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -11335,8 +10075,7 @@ "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, @@ -11344,7 +10083,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "dev": true, "requires": { "through2": "2.0.3", "xtend": "4.0.1" @@ -11354,7 +10092,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, "requires": { "readable-stream": "2.3.3", "xtend": "4.0.1" @@ -11365,26 +10102,22 @@ "thunky": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz", - "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=", - "dev": true + "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=" }, "time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" }, "timed-out": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=", - "dev": true + "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=" }, "timers-browserify": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", - "dev": true, "requires": { "setimmediate": "1.0.5" } @@ -11393,7 +10126,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", - "dev": true, "requires": { "extend-shallow": "2.0.1" } @@ -11401,20 +10133,17 @@ "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" }, "tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "dev": true, "requires": { "punycode": "1.4.1" } @@ -11422,14 +10151,12 @@ "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" }, "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, "requires": { "escape-string-regexp": "1.0.5" } @@ -11437,14 +10164,12 @@ "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, "true-case-path": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", - "dev": true, "requires": { "glob": "6.0.4" }, @@ -11453,7 +10178,6 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, "requires": { "inflight": "1.0.6", "inherits": "2.0.3", @@ -11467,27 +10191,23 @@ "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, "tunnel-agent": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, "optional": true }, "type-is": { "version": "1.6.15", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", - "dev": true, "requires": { "media-typer": "0.3.0", "mime-types": "2.1.17" @@ -11496,14 +10216,12 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, "requires": { "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", @@ -11513,14 +10231,12 @@ "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" }, "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, "requires": { "center-align": "0.1.3", "right-align": "0.1.3", @@ -11530,14 +10246,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, "requires": { "camelcase": "1.2.1", "cliui": "2.1.0", @@ -11551,14 +10265,12 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, "optional": true }, "uglifyjs-webpack-plugin": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.2.tgz", "integrity": "sha512-k07cmJTj+8vZMSc3BaQ9uW7qVl2MqDts4ti4KaNACXEcXSw2vQM2S8olSk/CODxvcSFGvUHzNSqA8JQlhgUJPw==", - "dev": true, "requires": { "cacache": "10.0.1", "find-cache-dir": "1.0.0", @@ -11573,7 +10285,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.1.tgz", "integrity": "sha512-c+Fy4VuGvPmT7mj7vEPjRR/iNFuXuOAkufhCtCvTGX0Hr4gCM9YwCnLgHkxr1ngqSODQaDObU3g8SF8uE/tY1w==", - "dev": true, "requires": { "commander": "2.12.2", "source-map": "0.6.1" @@ -11584,14 +10295,12 @@ "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" }, "uniqid": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", - "dev": true, "requires": { "macaddress": "0.2.8" } @@ -11599,14 +10308,12 @@ "uniqs": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" }, "unique-filename": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", - "dev": true, "requires": { "unique-slug": "2.0.0" } @@ -11615,7 +10322,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", - "dev": true, "requires": { "imurmurhash": "0.1.4" } @@ -11624,7 +10330,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", - "dev": true, "requires": { "json-stable-stringify": "1.0.1", "through2-filter": "2.0.0" @@ -11633,38 +10338,32 @@ "universalify": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", - "dev": true + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "unzip-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=", - "dev": true + "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=" }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -11673,8 +10372,7 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, @@ -11682,7 +10380,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", - "dev": true, "requires": { "querystringify": "1.0.0", "requires-port": "1.0.0" @@ -11691,8 +10388,7 @@ "querystringify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", - "dev": true + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=" } } }, @@ -11700,7 +10396,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, "requires": { "prepend-http": "1.0.4" } @@ -11709,7 +10404,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", - "dev": true, "requires": { "ip-regex": "1.0.3" } @@ -11718,7 +10412,6 @@ "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, "requires": { "inherits": "2.0.1" }, @@ -11726,40 +10419,34 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" } } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", - "dev": true + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" }, "vali-date": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", - "dev": true + "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=" }, "validate-npm-package-license": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, "requires": { "spdx-correct": "1.0.2", "spdx-expression-parse": "1.0.4" @@ -11768,20 +10455,17 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, "vendors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", - "dev": true + "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=" }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "1.0.0", "core-util-is": "1.0.2", @@ -11791,8 +10475,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, @@ -11800,7 +10483,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, "requires": { "clone": "1.0.3", "clone-stats": "0.0.1", @@ -11810,8 +10492,7 @@ "replace-ext": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" } } }, @@ -11819,7 +10500,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", - "dev": true, "requires": { "object-assign": "4.1.1", "readable-stream": "2.3.3" @@ -11829,7 +10509,6 @@ "version": "2.4.4", "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", - "dev": true, "requires": { "duplexify": "3.5.1", "glob-stream": "5.3.5", @@ -11854,7 +10533,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, "requires": { "readable-stream": "2.3.3", "xtend": "4.0.1" @@ -11866,7 +10544,6 @@ "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, "requires": { "indexof": "0.0.1" } @@ -11874,14 +10551,12 @@ "vue-hot-reload-api": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.2.4.tgz", - "integrity": "sha512-e+ThJMYmZg4D9UnrLcr6LQxGu6YlcxkrmZGPCyIN4malcNhdeGGKxmFuM5y6ICMJJxQywLfT8MM1rYZr4LpeLw==", - "dev": true + "integrity": "sha512-e+ThJMYmZg4D9UnrLcr6LQxGu6YlcxkrmZGPCyIN4malcNhdeGGKxmFuM5y6ICMJJxQywLfT8MM1rYZr4LpeLw==" }, "vue-loader": { "version": "13.5.0", "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.5.0.tgz", "integrity": "sha512-O0+ZU1oyLlDXSAQB7pV/pwVt3wJLfyhXtnGpCVFBGMKGC0Yp9Un7ULFHKejrFEYaMBKY0s6h4iJzjMdSngNA2g==", - "dev": true, "requires": { "consolidate": "0.14.5", "hash-sum": "1.0.2", @@ -11902,7 +10577,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.0.3.tgz", "integrity": "sha512-P/ihpaZKU23T1kq3E0y4c+F8sbm1HQO69EFYoLoGMSGVAHroHsGir/WQ9qUavP8dyFYHmXenzHaJ/nqd8vfaxw==", - "dev": true, "requires": { "hash-sum": "1.0.2", "loader-utils": "1.1.0" @@ -11912,7 +10586,6 @@ "version": "2.5.9", "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.9.tgz", "integrity": "sha512-Icev7QPuQ3flpOvxMe09irgXPklBi/VpiveUDs5nRVH5GA8R9asLBlahsA7AuRZQbaty0cGKm6kh/icDLcr93w==", - "dev": true, "requires": { "de-indent": "1.0.2", "he": "1.1.1" @@ -11921,14 +10594,12 @@ "vue-template-es2015-compiler": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz", - "integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==", - "dev": true + "integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==" }, "ware": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", - "dev": true, "requires": { "wrap-fn": "0.1.5" } @@ -11937,7 +10608,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", - "dev": true, "requires": { "async": "2.6.0", "chokidar": "1.7.0", @@ -11948,7 +10618,6 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", - "dev": true, "requires": { "minimalistic-assert": "1.0.0" } @@ -11957,7 +10626,6 @@ "version": "3.10.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", - "dev": true, "requires": { "acorn": "5.2.1", "acorn-dynamic-import": "2.0.2", @@ -11986,14 +10654,12 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "uglifyjs-webpack-plugin": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, "requires": { "source-map": "0.5.7", "uglify-js": "2.8.29", @@ -12005,14 +10671,12 @@ "webpack-chunk-hash": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/webpack-chunk-hash/-/webpack-chunk-hash-0.4.0.tgz", - "integrity": "sha1-a0DDBw+8n/DP4P54HHF0r2x8FqQ=", - "dev": true + "integrity": "sha1-a0DDBw+8n/DP4P54HHF0r2x8FqQ=" }, "webpack-dev-middleware": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", - "dev": true, "requires": { "memory-fs": "0.4.1", "mime": "1.6.0", @@ -12024,14 +10688,12 @@ "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "time-stamp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", - "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", - "dev": true + "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=" } } }, @@ -12039,7 +10701,6 @@ "version": "2.9.7", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.7.tgz", "integrity": "sha512-Pu7uoQFgQj5RE5wmlfkpYSzihMKxulwEuO2xCsaMnAnyRSApwoVi3B8WCm9XbigyWTHaIMzYGkB90Vr6leAeTQ==", - "dev": true, "requires": { "ansi-html": "0.0.7", "array-includes": "3.0.3", @@ -12073,14 +10734,12 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, "yargs": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, "requires": { "camelcase": "3.0.0", "cliui": "3.2.0", @@ -12101,7 +10760,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, "requires": { "camelcase": "3.0.0" } @@ -12112,7 +10770,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.1.tgz", "integrity": "sha512-geQsZ86YkXOVOjvPC5yv3JSNnL6/X3Kzh935AQ/gJNEYXEfJDQFu/sdFuktS9OW2JcH/SJec8TGfRdrpHshH7A==", - "dev": true, "requires": { "lodash": "4.17.4" } @@ -12121,7 +10778,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.5.0.tgz", "integrity": "sha1-wBAAfUSM68NN78mezyiPpejGuvY=", - "dev": true, "requires": { "node-notifier": "4.6.1", "object-assign": "4.1.1", @@ -12132,7 +10788,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", - "dev": true, "requires": { "source-list-map": "2.0.0", "source-map": "0.6.1" @@ -12142,7 +10797,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", - "dev": true, "requires": { "http-parser-js": "0.4.9", "websocket-extensions": "0.1.3" @@ -12151,20 +10805,17 @@ "websocket-extensions": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" }, "whet.extend": { "version": "0.9.9", "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=" }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", - "dev": true, "requires": { "isexe": "2.0.0" } @@ -12172,14 +10823,12 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "wide-align": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", "integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=", - "dev": true, "requires": { "string-width": "1.0.2" } @@ -12187,20 +10836,17 @@ "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" }, "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" }, "worker-farm": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", - "dev": true, "requires": { "errno": "0.1.4", "xtend": "4.0.1" @@ -12210,7 +10856,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1" @@ -12220,7 +10865,6 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", - "dev": true, "requires": { "co": "3.1.0" }, @@ -12228,46 +10872,39 @@ "co": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", - "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=", - "dev": true + "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=" } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xml-char-classes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", - "dev": true + "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=" }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" }, "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, "requires": { "camelcase": "4.1.0", "cliui": "3.2.0", @@ -12287,26 +10924,22 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -12318,7 +10951,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, "requires": { "execa": "0.7.0", "lcid": "1.0.0", @@ -12329,7 +10961,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, "requires": { "pify": "2.3.0" } @@ -12337,14 +10968,12 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, "requires": { "load-json-file": "2.0.0", "normalize-package-data": "2.4.0", @@ -12355,7 +10984,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, "requires": { "find-up": "2.1.0", "read-pkg": "2.0.0" @@ -12365,7 +10993,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" @@ -12375,7 +11002,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, "requires": { "ansi-regex": "3.0.0" } @@ -12383,20 +11009,17 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "yargs-parser": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, "requires": { "camelcase": "4.1.0" } @@ -12407,7 +11030,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, "requires": { "camelcase": "3.0.0" }, @@ -12415,8 +11037,7 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" } } }, @@ -12424,7 +11045,6 @@ "version": "2.9.1", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", - "dev": true, "requires": { "buffer-crc32": "0.2.13", "fd-slicer": "1.0.1" diff --git a/package.json b/package.json index 97524bee..ade272b2 100755 --- a/package.json +++ b/package.json @@ -9,21 +9,22 @@ "prod": "npm run production", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }, - "devDependencies": { + "dependencies": { + "Leaflet.Geodesic": "git+https://git@github.com/henrythasler/Leaflet.Geodesic.git", "axios": "^0.17", "bootstrap-sass": "^3.3.7", + "bootstrap3": "^3.3.5", "cross-env": "^5.1.3", - "icheck": "1.0.2", + "icheck": "^1.0.2", "jquery": "^3.2.1", "laravel-mix": "^1.0", "leaflet": "^1.2.0", "leaflet-ajax": "2.1.0", + "leaflet-rotatedmarker": "^0.2.0", "lodash": "4.17.4", + "pjax": "^0.2.4", "popper.js": "^1.13.0", "rivets": "0.9.6", "select2": "^4.0.5" - }, - "dependencies": { - "pjax": "^0.2.4" } } diff --git a/public/assets/admin/css/vendor.min.css b/public/assets/admin/css/vendor.min.css index b39fdb8f..8df04d54 100644 --- a/public/assets/admin/css/vendor.min.css +++ b/public/assets/admin/css/vendor.min.css @@ -15245,6 +15245,491 @@ a.editable-click.editable-disabled:hover { clip: auto; } +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + .select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + .select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-search--inline { + float: left; } + .select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + user-select: none; + -webkit-user-select: none; } + .select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + .select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; } + .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + .select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + .select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + .select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + .select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + .select2-container--default .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; } + .select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + .select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + .select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + .select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + .select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } + /* required styles */ .leaflet-pane, @@ -15257,41 +15742,35 @@ a.editable-click.editable-disabled:hover { .leaflet-zoom-box, .leaflet-image-layer, .leaflet-layer { - position: absolute; - left: 0; - top: 0; -} - + position: absolute; + left: 0; + top: 0; + } .leaflet-container { - overflow: hidden; -} - + overflow: hidden; + } .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - -webkit-user-drag: none; -} - + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; + } /* Safari renders non-retina tile on retina better with this, but Chrome is worse */ .leaflet-safari .leaflet-tile { - image-rendering: -webkit-optimize-contrast; -} - + image-rendering: -webkit-optimize-contrast; + } /* hack that prevents hw layers "stretching" when loading new tiles */ .leaflet-safari .leaflet-tile-container { - width: 1600px; - height: 1600px; - -webkit-transform-origin: 0 0; -} - + width: 1600px; + height: 1600px; + -webkit-transform-origin: 0 0; + } .leaflet-marker-icon, .leaflet-marker-shadow { - display: block; -} - + display: block; + } /* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ /* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ .leaflet-container .leaflet-overlay-pane svg, @@ -15299,232 +15778,181 @@ a.editable-click.editable-disabled:hover { .leaflet-container .leaflet-shadow-pane img, .leaflet-container .leaflet-tile-pane img, .leaflet-container img.leaflet-image-layer { - max-width: none !important; -} + max-width: none !important; + } .leaflet-container.leaflet-touch-zoom { - -ms-touch-action: pan-x pan-y; - touch-action: pan-x pan-y; -} - + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; + } .leaflet-container.leaflet-touch-drag { - -ms-touch-action: pinch-zoom; -} - + -ms-touch-action: pinch-zoom; + } .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { - -ms-touch-action: none; - touch-action: none; + -ms-touch-action: none; + touch-action: none; } - .leaflet-container { - -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: transparent; } - .leaflet-container a { - -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); } - .leaflet-tile { - filter: inherit; - visibility: hidden; -} - + filter: inherit; + visibility: hidden; + } .leaflet-tile-loaded { - visibility: inherit; -} - + visibility: inherit; + } .leaflet-zoom-box { - width: 0; - height: 0; - -moz-box-sizing: border-box; - box-sizing: border-box; - z-index: 800; -} - + width: 0; + height: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + z-index: 800; + } /* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ .leaflet-overlay-pane svg { - -moz-user-select: none; -} + -moz-user-select: none; + } -.leaflet-pane { - z-index: 400; -} +.leaflet-pane { z-index: 400; } -.leaflet-tile-pane { - z-index: 200; -} +.leaflet-tile-pane { z-index: 200; } +.leaflet-overlay-pane { z-index: 400; } +.leaflet-shadow-pane { z-index: 500; } +.leaflet-marker-pane { z-index: 600; } +.leaflet-tooltip-pane { z-index: 650; } +.leaflet-popup-pane { z-index: 700; } -.leaflet-overlay-pane { - z-index: 400; -} - -.leaflet-shadow-pane { - z-index: 500; -} - -.leaflet-marker-pane { - z-index: 600; -} - -.leaflet-tooltip-pane { - z-index: 650; -} - -.leaflet-popup-pane { - z-index: 700; -} - -.leaflet-map-pane canvas { - z-index: 100; -} - -.leaflet-map-pane svg { - z-index: 200; -} +.leaflet-map-pane canvas { z-index: 100; } +.leaflet-map-pane svg { z-index: 200; } .leaflet-vml-shape { - width: 1px; - height: 1px; -} - + width: 1px; + height: 1px; + } .lvml { - behavior: url(#default#VML); - display: inline-block; - position: absolute; -} + behavior: url(#default#VML); + display: inline-block; + position: absolute; + } + /* control positioning */ .leaflet-control { - position: relative; - z-index: 800; - pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ - pointer-events: auto; -} - + position: relative; + z-index: 800; + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } .leaflet-top, .leaflet-bottom { - position: absolute; - z-index: 1000; - pointer-events: none; -} - + position: absolute; + z-index: 1000; + pointer-events: none; + } .leaflet-top { - top: 0; -} - + top: 0; + } .leaflet-right { - right: 0; -} - + right: 0; + } .leaflet-bottom { - bottom: 0; -} - + bottom: 0; + } .leaflet-left { - left: 0; -} - + left: 0; + } .leaflet-control { - float: left; - clear: both; -} - + float: left; + clear: both; + } .leaflet-right .leaflet-control { - float: right; -} - + float: right; + } .leaflet-top .leaflet-control { - margin-top: 10px; -} - + margin-top: 10px; + } .leaflet-bottom .leaflet-control { - margin-bottom: 10px; -} - + margin-bottom: 10px; + } .leaflet-left .leaflet-control { - margin-left: 10px; -} - + margin-left: 10px; + } .leaflet-right .leaflet-control { - margin-right: 10px; -} + margin-right: 10px; + } + /* zoom and fade animations */ .leaflet-fade-anim .leaflet-tile { - will-change: opacity; -} - + will-change: opacity; + } .leaflet-fade-anim .leaflet-popup { - opacity: 0; - -webkit-transition: opacity 0.2s linear; - -moz-transition: opacity 0.2s linear; - -o-transition: opacity 0.2s linear; - transition: opacity 0.2s linear; -} - + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + -o-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; + } .leaflet-fade-anim .leaflet-map-pane .leaflet-popup { - opacity: 1; -} - + opacity: 1; + } .leaflet-zoom-animated { - -webkit-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; -} - + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + } .leaflet-zoom-anim .leaflet-zoom-animated { - will-change: transform; -} - + will-change: transform; + } .leaflet-zoom-anim .leaflet-zoom-animated { - -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1); - -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1); - -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1); - transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1); -} - + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); + } .leaflet-zoom-anim .leaflet-tile, .leaflet-pan-anim .leaflet-tile { - -webkit-transition: none; - -moz-transition: none; - -o-transition: none; - transition: none; -} + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; + } .leaflet-zoom-anim .leaflet-zoom-hide { - visibility: hidden; -} + visibility: hidden; + } + /* cursors */ .leaflet-interactive { - cursor: pointer; -} - + cursor: pointer; + } .leaflet-grab { - cursor: -webkit-grab; - cursor: -moz-grab; -} - + cursor: -webkit-grab; + cursor: -moz-grab; + } .leaflet-crosshair, .leaflet-crosshair .leaflet-interactive { - cursor: crosshair; -} - + cursor: crosshair; + } .leaflet-popup-pane, .leaflet-control { - cursor: auto; -} - + cursor: auto; + } .leaflet-dragging .leaflet-grab, .leaflet-dragging .leaflet-grab .leaflet-interactive, .leaflet-dragging .leaflet-marker-draggable { - cursor: move; - cursor: -webkit-grabbing; - cursor: -moz-grabbing; -} + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + } /* marker & overlays interactivity */ .leaflet-marker-icon, @@ -15532,455 +15960,462 @@ a.editable-click.editable-disabled:hover { .leaflet-image-layer, .leaflet-pane > svg path, .leaflet-tile-container { - pointer-events: none; -} + pointer-events: none; + } .leaflet-marker-icon.leaflet-interactive, .leaflet-image-layer.leaflet-interactive, .leaflet-pane > svg path.leaflet-interactive { - pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ - pointer-events: auto; -} + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } /* visual tweaks */ .leaflet-container { - background: #ddd; - outline: 0; -} - + background: #ddd; + outline: 0; + } .leaflet-container a { - color: #0078A8; -} - + color: #0078A8; + } .leaflet-container a.leaflet-active { - outline: 2px solid orange; -} - + outline: 2px solid orange; + } .leaflet-zoom-box { - border: 2px dotted #38f; - background: rgba(255, 255, 255, 0.5); -} + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); + } + /* general typography */ .leaflet-container { - font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; -} + font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; + } + /* general toolbar styles */ .leaflet-bar { - box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65); - border-radius: 4px; -} - + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; + } .leaflet-bar a, .leaflet-bar a:hover { - background-color: #fff; - border-bottom: 1px solid #ccc; - width: 26px; - height: 26px; - line-height: 26px; - display: block; - text-align: center; - text-decoration: none; - color: black; -} - + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; + } .leaflet-bar a, .leaflet-control-layers-toggle { - background-position: 50% 50%; - background-repeat: no-repeat; - display: block; -} - + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + } .leaflet-bar a:hover { - background-color: #f4f4f4; -} - + background-color: #f4f4f4; + } .leaflet-bar a:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } .leaflet-bar a:last-child { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - border-bottom: none; -} - + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; + } .leaflet-bar a.leaflet-disabled { - cursor: default; - background-color: #f4f4f4; - color: #bbb; -} + cursor: default; + background-color: #f4f4f4; + color: #bbb; + } .leaflet-touch .leaflet-bar a { - width: 30px; - height: 30px; - line-height: 30px; -} - + width: 30px; + height: 30px; + line-height: 30px; + } .leaflet-touch .leaflet-bar a:first-child { - border-top-left-radius: 2px; - border-top-right-radius: 2px; -} - + border-top-left-radius: 2px; + border-top-right-radius: 2px; + } .leaflet-touch .leaflet-bar a:last-child { - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; -} + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + } /* zoom control */ .leaflet-control-zoom-in, .leaflet-control-zoom-out { - font: bold 18px 'Lucida Console', Monaco, monospace; - text-indent: 1px; -} + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; + } + +.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { + font-size: 22px; + } -.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { - font-size: 22px; -} /* layers control */ .leaflet-control-layers { - box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4); - background: #fff; - border-radius: 5px; -} - + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; + } .leaflet-control-layers-toggle { - background-image: url(images/layers.png); - width: 36px; - height: 36px; -} - + background-image: url(images/layers.png); + width: 36px; + height: 36px; + } .leaflet-retina .leaflet-control-layers-toggle { - background-image: url(images/layers-2x.png); - background-size: 26px 26px; -} - + background-image: url(images/layers-2x.png); + background-size: 26px 26px; + } .leaflet-touch .leaflet-control-layers-toggle { - width: 44px; - height: 44px; -} - + width: 44px; + height: 44px; + } .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers-expanded .leaflet-control-layers-toggle { - display: none; -} - + display: none; + } .leaflet-control-layers-expanded .leaflet-control-layers-list { - display: block; - position: relative; -} - + display: block; + position: relative; + } .leaflet-control-layers-expanded { - padding: 6px 10px 6px 6px; - color: #333; - background: #fff; -} - + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; + } .leaflet-control-layers-scrollbar { - overflow-y: scroll; - overflow-x: hidden; - padding-right: 5px; -} - + overflow-y: scroll; + overflow-x: hidden; + padding-right: 5px; + } .leaflet-control-layers-selector { - margin-top: 2px; - position: relative; - top: 1px; -} - + margin-top: 2px; + position: relative; + top: 1px; + } .leaflet-control-layers label { - display: block; -} - + display: block; + } .leaflet-control-layers-separator { - height: 0; - border-top: 1px solid #ddd; - margin: 5px -10px 5px -6px; -} + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; + } /* Default icon URLs */ .leaflet-default-icon-path { - background-image: url(images/marker-icon.png); -} + background-image: url(images/marker-icon.png); + } + /* attribution and scale controls */ .leaflet-container .leaflet-control-attribution { - background: #fff; - background: rgba(255, 255, 255, 0.7); - margin: 0; -} - + background: #fff; + background: rgba(255, 255, 255, 0.7); + margin: 0; + } .leaflet-control-attribution, .leaflet-control-scale-line { - padding: 0 5px; - color: #333; -} - + padding: 0 5px; + color: #333; + } .leaflet-control-attribution a { - text-decoration: none; -} - + text-decoration: none; + } .leaflet-control-attribution a:hover { - text-decoration: underline; -} - + text-decoration: underline; + } .leaflet-container .leaflet-control-attribution, .leaflet-container .leaflet-control-scale { - font-size: 11px; -} - + font-size: 11px; + } .leaflet-left .leaflet-control-scale { - margin-left: 5px; -} - + margin-left: 5px; + } .leaflet-bottom .leaflet-control-scale { - margin-bottom: 5px; -} - + margin-bottom: 5px; + } .leaflet-control-scale-line { - border: 2px solid #777; - border-top: none; - line-height: 1.1; - padding: 2px 5px 1px; - font-size: 11px; - white-space: nowrap; - overflow: hidden; - -moz-box-sizing: border-box; - box-sizing: border-box; - - background: #fff; - background: rgba(255, 255, 255, 0.5); -} + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + font-size: 11px; + white-space: nowrap; + overflow: hidden; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: #fff; + background: rgba(255, 255, 255, 0.5); + } .leaflet-control-scale-line:not(:first-child) { - border-top: 2px solid #777; - border-bottom: none; - margin-top: -2px; -} - + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; + } .leaflet-control-scale-line:not(:first-child):not(:last-child) { - border-bottom: 2px solid #777; -} + border-bottom: 2px solid #777; + } .leaflet-touch .leaflet-control-attribution, .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar { - box-shadow: none; -} - + box-shadow: none; + } .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar { - border: 2px solid rgba(0, 0, 0, 0.2); - background-clip: padding-box; -} + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; + } + /* popup */ .leaflet-popup { - position: absolute; - text-align: center; - margin-bottom: 20px; -} - + position: absolute; + text-align: center; + margin-bottom: 20px; + } .leaflet-popup-content-wrapper { - padding: 1px; - text-align: left; - border-radius: 12px; -} - + padding: 1px; + text-align: left; + border-radius: 12px; + } .leaflet-popup-content { - margin: 13px 19px; - line-height: 1.4; -} - + margin: 13px 19px; + line-height: 1.4; + } .leaflet-popup-content p { - margin: 18px 0; -} - + margin: 18px 0; + } .leaflet-popup-tip-container { - width: 40px; - height: 20px; - position: absolute; - left: 50%; - margin-left: -20px; - overflow: hidden; - pointer-events: none; -} - + width: 40px; + height: 20px; + position: absolute; + left: 50%; + margin-left: -20px; + overflow: hidden; + pointer-events: none; + } .leaflet-popup-tip { - width: 17px; - height: 17px; - padding: 1px; + width: 17px; + height: 17px; + padding: 1px; - margin: -10px auto 0; - - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); -} + margin: -10px auto 0; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + } .leaflet-popup-content-wrapper, .leaflet-popup-tip { - background: white; - color: #333; - box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4); -} - + background: white; + color: #333; + box-shadow: 0 3px 14px rgba(0,0,0,0.4); + } .leaflet-container a.leaflet-popup-close-button { - position: absolute; - top: 0; - right: 0; - padding: 4px 4px 0 0; - border: none; - text-align: center; - width: 18px; - height: 14px; - font: 16px/14px Tahoma, Verdana, sans-serif; - color: #c3c3c3; - text-decoration: none; - font-weight: bold; - background: transparent; -} - + position: absolute; + top: 0; + right: 0; + padding: 4px 4px 0 0; + border: none; + text-align: center; + width: 18px; + height: 14px; + font: 16px/14px Tahoma, Verdana, sans-serif; + color: #c3c3c3; + text-decoration: none; + font-weight: bold; + background: transparent; + } .leaflet-container a.leaflet-popup-close-button:hover { - color: #999; -} - + color: #999; + } .leaflet-popup-scrolled { - overflow: auto; - border-bottom: 1px solid #ddd; - border-top: 1px solid #ddd; -} + overflow: auto; + border-bottom: 1px solid #ddd; + border-top: 1px solid #ddd; + } .leaflet-oldie .leaflet-popup-content-wrapper { - zoom: 1; -} - + zoom: 1; + } .leaflet-oldie .leaflet-popup-tip { - width: 24px; - margin: 0 auto; - - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; - filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); -} + width: 24px; + margin: 0 auto; + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); + } .leaflet-oldie .leaflet-popup-tip-container { - margin-top: -1px; -} + margin-top: -1px; + } .leaflet-oldie .leaflet-control-zoom, .leaflet-oldie .leaflet-control-layers, .leaflet-oldie .leaflet-popup-content-wrapper, .leaflet-oldie .leaflet-popup-tip { - border: 1px solid #999; -} + border: 1px solid #999; + } + /* div icon */ .leaflet-div-icon { - background: #fff; - border: 1px solid #666; -} + background: #fff; + border: 1px solid #666; + } + /* Tooltip */ /* Base styles for the element that has a tooltip */ .leaflet-tooltip { - position: absolute; - padding: 6px; - background-color: #fff; - border: 1px solid #fff; - border-radius: 3px; - color: #222; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - pointer-events: none; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); -} - + position: absolute; + padding: 6px; + background-color: #fff; + border: 1px solid #fff; + border-radius: 3px; + color: #222; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + box-shadow: 0 1px 3px rgba(0,0,0,0.4); + } .leaflet-tooltip.leaflet-clickable { - cursor: pointer; - pointer-events: auto; -} - + cursor: pointer; + pointer-events: auto; + } .leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-left:before, .leaflet-tooltip-right:before { - position: absolute; - pointer-events: none; - border: 6px solid transparent; - background: transparent; - content: ""; -} + position: absolute; + pointer-events: none; + border: 6px solid transparent; + background: transparent; + content: ""; + } /* Directions */ .leaflet-tooltip-bottom { - margin-top: 6px; + margin-top: 6px; } - .leaflet-tooltip-top { - margin-top: -6px; + margin-top: -6px; } - .leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before { - left: 50%; - margin-left: -6px; -} - + left: 50%; + margin-left: -6px; + } .leaflet-tooltip-top:before { - bottom: 0; - margin-bottom: -12px; - border-top-color: #fff; -} - + bottom: 0; + margin-bottom: -12px; + border-top-color: #fff; + } .leaflet-tooltip-bottom:before { - top: 0; - margin-top: -12px; - margin-left: -6px; - border-bottom-color: #fff; -} - + top: 0; + margin-top: -12px; + margin-left: -6px; + border-bottom-color: #fff; + } .leaflet-tooltip-left { - margin-left: -6px; + margin-left: -6px; } - .leaflet-tooltip-right { - margin-left: 6px; + margin-left: 6px; } - .leaflet-tooltip-left:before, .leaflet-tooltip-right:before { - top: 50%; - margin-top: -6px; -} - + top: 50%; + margin-top: -6px; + } .leaflet-tooltip-left:before { - right: 0; - margin-right: -12px; - border-left-color: #fff; -} - + right: 0; + margin-right: -12px; + border-left-color: #fff; + } .leaflet-tooltip-right:before { - left: 0; - margin-left: -12px; - border-right-color: #fff; + left: 0; + margin-left: -12px; + border-right-color: #fff; + } + +/* iCheck plugin Flat skin, orange +----------------------------------- */ +.icheckbox_flat-orange, +.iradio_flat-orange { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(orange.png) no-repeat; + border: none; + cursor: pointer; } +.icheckbox_flat-orange { + background-position: 0 0; +} + .icheckbox_flat-orange.checked { + background-position: -22px 0; + } + .icheckbox_flat-orange.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-orange.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-orange { + background-position: -88px 0; +} + .iradio_flat-orange.checked { + background-position: -110px 0; + } + .iradio_flat-orange.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-orange.checked.disabled { + background-position: -154px 0; + } + +/* HiDPI support */ +@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { + .icheckbox_flat-orange, + .iradio_flat-orange { + background-image: url(orange@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} /*! ========================================================= @@ -19812,542 +20247,4 @@ textarea.form-control { } } -/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyLWRhc2hib2FyZC5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19jaGFydGlzdC5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19taXNjLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3NpZGViYXItYW5kLW1haW4tcGFuZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL21peGlucy9fc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2JhZGdlcy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19iYWRnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL21peGlucy9fdHJhbnNwYXJlbmN5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9faW5wdXRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2lucHV0cy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2FsZXJ0cy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3RhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2NoZWNrYm94LXJhZGlvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fbmF2YmFycy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19uYXZiYXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fZm9vdGVycy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19jaGFydGlzdC5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3Jlc3BvbnNpdmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9wYXBlci1kYXNoYm9hcmQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQ3VESCwwREFBMEQ7QUNvQjFEO0VBQ0ksMkJBQWlDO0NBQ3BDOztBQUNEO0VBQ0ksMkJBQThCO0NBQ2pDOztBQUNEO0VBQ0ksMkJBQWlDO0NBQ3BDOztBQUNEO0VBQ0ksMkJBQWlDO0NBQ3BDOztBQUNEO0VBQ0ksMkJBQWdDO0NBQ25DOztBQ3ZHRDtFQUNJLG1DQUFrQztFQUNsQyxvQ0FBbUM7RUFFbkMsd0RBQXVEO0NBQzFEOztBQUVEO0VBQ0ksaUJGbUo0QjtFRWxKNUIsb0JGaUcrQjtDRWhHbEM7O0FBRUQ7RUFDSSxpQkZrSWdDO0NFakluQzs7QUFDRDtFQUNJLGlCRmdJZ0M7Q0UvSG5DOztBQUNEO0VBQ0ksbUJGOEhrQztFRTdIbEMsaUJBQWdCO0VBQ2hCLGlCRnFJNEI7RUVwSTVCLG9CQUFtQjtDQUN0Qjs7QUFDRDtFQUNJLGlCRnlIZ0M7RUV4SGhDLGlCRmdJNEI7RUUvSDVCLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLGtCRnFIaUM7RUVwSGpDLGlCRjJINEI7RUUxSDVCLG1CQUFrQjtFQUNsQixvQkFBbUI7Q0FDdEI7O0FBQ0Q7RUFDSSxpQkZnSGdDO0VFL0doQyxpQkZxSDRCO0VFcEg1QiwwQkFBeUI7Q0FDNUI7O0FBQ0Q7RUFDSSxnQkY0RytCO0VFM0cvQixtQkZzSGdDO0NFckhuQzs7QUFFRDtFQUNJLGVGZGdDO0VFZWhDLGlCRjJHNEI7RUUxRzVCLG1CRmdIZ0M7Q0UvR25DOztBQUVEO0VBQ0ksZUFBYztDQUNqQjs7QUFDRDtFQUNJLDBCQUF5QjtDQUM1Qjs7QUFDRDtFQUNJLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLGVGakNnQztDRWtDbkM7O0FBQ0Q7RUFDSSxlRnJCZ0M7Q0VzQm5DOztBQUNEO0VBQ0ksZUZoQmdDO0NFaUJuQzs7QUFDRDtFQUNJLGVGdkJnQztDRXdCbkM7O0FBQ0Q7RUFDSSxlRmxCZ0M7Q0VtQm5DOztBQUNEO0VBQ0ksZUZoQmdDO0NFaUJuQzs7QUFDRDtFQUNJLGVBQWM7Q0FDakI7O0FBQ0Q7RUFDSSxlRjNDZ0M7Q0U0Q25DOztBQUNEO0VBQ0ksZUY1Q2dDO0NFNkNuQzs7QUFDRDtFQUNJLGVGdkNnQztDRXdDbkM7O0FBQ0Q7RUFDSSxlRjlDZ0M7Q0UrQ25DOztBQUNEO0VBQ0ksZUZ6Q2dDO0NFMENuQzs7QUFDRDtFQUNJLGVGdkNnQztDRXdDbkM7O0FBQ0Q7RUFFUSxlRjVENEI7Q0U2RC9COztBQUhMO0VBS1EsZUZ2RDRCO0NFd0QvQjs7QUFOTDtFQVFRLGVGOUQ0QjtDRStEL0I7O0FBVEw7RUFXUSxlRnpENEI7Q0UwRC9COztBQVpMO0VBY1EsZUZ2RDRCO0NFd0QvQjs7QUFHTDs7O0VBR0ksZUYzRmdDO0VFNEZoQyxpQkY4QjRCO0NFN0IvQjs7QUM3SEQsK0JBQStCO0FBQy9CO0VBQ0ksZUhBZ0I7RUdDaEIsZ0JIcUkrQjtFR3BJL0IsdUNBQXNDO0NBS3pDOztBQVJEO0VBS1Esa0JBQWlCO0VBQ2pCLG1CQUFrQjtDQUNyQjs7QUFFTDtFQUNFLGVIeUNrQztDR25DbkM7O0FBUEQ7RUFJSyxlSHdDK0I7RUd2Qy9CLHNCQUFxQjtDQUN2Qjs7QUFHSDs7Ozs7RUFLSSxzQkFBb0I7Q0FDdkI7O0FBQ0Q7Ozs7RUFJSSxzQkFBc0I7RUFDdEIsMkNBQTBDO0VBQzFDLG1DQUFrQztDQUNyQzs7QUFFRCx1Q0FBdUM7QUFDdkM7Ozs7O0VDWkkscUNKMEp3RDtFSXRKeEQsNkJKc0p3RDtDR3hJM0Q7O0FBRUQ7O0VDcEJJLHNDSjBNcUM7RUl0TXJDLDhCSnNNcUM7Q0duTHhDOztBQUVEO0VDekJJLHNDSjBNcUM7RUl0TXJDLDhCSnNNcUM7Q0cvS3hDOztBQUNEO0VBQ0ksWUFBVztFQUNYLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLDZCQUE0QjtDQUMvQjs7QUFFRDtFQUNJLGlCQUFnQjtDQUNuQjs7QUFDRDtFQUNJLHNCSGxEZ0M7Q0dtRG5DOztBQUNEO0VBQ0ksbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixjQUFhO0NBQ2hCOztBRXRFRDtFQUNJLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sVUFBUztFQUNULFFBQU87RUFDUCxXQUFVO0VBQ1YsdUJBQXNCO0VBQ3RCLG1DQUFrQztDQXNCckM7O0FBN0JEO0VBU1EsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWixXQUFVO0VBQ1YsbURMZ0I0QjtVS2hCNUIsMkNMZ0I0QjtDS2YvQjs7QUFoQkw7RUFrQlEsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixhQUFZO0VBQ1osWUFBVztFQUNYLGVBQWM7RUFDZCxPQUFNO0VBQ04sUUFBTztFQUNQLHVCQUFzQjtFQUN0QixtQ0FBa0M7Q0FDckM7O0FBR0w7O0VBRUksYUFBWTtFQUNaLGVBQWM7RUFDZCxpQkFBZ0I7Q0EwSW5COztBQTlJRDs7RUFPUSxrQkFBaUI7RUFDakIsZUFBYztDQWtCakI7O0FBMUJMOztFQVdZLFlBQVc7RUFDWCxnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixrQkFBaUI7Q0FDcEI7O0FBZlQ7O0VBa0JZLDBCQUF5QjtFQUN6QixpQkwrTHdCO0VLOUx4QixlQUFjO0VBQ2QsZ0JMeUZ1QjtFS3hGdkIsbUJBQWtCO0VBQ2xCLGlCTHNHb0I7RUtyR3BCLGtCQUFpQjtDQUNwQjs7QUF6QlQ7O0VBNkJRLGlCQUFnQjtDQTBFbkI7O0FBdkdMOztFQWlDZ0IsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFFbkIsWUFBVztDQUNkOztBQXRDYjs7RUF5Q2dCLFdBQVU7Q0FDYjs7QUExQ2I7O0VBNkNnQixlTC9Cb0I7RUtnQ3BCLFdBQVU7Q0F1QmI7O0FBckViOztFQWlEb0IsaUNMaERnQjtFS2lEaEIsbUNBQWtDO0VBQ2xDLHNDQUFxQztFQUNyQyxZQUFXO0VBQ1gsc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsU0FBUTtDQUNYOztBQXpEakI7O0VBNERvQixpQ0x5SFc7RUt4SFgsbUNBQWtDO0VBQ2xDLHNDQUFxQztFQUNyQyxZQUFXO0VBQ1gsc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsU0FBUTtDQUNYOztBQXBFakI7O0VBd0VnQixvQ0FBbUM7RUFDbkMseURBQXdEO0VBQ3hELG1CQUFrQjtDQUNyQjs7QUEzRWI7O0VBOEVnQixhQUFZO0VBQ1osa0JBQWlCO0NBQ3BCOztBQWhGYjs7RUFtRmdCLGdCQUFlO0NBQ2xCOztBQXBGYjs7RUF3RlksVUFBUztFQUNULGtCQUFpQjtFQUNqQixnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQiwwQkFBeUI7Q0FDNUI7O0FBN0ZUOztFQWdHWSxnQkFBZTtFQUNmLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLFlBQVc7RUFDWCxtQkFBa0I7Q0FDckI7O0FBdEdUOzs7RUEyR1EsZUFBYztFQUNkLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsWUFBVztFQUNYLGFBQVk7RUFDWixPQUFNO0VBQ04sUUFBTztFQUNQLFdBQVU7RUFDVixvQkx6SCtCO0NLMEhsQzs7QUNqSkQ7Ozs7O0VBRUMsMEJOcUJrQztDTXBCckM7O0FBRUU7OztFQUNJLCtDTmlDZTtDTXhCbEI7O0FBUEc7OztFQUNJLGVOOEJXO0NNN0JkOztBQUVEOzs7RUFDSSxlTjBCVztDTXpCZDs7QUFLSzs7O0VBQ0UsZU5tQk87Q01sQlY7O0FBRUw7OztFQUNJLHdDTmVXO0NNZGQ7O0FBekJMOzs7RUFFQywwQk53QmtDO0NNdkJyQzs7QUFFRTs7RUFDSSxrRE5FNEI7Q01PL0I7O0FBUEc7O0VBQ0ksZU5Ed0I7Q01FM0I7O0FBRUQ7O0VBQ0ksZU5Md0I7Q01NM0I7O0FBS0s7O0VBQ0UsZU5ab0I7Q01hdkI7O0FBRUw7O0VBQ0ksMkNOaEJ3QjtDTWlCM0I7O0FBU2M7O0VBQ1AsZU5Rb0I7RU1QcEIsV0FBVTtDQUNiOztBQUhVOztFQUNQLGVOZ0JvQjtFTWZwQixXQUFVO0NBQ2I7O0FBSFU7O0VBQ1AsZU5Zb0I7RU1YcEIsV0FBVTtDQUNiOztBQUhVOztFQUNQLGVOb0JvQjtFTW5CcEIsV0FBVTtDQUNiOztBQUhVOztFQUNQLGVOeUJvQjtFTXhCcEIsV0FBVTtDQUNiOztBRHdJYjtFQUNJLDBCTG9DMkI7RUtuQzNCLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsYUFBWTtFQUNaLDBCTCtENEM7RUs5RDVDLGlCQUFnQjtDQWNuQjs7QUFwQkQ7RUFTUSxtQkFBa0I7RUFDbEIsK0JBQThCO0NBQ2pDOztBQVhMO0VBY1EseUNBQXdDO0NBQzNDOztBQWZMO0VBa0JRLGlCQUFnQjtDQUNuQjs7QUFHTDs7RUFFSSxlQUFjO0VBQ2QsaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWix3Q0FBdUM7RUFDdkMsZ0NBQStCO0VBQy9CLHFDQUFvQztFQUNwQyw2QkFBNEI7RUFDNUIsa0RBQWlEO0VBQ2pELDBDQUF5QztFQUN6QyxrQ0FBaUM7Q0FDcEM7O0FFaE5ELGtDQUFrQztBQUNsQztFQUNFLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsMEJBQXlCO0VBQ3pCLG9CUG1KdUI7RU9sSnZCLGtCQUFpQjtFQUNqQiw4QlArQnNDO0VPOUJ0QyxrQlA0R2dCO0VPM0doQixtQkFBa0I7RUFDbEIsbUJQZ0hnQztDTy9HakM7O0FBRUQ7RUFDRSxzQkFBcUI7Q0FJdEI7O0FBTEQ7RUFHSSxpQkFBZ0I7Q0FDakI7O0FBR0g7RUNuQkksc0JSdUNtQjtFUXRDbkIsZVJzQ21CO0NPbEJ0Qjs7QUFFRDtFQ3ZCSSxzQlIyQ2dDO0VRMUNoQyxlUjBDZ0M7Q09sQm5DOztBQUVEO0VDM0JJLHNCUm1EZ0M7RVFsRGhDLGVSa0RnQztDT3RCbkM7O0FBRUQ7RUMvQkksc0JSK0NnQztFUTlDaEMsZVI4Q2dDO0NPZG5DOztBQUVEO0VDbkNJLHNCUnVEZ0M7RVF0RGhDLGVSc0RnQztDT2xCbkM7O0FBRUQ7RUN2Q0ksc0JSNERnQztFUTNEaEMsZVIyRGdDO0NPbkJuQzs7QUFFRDtFQzNDSSxzQlJRZ0M7RVFQaEMsZVJPZ0M7Q09xQ25DOztBRTlDRDs7RUFFSSxvQlQ0RytCO0VTM0cvQiwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGtCVEc0QjtFU0Y1Qiw4QlRpQ29DO0VTaENwQyxnQlRrSStCO0VTakkvQixpQlRxSjRCO0VTbko1QixrQlR3RWdDO0VVL0VsQyxzQlZzQ3FCO0VVckNyQixlVnFDcUI7RUloQm5CLHFDS1ppRDtFTGdCakQsNkJLaEJpRDtDQWdCcEQ7O0FDdkJDOzs7Ozs7OztFQUtFLDBCVjhCbUI7RVU3Qm5CLGdDVlJzQztFVVN0QyxzQlY0Qm1CO0NVeEJwQjs7QUFIQzs7Ozs7Ozs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FBT0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNRSw4QlZVa0M7RVVUbEMsc0JWV2lCO0NVVmxCOztBQUlIOztFQUNFLGVWMUJnQztFVTJCaEMsMEJWSW1CO0VXckNyQixXRGtDb0I7RUMvQnBCLDJCQUFRO0NEOENQOztBQWJDOzs7Ozs7OztFQUtJLDBCVkY0QjtFVUc1QixlVnBDNEI7RVVxQzVCLHNCVko0QjtDVUsvQjs7QUFFRDs7RUFDSSwwQlZ6QzRCO0NVMEMvQjs7QUFJRDs7Ozs7Ozs7RUFLSSw4QlZ0QmdDO0VVdUJoQyxlVm5CNEI7Q1VvQi9COztBQUVEOztFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIOztFQUNJLDBCVjlCaUI7Q1UrQnBCOztBRHZFSDs7O0VBZ0JRLHNCQUFxQjtDQUN4Qjs7QUFqQkw7Ozs7OztFTFdFLHlCS1UrQjtFTFR2QixpQktTdUI7RUFDeEIsc0JBQXFCO0NBQ3pCOztBQXZCTDs7RUEwQlEsYVRzRDJCO0NTckQ5Qjs7QUFHTDs7OztFQUlJLGtCQUFpQjtDQUNwQjs7QUFJRDtFQ3JDRSxzQlYwQ2tDO0VVekNsQyxlVnlDa0M7Q1NMbUY7O0FBQXZIOzs7RUM3QkksMEJWa0NnQztFVWpDaEMsZ0NWUnNDO0VVU3RDLHNCVmdDZ0M7Q1U1QmpDOztBQUhDOzs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FEd0JMOzs7Ozs7Ozs7Ozs7O0VDWE0sOEJWVWtDO0VVVGxDLHNCVmU4QjtDVWQvQjs7QURTTDtFQ0pJLGVWMUJnQztFVTJCaEMsMEJWUWdDO0VXekNsQyxXRGtDb0I7RUMvQnBCLDJCQUFRO0NEOENQOztBRGJIOzs7RUNLUSwwQlZFNEI7RVVENUIsZVZwQzRCO0VVcUM1QixzQlZBNEI7Q1VDL0I7O0FBRUQ7RUFDSSwwQlZ6QzRCO0NVMEMvQjs7QURaTDs7O0VDcUJRLDhCVnRCZ0M7RVV1QmhDLGVWZjRCO0NVZ0IvQjs7QUFFRDtFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIO0VBQ0ksMEJWMUI4QjtDVTJCakM7O0FEL0JIO0VDdENFLHNCVjhDa0M7RVU3Q2xDLGVWNkNrQztDU1JtRjs7QUFBdkg7OztFQzlCSSwwQlZzQ2dDO0VVckNoQyxnQ1ZSc0M7RVVTdEMsc0JWb0NnQztDVWhDakM7O0FBSEM7OztFQUNJLDJDVlhrQztDVVlyQzs7QUR5Qkw7Ozs7Ozs7Ozs7Ozs7RUNaTSw4QlZVa0M7RVVUbEMsc0JWbUI4QjtDVWxCL0I7O0FEVUw7RUNMSSxlVjFCZ0M7RVUyQmhDLDBCVllnQztFVzdDbEMsV0RrQ29CO0VDL0JwQiwyQkFBUTtDRDhDUDs7QURaSDs7O0VDSVEsMEJWTTRCO0VVTDVCLGVWcEM0QjtFVXFDNUIsc0JWSTRCO0NVSC9COztBQUVEO0VBQ0ksMEJWekM0QjtDVTBDL0I7O0FEWEw7OztFQ29CUSw4QlZ0QmdDO0VVdUJoQyxlVlg0QjtDVVkvQjs7QUFFRDtFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIO0VBQ0ksMEJWdEI4QjtDVXVCakM7O0FEOUJIO0VDdkNFLHNCVmtEa0M7RVVqRGxDLGVWaURrQztDU1gwRTs7QUFBOUc7OztFQy9CSSwwQlYwQ2dDO0VVekNoQyxnQ1ZSc0M7RVVTdEMsc0JWd0NnQztDVXBDakM7O0FBSEM7OztFQUNJLDJDVlhrQztDVVlyQzs7QUQwQkw7Ozs7Ozs7Ozs7Ozs7RUNiTSw4QlZVa0M7RVVUbEMsc0JWdUI4QjtDVXRCL0I7O0FEV0w7RUNOSSxlVjFCZ0M7RVUyQmhDLDBCVmdCZ0M7RVdqRGxDLFdEa0NvQjtFQy9CcEIsMkJBQVE7Q0Q4Q1A7O0FEWEg7OztFQ0dRLDBCVlU0QjtFVVQ1QixlVnBDNEI7RVVxQzVCLHNCVlE0QjtDVVAvQjs7QUFFRDtFQUNJLDBCVnpDNEI7Q1UwQy9COztBRFZMOzs7RUNtQlEsOEJWdEJnQztFVXVCaEMsZVZQNEI7Q1VRL0I7O0FBRUQ7RUFDSSwwQlZ4RDRCO0NVeUQvQjs7QUFHSDtFQUNJLDBCVmxCOEI7Q1VtQmpDOztBRDdCSDtFQ3hDRSxzQlZzRGtDO0VVckRsQyxlVnFEa0M7Q1NkbUY7O0FBQXZIOzs7RUNoQ0ksMEJWOENnQztFVTdDaEMsZ0NWUnNDO0VVU3RDLHNCVjRDZ0M7Q1V4Q2pDOztBQUhDOzs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FEMkJMOzs7Ozs7Ozs7Ozs7O0VDZE0sOEJWVWtDO0VVVGxDLHNCVjJCOEI7Q1UxQi9COztBRFlMO0VDUEksZVYxQmdDO0VVMkJoQywwQlZvQmdDO0VXckRsQyxXRGtDb0I7RUMvQnBCLDJCQUFRO0NEOENQOztBRFZIOzs7RUNFUSwwQlZjNEI7RVViNUIsZVZwQzRCO0VVcUM1QixzQlZZNEI7Q1VYL0I7O0FBRUQ7RUFDSSwwQlZ6QzRCO0NVMEMvQjs7QURUTDs7O0VDa0JRLDhCVnRCZ0M7RVV1QmhDLGVWSDRCO0NVSS9COztBQUVEO0VBQ0ksMEJWeEQ0QjtDVXlEL0I7O0FBR0g7RUFDSSwwQlZkOEI7Q1VlakM7O0FENUJIO0VDekNFLHNCVjJEa0M7RVUxRGxDLGVWMERrQztDU2xCZ0Y7O0FBQXBIOzs7RUNqQ0ksMEJWbURnQztFVWxEaEMsZ0NWUnNDO0VVU3RDLHNCVmlEZ0M7Q1U3Q2pDOztBQUhDOzs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FENEJMOzs7Ozs7Ozs7Ozs7O0VDZk0sOEJWVWtDO0VVVGxDLHNCVmdDOEI7Q1UvQi9COztBRGFMO0VDUkksZVYxQmdDO0VVMkJoQywwQlZ5QmdDO0VXMURsQyxXRGtDb0I7RUMvQnBCLDJCQUFRO0NEOENQOztBRFRIOzs7RUNDUSwwQlZtQjRCO0VVbEI1QixlVnBDNEI7RVVxQzVCLHNCVmlCNEI7Q1VoQi9COztBQUVEO0VBQ0ksMEJWekM0QjtDVTBDL0I7O0FEUkw7OztFQ2lCUSw4QlZ0QmdDO0VVdUJoQyxlVkU0QjtDVUQvQjs7QUFFRDtFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIO0VBQ0ksMEJWVDhCO0NVVWpDOztBRDNCSDtFQzFDRSxzQlZPa0M7RVVObEMsZVZNa0M7Q1M4RG5DOztBQ2xFQzs7RUFLRSwwQlZEZ0M7RVVFaEMsZ0NWUnNDO0VVU3RDLHNCVkhnQztDVU9qQzs7QUFIQzs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FBT0Q7Ozs7Ozs7RUFNRSw4QlZVa0M7RVVUbEMsc0JWcEI4QjtDVXFCL0I7O0FBSUg7RUFDRSxlVjFCZ0M7RVUyQmhDLDBCVjNCZ0M7RVdObEMsV0RrQ29CO0VDL0JwQiwyQkFBUTtDRDhDUDs7QUFiQzs7RUFLSSwwQlZuQzRCO0VVb0M1QixlVnBDNEI7RVVxQzVCLHNCVnJDNEI7Q1VzQy9COztBQUVEO0VBQ0ksMEJWekM0QjtDVTBDL0I7O0FBSUQ7O0VBS0ksOEJWdEJnQztFVXVCaEMsZVZwRDRCO0NVcUQvQjs7QUFFRDtFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIO0VBQ0ksMEJWN0Q4QjtDVThEakM7O0FEM0JIO0VBS1EsZVRUZTtDU1VsQjs7QUFOTDs7RUFXUywwQlQ5QzJCO0VTK0MzQixlVGhCYztDU2lCbEI7O0FBYkw7RUFnQlEsZVRwQmU7Q1NxQmxCOztBQWpCTDtFQW9CUSxlVHRCNEI7Q1N1Qi9COztBQXJCTDtFQXlCUSw4QkFBNkI7Q0FDaEM7O0FBR0w7RUV0RUUsYUYwRXlCO0VFdkV6QiwwQkFBUTtDRndFTDs7QUFFTDtFQUNJLFVUNUUwQjtFUzZFMUIsa0JURGdDO0NTTW5DOztBQVBEO0VBS1EsYVRMMkI7Q1NNOUI7O0FBRUw7RUNaRyxnQlZnRWdDO0VVL0RoQyxvQlZrQ2dDO0VVakNoQyxtQlZZZ0M7RVNBaEMsaUJUaUU2QjtDU2hFL0I7O0FDWEU7RUFDSSxtQlZTNEI7Q1VSL0I7O0FEVUo7RUNoQkcsZ0JWOERnQztFVTdEaEMsb0JWZ0NnQztFVS9CaEMsa0JWZWdDO0NTQ2xDOztBQ2RFO0VBQ0ksa0JWWTRCO0NVWC9COztBRGFKO0VDbkJHLGdCVjZEZ0M7RVU1RGhDLG9CVmdDZ0M7RVUvQmhDLGlCVmtCZ0M7Q1NDbEM7O0FDakJFO0VBQ0ksaUJWZTRCO0NVZC9COztBRGdCSjtFQUNJLGlCQUFnQjtDQUNuQjs7QUFFRDtFQUNJLFlBQVc7Q0FDZDs7QUFDRDtFQUNJLGlCQUFnQjtDQUNuQjs7QUFDRDtFQUNJLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsaUJBQWdCO0VBQ2hCLFdBQVU7Q0FDYjs7QUdqSEQ7RUFDSSxnQkFBZTtFQUNmLGFBQVk7Q0FDZjs7QUFFRDtFQ0NHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NDVDs7QUFDRDtFQ0ZHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NJVDs7QUFDRDtFQ0xHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NPVDs7QUFDRDtFQ1JHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NVVDs7QUFFRDtFQUNJLGVBQWM7RUFDZCxZQUFXO0VBQ1gsZ0JabUgrQjtFWWxIL0IsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsbUJaK0YrQjtFWTlGL0I7dURBQ21EO0VBQ25ELHVGQUFzRjtFQUV0RiwrRUFBc0U7RUFBdEUsdUVBQXNFO0VBQXRFLDRHQUFzRTtFQzdCdEUsa0JiZ0ZnQztFYS9FaEMsYWIrSCtCO0VZaEcvQjs7Ozs7OztnQ0FPNEI7Q0FzRC9COztBQTVFRDtFQXlCVywwQlpqQ3lCO0VZbUN6QixzQkFBcUI7RUFDcEIsaUNBQWdDO0VBQ2hDO2lEQUNxQztDQUM1Qzs7QUFFRDs7OztFUnhDRix5QlE0QzhCO0VSM0N0QixpQlEyQ3NCO0NBQzNCOztBQUVEO0VBQ0ksMEJadkI0QjtFWXdCNUIsZVpaNEI7Q1lnQi9COztBQU5EO0VBSVMsMEJaZHVCO0NZZTNCOztBQUVMO0VBQ0ksMEJaeEQ0QjtDWXlEL0I7O0FBQ0Q7RUFDSSwwQlpsQzRCO0VZbUM1QixlWlQ0QjtDWWEvQjs7QUFORDtFQUlTLDBCWlh1QjtDWVkzQjs7QUFFTDtFQUNJLDBCWmxFNEI7Q1ltRS9COztBQTNETDtFQThEUSxtQlp5QzJCO0VZeEMzQixnQlp1RDJCO0VZdEQzQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxTQUFRO0VBQ1IsdUJBQXNCO0NBQ3pCOztBQXJFTDtFQXVFUywwQlp6RTJCO0NZMEUvQjs7QUFDRDtFQUNJLGlDQUFnQztDQUNuQzs7QUFHTDtFQUNJLGFBQVk7RUFDWixtQlpSK0I7RVlTL0IsZ0JBQWU7RUFDZix1QkFBc0I7RUFDdEIsbUJBQWtCO0NBQ3JCOztBQUVEO0VBRVEsZVo3QzRCO0NZOEMvQjs7QUFFTDtFQUVRLGVaL0Q0QjtDWWdFL0I7O0FBSUw7RUFDSSwwQlpuRmdDO0VZb0ZoQyxvQkFBbUI7RUFDbkIsbUJaQytCO0NZZWxDOztBQWRHOztFQUVJLDBCWmxINEI7Q1ltSC9COztBQUNEO0VBQ0ksZVpqRTRCO0NZa0UvQjs7QUFDRDtFQUNJLGVaakY0QjtDWWtGL0I7O0FBQ0Q7O0VBRUksMEJaNUg0QjtDWTZIL0I7O0FBRUw7RUFFUSwwQloxSDRCO0NZMkgvQjs7QUFFTDtFQUNJLG9CQUFtQjtDQUN0Qjs7QUFDRDtFQUVRLDBCWnBINEI7Q1lxSC9COztBQUVMOzs7O0VBSUkscUJBQW9CO0NBQ3ZCOztBQUNEOzs7O0VBSUksb0JBQW1CO0NBQ3RCOztBQUNEO0VBQ0ksMEJacElnQztFWXFJaEMsb0JBQW1CO0VDN0pwQixlYjBCaUM7RVc3QmxDLFdFSW1CO0VGRG5CLDJCQUFRO0NDK0pUOztBQUNEO0VDaEtHLGViMEJpQztFVzdCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NrS1Q7O0FBQ0Q7RUNuS0csZWJ5QmlDO0VXNUJsQyxXRUltQjtFRkRuQiwyQkFBUTtDQ3FLVDs7QUFDRDtFQ3RLRyxlYnlCaUM7RVc1QmxDLFdFSW1CO0VGRG5CLDJCQUFRO0NDd0tUOztBQUNEO0VDektHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0MyS1Q7O0FBQ0Q7RUFDSSxrQlo3SzRCO0VZOEs1QixrQlpuR2dDO0NZb0duQzs7QUFDRDtFQUNJLHNCWnhKZ0M7Q1l5Sm5DOztBQUVEO0VBQ0ksZUFBYztDQUNqQjs7QUFDRDtFQUNJLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLGFBQVk7Q0FDZjs7QUVqTUQ7RUFDSSxVQUFTO0VBQ1QsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZ0JBQWU7Q0F5Q2xCOztBQXZDRztFQUNJLG1CQUFrQjtDQUVyQjs7QUFDRDtFQUNJLGlCQUFnQjtFQUNoQixRQUFPO0VBQ1AsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixVQUFTO0VBQ1QsWUFBVztFQUNYLFdBQVU7Q0FDYjs7QUFDRDtFQUNJLFVBQVM7Q0FDWjs7QUF0Qkw7RUF5QlEsZ0JBQWU7RUFDZixlQUFjO0VBQ2QsV0FBVTtFQUNWLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1Isa0JBQWlCO0NBQ3BCOztBQS9CTDtFQWtDUSxlQUFjO0VBQ2QsZUFBYztDQUNqQjs7QUFwQ0w7RUF1Q1EsNkJBQTRCO0VBQzVCLG1CZGdGMkI7Q2MvRTlCOztBQXpDTDtFQTRDUSxtQkFBa0I7Q0FDckI7O0FBRUw7RUFDSSwwQmRxSzJCO0VjcEszQixlZEtnQztDY0puQzs7QUFDRDtFQUNJLDBCZGtLMkI7RWNqSzNCLGVkSGdDO0NjSW5DOztBQUNEO0VBQ0ksMEJkK0oyQjtFYzlKM0IsZWRDZ0M7Q2NBbkM7O0FBQ0Q7RUFDSSwwQmQ0SjJCO0VjM0ozQixlZEVnQztDY0RuQzs7QUM5REQ7Ozs7OztFQU1ZLDhCZlV3QjtDZVQzQjs7QUFQVDtFQVVPLHVCQUFzQjtFQUN0QixrQmZ3SThCO0Vldkk5QixpQmY4SXlCO0NlN0k1Qjs7QUFiSjs7RUFpQk8sY0FBYTtFQUNiLG9CQUFtQjtFQUNuQixXQUFVO0VBQ1YsWUFBVztDQUNkOztBQXJCSjs7Ozs7O0VBNEJPLGNBQWE7RUFDYix1QkFBc0I7Q0FDekI7O0FBOUJKO0VBaUNPLGlCQUFnQjtDQUNuQjs7QUFsQ0o7RUFvQ08sZ0JBQWU7RUFDZixpQmZxSHlCO0VlcEh6QixnQkFBZTtFQUNmLGtCQUFpQjtDQUNwQjs7QUF4Q0o7RUEwQ1EsaUJmbUh3QjtFZWxIeEIsa0Jmd0c2QjtFZXZHN0Isa0JBQWlCO0VBQ2pCLGtCQUFpQjtDQUNwQjs7QUE5Q0w7RUFvRFksa0JBQWlCO0VBQ2pCLG1CQUFrQjtDQUNyQjs7QUF0RFQ7RUEwRFEsbUJBQWtCO0NBQ3JCOztBQUVMO0VBRVEsdUJBQXNCO0NBQ3pCOztBQUhMO0VBS1EsMEJmckQ0QjtDZXNEL0I7O0FBTkw7Ozs7OztFQWFRLGtCQUFpQjtDQUNwQjs7QUMzRUwscUNBQXFDO0FBQ3JDOztFQUVJLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLCtDQUE4QztFQUM5Qyx1Q0FBc0M7RUFDdEMsZ0JoQmdJK0I7RWdCL0gvQixvQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLGVoQlRnQjtFZ0JVaEIsZ0JBQWU7Q0ErQmxCOztBQTFDRDs7RUFjTSxlaEJiYztFZ0JjZCxlQUFjO0VBQ2QsYUFBWTtFQUNaLFFBQU87RUFDUCxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLGdCQUFlO0VBQ2YsZ0JBQWU7RUFDZiwrQ0FBOEM7RUFDOUMsdUNBQXNDO0VBRXJDLGFBQVk7Q0FDZDs7QUE3Qkw7O0VBa0NZLFdBQVU7Q0FDYjs7QUFuQ1Q7O0VBdUNRLHlCQUF3QjtFQUN4QixjQUFhO0NBQ2hCOztBQUdMOztFQUdRLG1CQUFrQjtDQUNyQjs7QUFHTDs7OztFQUlFLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsUUFBTztFQUNQLE9BQU07RUFDTiw4QkFBNkI7RUFDN0IsVUFBUztFTDFEVCxXSzJEa0I7RUx4RGxCLDJCQUFRO0NLeURUOztBQUNEOztFTDdERSxXSytEa0I7RUw1RGxCLHlCQUFRO0NLNkRUOztBQUNEOztFQUVFLHNDQUFxQztFQUNyQyw4QkFBNkI7Q0FDOUI7O0FBQ0Q7O0VMdEVFLFdLd0VpQjtFTHJFakIseUJBQVE7Q0tzRVQ7O0FBQ0Q7O0VMMUVFLFdLNEVrQjtFTHpFbEIsMkJBQVE7Q0swRVQ7O0FBS0Q7O0VBRUUsV0FBVTtFQUNWLHlCQUF3QjtDQUN6Qjs7QUFDRDs7RUFFRSxXQUFVO0VBQ1YsMkJBQTBCO0VBRTFCLHNDQUFxQztFQUNyQyw4QkFBNkI7Q0FDOUI7O0FBQ0Q7O0VBRUUsZ0JBQWU7RUFDZixlaEJ0RWtDO0NnQnVFbkM7O0FBQ0Q7O0VBRUUsZWhCMUVrQztDZ0IyRW5DOztBQUNEOztFQUVFLFdBQVU7RUFDViwyQkFBMEI7Q0FDM0I7O0FBQ0Q7O0VBRUUsV0FBVTtFQUNWLHlCQUF3QjtDQUN6Qjs7QUFDRDs7RUFFRSxlaEJ4RmtDO0NnQnlGbkM7O0FBQ0Q7O0VBRUUsV0FBVTtFQUNWLHlCQUF3QjtDQUN6Qjs7QUFDRDs7RUFFRSxXQUFVO0VBQ1YsZWhCbEdrQztFZ0JtR2xDLDJCQUEwQjtDQUMzQjs7QUNuSUQ7O0VBSVksOEJBQTZCO0NBQ2hDOztBQUdUO0VBQ0ksVWpCSjBCO0VpQksxQixpQkFBZ0I7RUFDaEIsZ0JqQjJJK0I7RWlCMUkvQixXQUFVO0NBc0NiOztBQTFDRDtFQU9RLGVqQk40QjtFaUJPNUIsaUJqQjBJd0I7RWlCekl4QixnQmpCK0trQztFaUI5S2xDLG1CakI2S2tDO0VpQjVLbEMsZ0JqQjBIMkI7Q2lCekg5Qjs7QUFaTDtFQWVhLHFCQUFvQjtFQUNwQixpQmpCK0o2QjtFaUI5SjdCLG1CakI2SjZCO0NpQmpKaEM7O0FBN0JWOztFQXFCZ0Isc0JBQXFCO0VBQ3JCLFVBQVM7Q0FDWjs7QUF2QmI7RUF5QmdCLG1CQUFrQjtFQUNsQixrQkFBaUI7RUFDakIsU0FBUTtDQUNYOztBQTVCYjtFQStCYSxpQmpCb0o0QjtFaUJuSjVCLGtCakJ5Q3VCO0NpQnhDMUI7O0FBakNWO0VBb0NPLGlCakJ3Sm1DO0VpQnZKbkMsZ0JqQjJGNEI7Q2lCMUY5Qjs7QUF0Q0w7RUF3Q1EsZ0JqQjJGMkI7Q2lCMUY5Qjs7QUFHTDtFQUNJLG1CakJxRThCO0VpQnBFOUIsaUJBQWdCO0NBQ25COztBQUVEO0VBQ0ksZWpCakRnQztFaUJrRGhDLDBCakIzRGdDO0VpQjREaEMsaUNqQjdCZ0M7Q2lCK0VuQzs7QUFyREQ7RUFNUSwwQkFBOEI7Q0FDakM7O0FBUEw7RUFVWSxlakIxRHdCO0NpQjJEM0I7O0FBWFQ7Ozs7O0VBa0JZLDhCQUE2QjtFQUM3QixtQkFBa0I7RUFDbEIsZWpCekJ3QjtFV2pEbEMsV00yRTRCO0VOeEU1QiwyQkFBUTtDTXlFRDs7QUF0QlQ7O0VBMEJZLDZCakIvQndCO0VpQmdDeEIsMEJqQmhDd0I7Q2lCa0MzQjs7QUE3QlQ7OztFQWtDWSw4QkFBNkI7RUFDN0IsZWpCeEN3QjtDaUJ5QzNCOztBQXBDVDtFQXVDWSw4QkFBNkI7Q0FDaEM7O0FBeENUO0VBNkNRLGVqQmxENEI7RWlCbUQ1QixzQmpCbkQ0QjtDaUJvRC9COztBQS9DTDs7O0VBbURZLGVqQjVFd0I7Q2lCNkUzQjs7QUFHVDtFYnJHRSx5QmFzR3lCO0VickdqQixpQmFxR2lCO0NBZTFCOztBQWhCRDtFSnJHSSxpQkFBZ0I7RUFDaEIsVUFBUTtFQUNSLFdBQVU7RUFDViw4QkFBNkI7RUlzR3pCLGFBQVk7RUFDWixnQmpCaUMyQjtFaUJoQzNCLG1CakIwQzRCO0VpQnpDNUIsZWpCekY0QjtDaUIwRi9COztBQUNEOztFQUVJLGVqQmxINEI7RWlCbUg1QixVakJ2SHNCO0VpQndIdEIsa0RqQnBINEI7Q2lCcUgvQjs7QUFJTDtFQ2pJSSwwQmxCbU4yQjtDaUJoRjlCOztBQUNEO0VDcElJLDBCbEJvTjJCO0NpQjlFOUI7O0FBQ0Q7RUN2SUksMEJsQnFOMkI7Q2lCNUU5Qjs7QUFDRDtFQzFJSSwwQmxCc04yQjtDaUIxRTlCOztBQUNEO0VDN0lJLDBCbEJ1TjJCO0NpQnhFOUI7O0FBRUQ7RUFDSSxrQkFBaUI7RUFDakIsOEJBQTZCO0VBQzdCLHFDQUFvQztDQUN2Qzs7QUFFRDtFQUNJLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsVWpCdEowQjtDaUJvSzdCOztBQWpCRDtFQU1RLDBCakJySjRCO0NpQnNKL0I7O0FBUEw7O0VBVVEsMEJBQXlCO0NBQzVCOztBQVhMOztFQWVRLDhCQUE2QjtDQUNoQzs7QUFHTDtFTnhLRSxhTTRLeUI7RU56S3pCLDBCQUFRO0NNcUxMOztBQWhCTDtFQVVZLDhCQUE2QjtFTmxMdkMsV01vTDRCO0VOakw1QiwyQkFBUTtDTW1MRDs7QUFkVDtFQW9CUSxlakJ0TDRCO0NpQndML0I7O0FBdEJMO0VBNEJZLGVqQjlMd0I7RWlCZ014QixzQmpCaE13QjtFV05sQyxhTXdNOEI7RU5yTTlCLDBCQUFRO0NNdU1EOztBQWxDVDs7Ozs7Ozs7O0VBOENZLDhCQUE2QjtFQUU3QixtQkFBa0I7RUFFbEIsZWpCcE53QjtFV05sQyxXTTRONEI7RU56TjVCLDJCQUFRO0NNMk5EOztBQXREVDtFQTBEWSw4QkFBNkI7Q0FFaEM7O0FBNURUOzs7OztFQW9FWSw2QmpCdE93QjtFaUJ3T3hCLDBCakJ4T3dCO0NpQjBPM0I7O0FBeEVUOzs7OztFQWdGWSw4QkFBNkI7RUFFN0IsZWpCcFB3QjtFV05sQyxXTTRQNEI7RU56UDVCLDJCQUFRO0NNMlBEOztBQXRGVDtFQTRGUSxlakI5UDRCO0VpQmdRNUIsc0JqQmhRNEI7Q2lCa1EvQjs7QUFoR0w7RUFvR1EsZWpCL080QjtFaUJpUDVCLDBCakJ4UTRCO0VXTmxDLGFNZ1J5QjtFTjdRekIsMEJBQVE7Q00rUUw7O0FBMUdMOzs7Ozs7Ozs7RUFzSFEsc0JqQnhSNEI7RVdObEMsV01nU3dCO0VON1J4QiwyQkFBUTtDTStSTDs7QUVyU0w7RUFDSSw2QkFBNEI7RUFDNUIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtDQXNDcEI7O0FBekNEO0VBTVUsaUJBQWdCO0VBQ2hCLFVBQVM7RUFDVCxXQUFVO0VBQ1Ysb0JBQW1CO0NBa0JwQjs7QUEzQlQ7RUFXb0Isc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLG1CQUFrQjtDQUN6Qjs7QUFoQmI7RUFrQmdCLGVuQmhCSTtFbUJpQkosZUFBYztFQUNkLG1CQUFrQjtDQU1yQjs7QUExQmI7RUF3Qm9CLGVuQmtCZ0I7Q21CakJuQjs7QUF6QmpCO0VBOEJRLGVuQjVCWTtFbUI2QlosbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2Ysb0JBQW1CO0VBQ25CLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsbUJBQWtCO0NBQ3JCOztBQXJDTDtFQXVDUSxlbkJzQjRCO0NtQnJCL0I7O0FDeENMO0VBQ0ksMEJwQllnQztFb0JYaEMsZUFBYztFQUNkLG1CcEJ1SDhCO0VvQnRIOUIsZUFBYztFQUNkLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixjQUFhO0VUTmYsV1NRb0I7RVRMcEIseUJBQVE7RVBLUixrRko2SnNGO0VJNUo5RSwwRUo0SjhFO0NvQjlEdkY7O0FBM0ZHO0VUWkYsV1Nhd0I7RVRWeEIsMkJBQVE7RVNXRixvQkFBbUI7Q0FDdEI7O0FBbEJMO0VBcUJRLDBCcEJQNEI7RW9CUTVCLFlBQVc7Q0FDZDs7QUF2Qkw7RUEwQlEsZXBCTTRCO0VvQkw1QixnQnBCK0cyQjtFb0I5RzNCLG1CcEIyRTRCO0NvQjFFL0I7O0FBR0Q7RUFDRyw2QnBCcUlpQztFSTNKdEMseUJnQnVCNkI7RWhCdEJyQixpQmdCc0JxQjtFaEJzQnpCLG9DSndIZ0M7RUlwSDlCLDRCSm9IOEI7RUl4SWpDLDRCQUFnQztFQUk3QixvQkFBd0I7RUFwQjVCLHFDSjBKd0Q7RUl0SnhELDZCSnNKd0Q7RW9CNUlyRCxrQkFBaUI7Q0FDbkI7O0FBQ0Q7RUFDSSxpQkFBZ0I7Q0FDbkI7O0FBMUNMO0VBNkNPLGVwQjNDYTtFb0I0Q2IsZ0JwQjBGNEI7RW9CekY1QixtQnBCd0Q2QjtFSXZFaEMseUJBQXdCO0VBSXhCLGlCQUFnQjtDZ0JpQmY7O0FBckRMO0VBbURXLGlCQUFnQjtDQUNuQjs7QUFwRFI7RUF1RFEsc0JBQXFCO0NBQ3hCOztBQUVEO0VBQ0ksZ0JBQWU7Q0FDbEI7O0FBNURMO0VBK0RPLDRCcEIyRDJCO0VvQjFEM0IsNkJwQjBEMkI7Q29CekQ3Qjs7QUFqRUw7RUFvRVEsK0JwQnNEMEI7RW9CckQxQixnQ3BCcUQwQjtDb0JwRDdCOztBQUVEO0VBQ0ksaUJBQWdCO0VBQ2hCLHNCQUFxQjtDQUN4Qjs7QUEzRUw7O0VBK0VRLDBCcEJ2Q2U7RW9Cd0NmLGdDcEI3RWtDO0VvQjhFbEMsV0FBVTtFQUNWLHNCQUFxQjtDQUN4Qjs7QUFuRkw7O0VBdUZRLDBCcEIzQzRCO0NvQjRDL0I7O0FBeEZMOztFQTJGUSwwQnBCdkM0QjtDb0J3Qy9COztBQTVGTDs7RUErRlEsMEJwQi9DNEI7Q29CZ0QvQjs7QUFoR0w7O0VBbUdRLDBCcEIzQzRCO0NvQjRDL0I7O0FBcEdMOztFQXVHUSwwQnBCMUM0QjtDb0IyQy9COztBQUtMO0VBQ0ksaUJBQWdCO0NBQ25COztBQUNEO0VBQ0ksa0JBQWlCO0NBQ3BCOztBQ2xIRDtFQUNJLFVBQVM7RUFDVCxtQnJCd0g4QjtFcUJ2SDlCLHVEQUE4QztVQUE5QywrQ0FBOEM7RUFDOUMsMEJBQXlCO0VBQ3pCLGVyQmlQK0I7RXFCaFAvQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLFdBQVU7RUFFViw2QkFBNEI7RUFDNUIsOEJBQTZCO0VBQzdCLDJCQUFzQjtNQUF0Qix1QkFBc0I7RUFDdEIsdUJBQXNCO0NBbUt6Qjs7QUFoTEQ7RUFnQlEsb0JBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxpQkFBZ0I7Q0FDbkI7O0FBbEJMO0VBcUJRLGVBQWM7Q0FDakI7O0FBdEJMO0VBeUJRLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsY0FBYTtFQUNiLDJCQUFnRTtFQUNoRSxtQkFBa0I7RUFDbEIscUNBQW9DO0VBRXBDLDZCQUE0QjtDQUsvQjs7QUFyQ0w7RUFtQ1ksWUFBVztDQUNkOztBQXBDVDtFQXVDUSw2QkFBNEI7Q0FDL0I7O0FBeENMO0VBMENRLHFCQUFvQjtDQUN2Qjs7QUEzQ0w7RUE2Q1EsZ0JyQndHMkI7RXFCdkczQixlckI1Q1k7Q3FCNkNmOztBQS9DTDtFQWtEUSxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtDQUN0Qjs7QUFyREw7RUF3RFEsZ0JyQmtGMkI7RXFCakYzQixVQUFTO0NBQ1o7O0FBMURMOztFQTZEUSxnQnJCMkUyQjtFcUIxRTNCLGlCckI2RndCO0VxQjVGeEIsZXJCL0I0QjtFcUJnQzVCLG1CQUFrQjtDQUlyQjs7QUFwRUw7O0VBa0VZLGdCckJtRnVCO0NxQmxGMUI7O0FBbkVUO0VBdUVRLGdCQUFlO0VBQ2YsbUJBQWtCO0NBQ3JCOztBQXpFTDtFQTRFUSxVckJ2RXNCO0VxQndFdEIsZXJCeUsyQjtFcUJ4SzNCLGlCckI0RXdCO0NxQjNFM0I7O0FBL0VMO0VBaUZRLFlBQVc7RUFDWCxhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixrQkFBaUI7Q0FDcEI7O0FBdEZMO0VBd0ZRLFdBQVU7RUFDVixrQkFBaUI7Q0FVcEI7O0FBbkdMO0VBNEZZLGVBQWM7Q0FDakI7O0FBN0ZUO0VBZ0dZLGdCQUFlO0VBQ2YsbUJBQWtCO0NBQ3JCOztBQWxHVDtFQXFHUSxlQUFjO0VBQ2QsaUJBQWdCO0NBTW5COztBQTVHTDtFQXdHWSxrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZixzQkFBcUI7Q0FDeEI7O0FBM0dUO0VBOEdRLHNCQUFxQjtDQUN4Qjs7QUEvR0w7RUFrSFEsZ0JyQndCMkI7RXFCdkIzQixpQnJCMEN3QjtFcUJ6Q3hCLDBCQUF5QjtDQUM1Qjs7QUFySEw7RUF1SFEsZ0JyQmlCMkI7Q3FCaEI5Qjs7QUF4SEw7RUEySFEsYUFBWTtFQUNaLGFBQVk7RUFDWixPQUFNO0VBQ04sV0FBVTtFQUNWLDBCckJoRzRCO0VxQmlHNUIsWUFBVztFQUNYLG1CQUFrQjtDQUNyQjs7QUFsSUw7RUFxSVEsb0JBQW1CO0VBQ25CLGNBQWE7Q0FDaEI7O0FBdklMOztFQTRJWSxtQkFBa0I7Q0FDckI7O0FBN0lUOztFQWlKWSxvQkFBbUI7Q0FDdEI7O0FBbEpUO0VBc0pRLG1CckI5QjJCO0VxQitCM0IsbUJBQWtCO0NBS3JCOztBQTVKTDtFQTBKWSxtQkFBa0I7Q0FDckI7O0FBM0pUO0VBOEpRLGVBQWM7RUFDZCxpQkFBZ0I7Q0FDbkI7O0FBaEtMO0VBa0tRLGVBQWM7RUFDZCxrQkFBaUI7Q0FJcEI7O0FBdktMO0VBcUtZLFVBQVM7Q0FDWjs7QUF0S1Q7RUEwS1ksa0JBQWlCO0NBSXBCOztBQTlLVDtFQTRLZ0IsaUNyQjlKb0I7Q3FCK0p2Qjs7QUFJYjtFQUVRLDJCQUEwQjtFQUMxQixjQUFhO0VBQ2IsbUJBQWtCO0VBQ2xCLGlCQUFnQjtDQUtuQjs7QUFWTDtFQVFZLFlBQVc7Q0FDZDs7QUFUVDtFQVlRLFVBQVM7RUFDVCxrQkFBaUI7Q0FDcEI7O0FBZEw7RUFnQlEsbUJBQWtCO0VBQ2xCLHFCQUFvQjtFQUNwQixrQkFBaUI7Q0FPcEI7O0FBekJMO0VBb0JZLGVyQjNKd0I7Q3FCK0ozQjs7QUF4QlQ7RUFzQmdCLGVyQmdEbUI7Q3FCL0N0Qjs7QUF2QmI7RUEyQlEsYUFBWTtFQUNaLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtDQVF0Qjs7QUF2Q0w7RUFrQ1ksMEJyQjFNd0I7Q3FCMk0zQjs7QUFuQ1Q7RUFxQ1ksMEJyQmlDdUI7Q3FCaEMxQjs7QUF0Q1Q7RUF5Q1EsaUJBQWdCO0VBQ2hCLGtCQUFpQjtDQUNwQjs7QUEzQ0w7RUE2Q1EsaUJBQWdCO0NBQ25COztBQTlDTDtFQWdEUSxrQkFBaUI7Q0FDcEI7O0FBakRMO0VBcURZLGNBQWE7RUFDYixhQUFZO0NBQ2Y7O0FBSVQ7RUFFUSxjQUFhO0VBQ2Isa0JBQWlCO0NBS3BCOztBQVJMO0VBTVksYUFBWTtDQUNmOztBQUdUOztFQUdRLHVCQUFzQjtDQUN6Qjs7QUFKTDs7RUFNUSxpQkFBZ0I7Q0FDbkI7O0FBRUw7RUFDSSw4QkFBNkI7RUFDN0IseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixpQkFBZ0I7Q0FLbkI7O0FBUkQ7RUFNUSxtQkFBa0I7Q0FDckI7O0FDcEpIO0VBeERBLHlCckI3QmdDO0VxQjhCaEMsMEJyQjlCZ0M7RXFCK0JoQyxpQnJCOUJrQjtFcUIrQmxCLGVyQjVCcUI7Q3FCbUZwQjs7QUFFRDs7RUFyRUEsZUFBYztFQUNkLHFCQUFvQjtFQUVwQixxQkFBb0I7RUFFcEIsY0FBYTtDQW1FWjs7QUFFRDtFQTlGQSw0QkErRm9DO0VBN0ZwQyx5QkE2Rm9DO0VBNUZwQyxzQkE0Rm9DO0VBM0ZwQyw2QkEyRmdEO0VBekZoRCwwQkF5RmdEO0VBeEZoRCw0QkF3RmdEO0VBckY5QyxpQkFBZ0I7RUF1RmhCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQXBHQSw4QkFxR3NDO0VBbkd0QywyQkFtR3NDO0VBbEd0Qyx3QkFrR3NDO0VBakd0Qyw2QkFpR2tEO0VBL0ZsRCwwQkErRmtEO0VBOUZsRCw0QkE4RmtEO0VBM0ZoRCxpQkFBZ0I7RUE2RmhCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQTFHQSw0QkEyR29DO0VBekdwQyx5QkF5R29DO0VBeEdwQyxzQkF3R29DO0VBdkdwQywyQkF1RzhDO0VBckc5Qyx3QkFxRzhDO0VBcEc5QywwQkFvRzhDO0VBL0Y1QyxrQkFBaUI7RUFpR2pCLGlCQUFnQjtDQUNqQjs7QUFFRDtFQWhIQSw0QkFpSG9DO0VBL0dwQyx5QkErR29DO0VBOUdwQyxzQkE4R29DO0VBN0dwQyw2QkE2R2dEO0VBM0doRCwwQkEyR2dEO0VBMUdoRCw0QkEwR2dEO0VBdkc5QyxpQkFBZ0I7RUF5R2hCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQXRIQSw0QkF1SG9DO0VBckhwQyx5QkFxSG9DO0VBcEhwQyxzQkFvSG9DO0VBbkhwQyx5QkFtSDRDO0VBakg1QyxzQkFpSDRDO0VBaEg1Qyx3QkFnSDRDO0VBekcxQyxtQkFBa0I7RUEyR2xCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQTVIQSw4QkE2SHNDO0VBM0h0QywyQkEySHNDO0VBMUh0Qyx3QkEwSHNDO0VBekh0Qyx5QkF5SDhDO0VBdkg5QyxzQkF1SDhDO0VBdEg5Qyx3QkFzSDhDO0VBL0c1QyxtQkFBa0I7RUFpSGxCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQWxJQSw0QkFtSW9DO0VBaklwQyx5QkFpSW9DO0VBaElwQyxzQkFnSW9DO0VBL0hwQyw2QkErSGdEO0VBN0hoRCwwQkE2SGdEO0VBNUhoRCw0QkE0SGdEO0VBekg5QyxpQkFBZ0I7RUEySGhCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQXhJQSw4QkF5SXNDO0VBdkl0QywyQkF1SXNDO0VBdEl0Qyx3QkFzSXNDO0VBckl0Qyw2QkFxSWtEO0VBbklsRCwwQkFtSWtEO0VBbElsRCw0QkFrSWtEO0VBL0hoRCxpQkFBZ0I7RUFpSWhCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQTlJQSwwQkFnSmtDO0VBOUlsQyx1QkE4SWtDO0VBN0lsQyxvQkE2SWtDO0VBNUlsQywyQkE0STRDO0VBMUk1Qyx3QkEwSTRDO0VBekk1QywwQkF5STRDO0VBcEkxQyxrQkFBaUI7RUFzSWpCLGlCQUFnQjtDQUNqQjs7QUFFRDtFQXJKQSwwQkFzSmtDO0VBcEpsQyx1QkFvSmtDO0VBbkpsQyxvQkFtSmtDO0VBbEpsQyw2QkFrSjhDO0VBaEo5QywwQkFnSjhDO0VBL0k5Qyw0QkErSThDO0VBNUk1QyxpQkFBZ0I7RUE4SWhCLGlCQUFnQjtDQUNqQjs7QUFFRDtFQXZIQSwyQnJCN0JnQztFcUI4QmhDLGtCckI1QmlCO0VxQitCZixzQnJCaENtQjtDcUJxSnBCOztBQUVEO0VBbEhBLG1CckIvQmtCO0VxQmdDbEIsc0JyQjlCb0I7Q3FCaUpuQjs7QUFFRDtFQWpIQSxXQUFVO0VBQ1Ysa0JyQnZDaUI7Q3FCeUpoQjs7QUFFRDtFQTVHQSxhQUFZO0VBQ1osa0JyQjFDbUI7Q3FCdUpsQjs7QUFFRDtFQTNHQSxXQUFVO0VBQ1YsbUJyQjVDaUI7Q3FCd0poQjs7QUFFRDtFQTFHQSxXQUFVO0VBQ1YsbUJyQjlDbUI7Q3FCeUpsQjs7QUF2R0Q7RUFDRSxnQnRCcERnQztDc0JxRGpDOztBQUVEO0VBQ0UsY3RCeERnQztDc0J5RGpDOztBQU5EO0VBQ0UsZ0J0QmhEZ0M7Q3NCaURqQzs7QUFFRDtFQUNFLGN0QnBEZ0M7Q3NCcURqQzs7QUFORDtFQUNFLGdCdEIzQ2dDO0NzQjRDakM7O0FBRUQ7RUFDRSxjdEIvQ2dDO0NzQmdEakM7O0FBTkQ7RUFDRSxnQnRCeERnQztDc0J5RGpDOztBQUVEO0VBQ0UsY3RCNURnQztDc0I2RGpDOztBQU5EO0VBQ0UsZ0J0QjVEZ0M7Q3NCNkRqQzs7QUFFRDtFQUNFLGN0QmhFZ0M7Q3NCaUVqQzs7QUFORDtFQUNFLGlDdEJwRGdDO0NzQnFEakM7O0FBRUQ7RUFDRSwrQnRCeERnQztDc0J5RGpDOztBQU5EO0VBQ0UsaUN0QnhEZ0M7Q3NCeURqQzs7QUFFRDtFQUNFLCtCdEI1RGdDO0NzQjZEakM7O0FBTkQ7RUFDRSxnQ3RCaERnQztDc0JpRGpDOztBQUVEO0VBQ0UsOEJ0QnBEZ0M7Q3NCcURqQzs7QUFORDtFQUNFLCtCdEIzQ2dDO0NzQjRDakM7O0FBRUQ7RUFDRSw2QnRCL0NnQztDc0JnRGpDOztBQU5EO0VBQ0UsaUN0QjVEZ0M7Q3NCNkRqQzs7QUFFRDtFQUNFLCtCdEJoRWdDO0NzQmlFakM7O0FBTkQ7RUFDRSxpQ3RCcERnQztDc0JxRGpDOztBQUVEO0VBQ0UsK0J0QnhEZ0M7Q3NCeURqQzs7QUFORDtFQUNFLGlDdEJ4RGdDO0NzQnlEakM7O0FBRUQ7RUFDRSwrQnRCNURnQztDc0I2RGpDOztBQU5EO0VBQ0UsZ0N0QmhEZ0M7Q3NCaURqQzs7QUFFRDtFQUNFLDhCdEJwRGdDO0NzQnFEakM7O0FBTkQ7RUFDRSwrQnRCM0NnQztDc0I0Q2pDOztBQUVEO0VBQ0UsNkJ0Qi9DZ0M7Q3NCZ0RqQzs7QUFORDtFQUNFLGlDdEI1RGdDO0NzQjZEakM7O0FBRUQ7RUFDRSwrQnRCaEVnQztDc0JpRWpDOztBQW1IRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHFCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHVCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHNCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHVCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHNCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQ3pCSDtFQUNJO0lBQ0ksaUJBQWdCO0dBQ25CO0VBQ0Q7SUFDSSxpQkFBZ0I7SUFDaEIsb0JBQW1CO0lBQ25CLGtCQUFpQjtJQUNqQixtQkFBa0I7R0FDckI7RUFDRDtJQUNJLGNBQWE7R0FDaEI7RUFDRDs7SUFFSSxnREFBdUM7WUFBdkMsd0NBQXVDO0lBQ3ZDLGtIQUF5RztJQUF6RywwR0FBeUc7R0FDNUc7RUFDRDtJQUNJLDhDQUFxQztZQUFyQyxzQ0FBcUM7R0FDeEM7RUFFRDtJQUNJLGtDdkJUNEI7SXVCVTVCLG9DQUF3QztJQUN4QyxxQ0FBeUM7SUFDekMsWUFBVztJQUNYLHNCQUFxQjtJQUNyQixtQkFBa0I7SUFDbEIsWUFBVztJQUNYLFdBQVU7R0FDYjtFQUNEO0lBQ0ksa0N2QnBCNEI7SXVCcUI1QixvQ0FBd0M7SUFDeEMscUNBQXlDO0lBQ3pDLFlBQVc7SUFDWCxzQkFBcUI7SUFDckIsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxXQUFVO0dBQ2I7RUFFRDtJQUNJLFlBQVc7SUFDWCxXQUFVO0dBQ2I7RUFFRDtJQUNJLFlBQVc7SUFDWCxXQUFVO0dBQ2I7RUFFRDtJQUVRLGtCQUFpQjtHQUNwQjtFQUdMO0lBR1MsZUFBYztHQUNmO0VBSVI7SUFDSSx5QkFBd0I7R0FDM0I7RUFFRDtJQUdZLGFBQVk7R0FDZjtFQUpUO0lBTVksbUJBQWtCO0dBQ3JCO0VBUFQ7SUFTWSxvQkFBbUI7R0FDdEI7Q0NxdUdaOztBRGh1R0QsNkNBQTZDO0FBRTdDO0VBQ0k7SUFDSSxjQUFhO0dBQ2hCO0VBRUQ7SUFDSSxZQUFXO0dBQ2Q7RUFDRDtJQUNJLGtCQUFpQjtJQUNqQixzQ0FBcUM7R0FDeEM7RUFDRDtJQUNLLG1CQUFrQjtHQUN0QjtFQUNEO0lBQ0ksZUFBYztHQUNqQjtFQUNEO0luQjFEQywwQ0FBNkM7SUFJMUMsa0NBQW9DO0lBNUJ4QyxvRW1Cb0ZvRTtJbkJoRnBFLDREbUJnRm9FO0lBQ2pFLFFBQU87SUFDUCx3QkFBdUI7R0FDekI7RUFDRDtJQUNLLFFBQU87SUFDTixZQUFXO0luQjFGakIsb0VtQjJGc0U7SW5CdkZ0RSw0RG1CdUZzRTtJQUNqRSxtQkFBa0I7R0FDdEI7RUFDRDs7O0lBR0kseUJBQXdCO0dBQzNCO0VBRUQ7SUFDSSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLGVBQWM7R0FDakI7RUFFRDtJQUNJLGdCQUFlO0lBQ2YsZUFBYztJQUNkLE9BQU07SUFDTixhQUFZO0lBQ1osYUFBWTtJQUNaLFNBQVE7SUFDUixjQUFhO0lBQ2Isb0JBQW1CO0lBQ25CLHVCQUFzQjtJQUN0QixvQkFBbUI7SUFDbkIsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsZ0JBQWU7SW5CaEdsQiw0Q0FBNkM7SUFJMUMsb0NBQW9DO0lBNUJ4QyxvRW1CMkhxRTtJbkJ2SHJFLDREbUJ1SHFFO0dBNEdwRTtFQTdIRDtJQW9CUSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLG1CQUFrQjtJQUNsQixhQUFZO0lBQ1osa0R2QjNId0I7WXVCMkh4QiwwQ3ZCM0h3QjtHdUI0SDNCO0VBekJMO0lBNEJRLGNBQWE7SUFDYixxQkFBcUM7R0FtRXhDO0VBaEdMO0lBa0NnQixnQkFBZTtJQUNmLGV2QjdIRztJdUI4SEgsMEJBQXlCO0lBQ3pCLGlCQUFnQjtJQUNoQixnQnZCOUJlO0l1QitCZixtQnZCVGdCO0l1QlVoQixnQkFBZTtHQXlCbEI7RUFqRWI7SUE0Q29CLGV2QnBJWTtHdUJxSWY7RUE3Q2pCOzs7SUFtRG9CLHNCQUFxQjtHQUN4QjtFQXBEakI7SUF1RG9CLGFBQVk7SUFDWixtQkFBa0I7SUFDbEIsVUFBUztHQUNaO0VBMURqQjtJQTZEb0IsZ0JBQWU7SUFDZixtQkFBa0I7SUFDbEIsa0JBQWlCO0dBQ3BCO0VBaEVqQjtJQXNFb0IsbUJBQWtCO0lBQ2xCLGdDdkIxS1k7SXVCMktaLG1DQUFrQztJQUNsQyxzQ0FBcUM7SUFDckMsWUFBVztJQUNYLG1CdkJuR1c7SXVCb0dYLFVBQVM7SUFDVCxVQUFTO0dBQ1o7RUE5RWpCO0lBaUZvQixtQkFBa0I7SUFDbEIsZ0N2QkRPO0l1QkVQLG1DQUFrQztJQUNsQyxzQ0FBcUM7SUFDckMsWUFBVztJQUNYLG1CdkI5R1c7SXVCK0dYLFdBQVU7SUFDVixVQUFTO0dBQ1o7RUF6RmpCO0lBbUdRLE9BQU07SUFDTixRQUFPO0lBQ1AsYUFBWTtJQUNaLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsMEJ2QnZCbUI7SXVCd0JuQiw2SkFBNkg7SUFBN0gseUhBQTZIO0lBQzdILGVBQWM7SUFDZCxZQUFXO0lBQ1gsV0FBVTtHQUNiO0VBN0dMO0laeEhBLE9BQU07SUFDTixRQUFPO0lBQ1AsYUFBWTtJQUNaLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsd0NBQXlDO0lBQ3pDLGVBQWM7SUFDZCxZQUFXO0lBQ1gsV0FBVTtHWWdPTDtFQWhITDtJQW1IUSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGtCQUFpQjtJQUNqQixxQkFBb0I7R0FDdkI7RUF2SEw7SUEwSFEsWUFBVztJQUNYLGVBQWM7R0FDakI7RUFFTDtJbkJoTkMsMENBQTZDO0lBSTFDLGtDQUFvQztHbUI4TXZDO0VBQ0Q7SUFDSSxhQUFZO0dBQ2Y7RUFDRDtJQUNJLFFBQU87SW5Cdk5WLDZDQUE2QztJQUkxQyxxQ0FBb0M7R21CcU52QztFQUNEO0lBQ00sZUFBYztJQUNkLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsZUFBYztHQUNuQjtFQUVEO0lBQ0kseUJBQXdCO0lBQ3hCLFlBQVc7SUFDWCxhQUFZO0dBQ2Y7RUFDRDs7O0lBR0UsK0JBQThCO0dBQy9CO0VBQ0Q7SUFDRSxTQUFRO0luQjFMVCwrQ0FBd0M7SUFFeEMsZ0NBQXlCO0lBQ3pCLHNDQUFxQztJQUVyQyw4QkFBNkI7R21CdUw3QjtFQUNEO0lBQ0UsV0FBVTtHQUNYO0VBQ0Q7SUFDRSxZQUFXO0luQmpNWixrREFBd0M7SUFFeEMsbUNBQXlCO0lBQ3pCLHNDQUFxQztJQUVyQyw4QkFBNkI7R21COEw3QjtFQUNEO0lBQ0UsU0FBUTtJbkJyTVQsNENBQXdDO0lBRXhDLDZCQUF5QjtJQUN6QixzQ0FBcUM7SUFFckMsOEJBQTZCO0dtQmtNN0I7RUFDRDtJQUNFLFdBQVU7R0FDWDtFQUNEO0lBQ0UsWUFBVztJbkI1TVosK0NBQXdDO0lBRXhDLGdDQUF5QjtJQUN6QixzQ0FBcUM7SUFFckMsOEJBQTZCO0dtQnlNN0I7RW5Cck1EO0lBQ0U7TUFBSSxTQUFRO01BQUcsZ0NBQXVCO2NBQXZCLHdCQUF1QjtLb0JxOEd2QztJcEJwOEdDO01BQUssU0FBUTtNQUFHLGtDQUF5QjtjQUF6QiwwQkFBeUI7S29CdzhHMUM7SXBCdjhHQztNQUFLLGtDQUF5QjtjQUF6QiwwQkFBeUI7S29CMDhHL0I7SXBCejhHQztNQUFNLGtDQUF5QjtjQUF6QiwwQkFBeUI7S29CNDhHaEM7R0FDRjtFcEIzOEdDO0lBQ0U7TUFBSSxTQUFRO01BQUcsZ0NBQStCO0tvQis4Ry9DO0lwQjk4R0M7TUFBSyxTQUFRO01BQUcsa0NBQWlDO0tvQms5R2xEO0lwQmo5R0M7TUFBSyxrQ0FBaUM7S29CbzlHdkM7SXBCbjlHQztNQUFPLGtDQUFpQztLb0JzOUd6QztHQUNGO0VwQjU4R0M7SUFDRTtNQUFLLFNBQVE7TUFBRyxrQ0FBeUI7Y0FBekIsMEJBQXlCO0tvQmcrRzFDO0lwQi85R0M7TUFBTSxrQ0FBeUI7Y0FBekIsMEJBQXlCO0tvQmsrR2hDO0lwQmorR0M7TUFBTSxnQ0FBdUI7Y0FBdkIsd0JBQXVCO0tvQm8rRzlCO0lwQm4rR0M7TUFBTyxTQUFRO01BQUcsNkJBQW9CO2NBQXBCLHFCQUFvQjtLb0J1K0d2QztHQUNGO0VwQnIrR0M7SUFDRTtNQUFLLFNBQVE7TUFBRyxrQ0FBaUM7S29CeStHbEQ7SXBCeCtHQztNQUFNLGtDQUFpQztLb0IyK0d4QztJcEIxK0dDO01BQU0sZ0NBQStCO0tvQjYrR3RDO0lwQjUrR0M7TUFBTyxTQUFRO01BQUcsNkJBQTRCO0tvQmcvRy9DO0dBQ0Y7RXBCcitHQztJQUNFO01BQUksWUFBVztNQUFHLGdDQUF1QjtjQUF2Qix3QkFBdUI7S29CeS9HMUM7SXBCeC9HQztNQUFLLFlBQVc7TUFBRyxtQ0FBMEI7Y0FBMUIsMkJBQTBCO0tvQjQvRzlDO0lwQjMvR0M7TUFBSyxtQ0FBMEI7Y0FBMUIsMkJBQTBCO0tvQjgvR2hDO0lwQjcvR0M7TUFBTSxtQ0FBMEI7Y0FBMUIsMkJBQTBCO0tvQmdnSGpDO0dBQ0Y7RXBCLy9HQztJQUNFO01BQUksWUFBVztNQUFHLGdDQUErQjtLb0JtZ0hsRDtJcEJsZ0hDO01BQUssWUFBVztNQUFHLG1DQUFrQztLb0JzZ0h0RDtJcEJyZ0hDO01BQUssbUNBQWtDO0tvQndnSHhDO0lwQnZnSEM7TUFBTSxtQ0FBa0M7S29CMGdIekM7R0FDRjtFcEJoZ0hDO0lBQ0U7TUFBSyxZQUFXO01BQUUsbUNBQTBCO2NBQTFCLDJCQUEwQjtLb0JvaEg3QztJcEJuaEhDO01BQU0saUNBQXdCO2NBQXhCLHlCQUF3QjtLb0JzaEgvQjtJcEJyaEhDO01BQU0saUNBQXdCO2NBQXhCLHlCQUF3QjtLb0J3aEgvQjtJcEJ2aEhDO01BQU8sWUFBVztNQUFFLDZCQUFvQjtjQUFwQixxQkFBb0I7S29CMmhIekM7R0FDRjtFcEIxaEhDO0lBQ0U7TUFBSSxZQUFXO01BQUUsbUNBQWtDO0tvQjhoSHBEO0lwQjdoSEM7TUFBSyxpQ0FBZ0M7S29CZ2lIdEM7SXBCL2hIQztNQUFLLGlDQUFnQztLb0JraUh0QztJcEJqaUhDO01BQU0sWUFBVztNQUFFLDZCQUE0QjtLb0JxaUhoRDtHQUNGO0VEcjZHQztJQUNFO01BQUksV0FBVTtLQ3c3R2Y7SUR2N0dDO01BQU0sV0FBVTtLQzA3R2pCO0dBQ0Y7RURyN0dDO0lBQ0U7TUFBSSxXQUFVO0tDZzhHZjtJRC83R0M7TUFBTSxXQUFVO0tDazhHakI7R0FDRjtFRGg4R0M7SUFDSSw0Q0FBMkM7R0FDOUM7RUFFRDtJQUNJLGNBQWE7R0FDaEI7RUFFRDtJQUNJLGNBQWE7R0FRaEI7RUFURDtJQU1ZLDhCQUE2QjtHQUNoQztFQUlUO0lBQ0ksb0NBQW1DO0dBQ3RDO0VBQ0Q7SUFDSSxhQUFZO0lBQ1osWUFBVztJQUNYLGdCQUFlO0lBQ2YsV0FBVTtJQUNWLE9BQU07SUFDTixXQUFVO0lBQ1YsYUFBWTtJQUNaLFlBQVc7SUFDWCxjQUFhO0lBQ2IsbUJBQWtCO0dBQ3JCO0VBQ0Q7SUFDSSxpQkFBZ0I7R0FDbkI7RUFDRDtJQUNJLHlDQUF3QztHQUMzQztFQUNEO0lBQ0ksaUJBQWdCO0dBQ25CO0VBQ0Q7SUFDSSxXQUFVO0lBQ1YsdUJBQXNCO0lBQ3RCLGVBQWM7SUFDZCxvQkFBbUI7R0FDdEI7RUFDRDtJQUNJLFlBQVc7R0FDZDtFQUVEO0lBQ0ksd0JBQXVCO0dBQzFCO0VBQ0Q7SUFDSSxlQUFjO0dBQ2pCO0VBQ0Q7SUFDSSwwQkFBd0I7R0FDM0I7RUFDRDtJQUNJLFlBQVU7R0FDYjtFQUNEO0lBQ0ksaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxZQUFXO0lBQ1gsY0FBYTtJQUNiLDhCQUE2QjtJQUM3QixVQUFTO0lBQ1QseUJBQXdCO0lBQ3hCLGlCQUFnQjtHQUNuQjtFQUVEO0lBQ0ksZ0JBQWU7SUFDZixpQkFBZ0I7R0FDbkI7RUFDRDtJQUlRLDhCQUE2QjtHQUNoQztFQUlMO0lBQ0ksa0JBQWlCO0lBQ2pCLFlBQVc7R0FDZDtDQ203R0o7O0FEOTZHRDtFQUNJO0lBQ0ksbUJBQWtCO0lBQ2xCLG9CQUFtQjtHQUN0QjtFQUNEO0lBQ0ksa0JBQWlCO0dBQ3BCO0NDaTdHSjs7QUQ3NkdEO0VBQ0k7SUFDSSxZQUFXO0lBQ1gsb0JBQW1CO0lBQ25CLDBCQUF5QjtJQUN6QixtQkFBa0I7SUFDbEIsbUJBQWtCO0lBQ2xCLDZDQUE0QztJQUM1QyxrQ0FBaUM7R0FDcEM7Q0NnN0dKIiwiZmlsZSI6Ii9hc3NldHMvYWRtaW4vdmVuZG9yL3BhcGVyLWRhc2hib2FyZC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUGFwZXIgRGFzaGJvYXJkIC0gdjEuMS4yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAqIFByb2R1Y3QgUGFnZTogaHR0cDovL3d3dy5jcmVhdGl2ZS10aW0uY29tL3Byb2R1Y3QvcGFwZXItZGFzaGJvYXJkXG4gKiBDb3B5cmlnaHQgMjAxNyBDcmVhdGl2ZSBUaW0gKGh0dHA6Ly93d3cuY3JlYXRpdmUtdGltLmNvbSlcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL2NyZWF0aXZldGltb2ZmaWNpYWwvcGFwZXItZGFzaGJvYXJkL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQpXG5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiAqL1xuXG5cbkBpbXBvcnQgXCJwYXBlci92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJwYXBlci9taXhpbnNcIjtcblxuQGltcG9ydCBcInBhcGVyL3R5cG9ncmFwaHlcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJwYXBlci9taXNjXCI7XG5AaW1wb3J0IFwicGFwZXIvc2lkZWJhci1hbmQtbWFpbi1wYW5lbFwiO1xuQGltcG9ydCBcInBhcGVyL2JhZGdlc1wiO1xuQGltcG9ydCBcInBhcGVyL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJwYXBlci9pbnB1dHNcIjtcblxuQGltcG9ydCBcInBhcGVyL2FsZXJ0c1wiO1xuQGltcG9ydCBcInBhcGVyL3RhYmxlc1wiO1xuXG5AaW1wb3J0IFwicGFwZXIvY2hlY2tib3gtcmFkaW9cIjtcbkBpbXBvcnQgXCJwYXBlci9uYXZiYXJzXCI7XG5AaW1wb3J0IFwicGFwZXIvZm9vdGVyc1wiO1xuXG4vLyBGYW5jeSBTdHVmZlxuXG5AaW1wb3J0IFwicGFwZXIvZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJwYXBlci9jYXJkc1wiO1xuQGltcG9ydCBcInBhcGVyL2NoYXJ0aXN0XCI7XG5AaW1wb3J0IFwicGFwZXIvcmVzcG9uc2l2ZVwiO1xuXG5cblxuXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyLWRhc2hib2FyZC5zY3NzIiwiJHBocHZtcy1ibHVlOiAgICAgICAgICAgICAgICAjMDY3ZWMxICFkZWZhdWx0O1xuXG4kZm9udC1jb2xvcjogIzRiNDc0MyAhZGVmYXVsdDtcbiRmaWxsLWZvbnQtY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcblxuJG5vbmU6ICAgICAgICAgICAgICAgICAgICAgICAwICAgIWRlZmF1bHQ7XG4kYm9yZGVyLXRoaW46ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItdGhpY2s6ICAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kd2hpdGUtY29sb3I6ICAgICAgICAgICAgICAgICNGRkZGRkYgIWRlZmF1bHQ7XG4kd2hpdGUtYmc6ICAgICAgICAgICAgICAgICAgICNGRkZGRkYgIWRlZmF1bHQ7XG5cbiRzbW9rZS1iZzogICAgICAgICAgICAgICAgICAgI0Y1RjVGNSAhZGVmYXVsdDtcbiRwYWxlLWJnOiAgICAgICAgICAgICAgICAgICAgI0ZGRkNGNSAhZGVmYXVsdDtcbiRtZWRpdW0tcGFsZS1iZzogICAgICAgICAgICAgI0YxRUFFMCAhZGVmYXVsdDtcblxuJHRhYmxlLWxpbmUtY29sb3I6ICAgICAgICAgICAjQ0NDNUI5ICFkZWZhdWx0O1xuJG11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAjYTQ5ZTkzICFkZWZhdWx0O1xuXG4kYmxhY2stYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMzAsMzAsMzAsLjk3KSAhZGVmYXVsdDtcblxuJGJsYWNrLWNvbG9yOiAgICAgICAgICAgICAgICAjMzMzMzMzICFkZWZhdWx0O1xuJGJsYWNrLWhyOiAgICAgICAgICAgICAgICAgICAjNDQ0NDQ0ICFkZWZhdWx0O1xuXG4kd2hpdGUtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICNGRkZGRkYgIWRlZmF1bHQ7XG4vLyRibGFjay1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgIzIxMjEyMCAhZGVmYXVsdDtcbi8vJGJsYWNrLWJhY2tncm91bmQtY29sb3I6ICAgICAgICAjMWEyOTMyICFkZWZhdWx0O1xuJGJsYWNrLWJhY2tncm91bmQtY29sb3I6ICAgICAgICAjMGMxNDE5ICFkZWZhdWx0O1xuXG5cbiRsaWdodC1ncmF5OiAgICAgICAgICAgICAgICAgI0UzRTNFMyAhZGVmYXVsdDtcbiRtZWRpdW0tZ3JheTogICAgICAgICAgICAgICAgI0RERERERCAhZGVmYXVsdDtcbiRkYXJrLWdyYXk6ICAgICAgICAgICAgICAgICAgIzlBOUE5QSAhZGVmYXVsdDtcblxuJGdyYXktaW5wdXQtYmc6ICAgICAgICAgICAgICAjZmZmY2Y1ICFkZWZhdWx0O1xuJGRhbmdlci1pbnB1dC1iZzogICAgICAgICAgICAjRkZDMEE0ICFkZWZhdWx0O1xuJHN1Y2Nlc3MtaW5wdXQtYmc6ICAgICAgICAgICAjQUJGM0NCICFkZWZhdWx0O1xuJG90aGVyLW1lZGl1bS1ncmF5OiAgICAgICAgICAjQTQ5RTkzICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGRlZmF1bHQtY29sb3I6ICMyZjJkMmEgIWRlZmF1bHQ7IC8vIzY2NjE1QiAhZGVmYXVsdDtcbiRkZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgIzY2NjE1QiAhZGVmYXVsdDtcbiRkZWZhdWx0LXN0YXRlcy1jb2xvcjogICAgICAgIzQwM0QzOSAhZGVmYXVsdDtcblxuJHByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjN0E5RTlGICFkZWZhdWx0O1xuJHByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAjN0E5RTlGICFkZWZhdWx0O1xuJHByaW1hcnktc3RhdGVzLWNvbG9yOiAgICAgICAjNDI3Qzg5ICFkZWZhdWx0O1xuXG4kc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICM3QUMyOUEgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICM3QUMyOUEgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1zdGF0ZXMtY29sb3I6ICAgICAgICM0MkEwODQgIWRlZmF1bHQ7XG5cbiRpbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgIzY4QjNDOCAhZGVmYXVsdDtcbiRpbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgIzY4QjNDOCAhZGVmYXVsdDtcbiRpbmZvLXN0YXRlcy1jb2xvcjogICAgICAgICAgIzMwOTFCMiAhZGVmYXVsdDtcblxuJHdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjRjNCQjQ1ICFkZWZhdWx0O1xuJHdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAjRjNCQjQ1ICFkZWZhdWx0O1xuJHdhcm5pbmctc3RhdGVzLWNvbG9yOiAgICAgICAjQkI5OTJGICFkZWZhdWx0O1xuXG5cbiRkYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI0VCNUUyOCAhZGVmYXVsdDtcbiRkYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgI0VCNUUyOCAhZGVmYXVsdDtcbiRkYW5nZXItc3RhdGVzLWNvbG9yOiAgICAgICAgI0IzM0MxMiAhZGVmYXVsdDtcblxuXG4kbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM2NjY2NjYgIWRlZmF1bHQ7XG5cblxuLyogICAgICBsaWdodCBjb2xvcnMgLSB1c2VkIGZvciBzZWxlY3QgZHJvcGRvd24gICAgICAgICAqL1xuXG4kbGlnaHQtYmx1ZTogICAgICAgICAgICAgICAgIHJnYmEoJHByaW1hcnktY29sb3IsIC4yKTtcbiRsaWdodC1henVyZTogICAgICAgICAgICAgICAgcmdiYSgkaW5mby1jb2xvciwgLjIpO1xuJGxpZ2h0LWdyZWVuOiAgICAgICAgICAgICAgICByZ2JhKCRzdWNjZXNzLWNvbG9yLCAuMik7XG4kbGlnaHQtb3JhbmdlOiAgICAgICAgICAgICAgIHJnYmEoJHdhcm5pbmctY29sb3IsIC4yKTtcbiRsaWdodC1yZWQ6ICAgICAgICAgICAgICAgICAgcmdiYSgkZGFuZ2VyLWNvbG9yLCAuMik7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgICAgICA3cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgICAgIDE4cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXJvdW5kLXZlcnRpY2FsOiAgICAgICAgOXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctcm91bmQtaG9yaXpvbnRhbDogICAgIDE4cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNpbXBsZS12ZXJ0aWNhbDogICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc2ltcGxlLWhvcml6b250YWw6ICAgIDE4cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAgICAxMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogICAgIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhYmVsLXZlcnRpY2FsOiAgICAgICAgMnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFiZWwtaG9yaXpvbnRhbDogICAgIDEycHggIWRlZmF1bHQ7XG5cbi8vIHBhZGRpbmcgZm9yIGxpbmtzIGluc2lkZSBkcm9wZG93biBtZW51XG4kcGFkZGluZy1kcm9wZG93bi12ZXJ0aWNhbDogICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1kcm9wZG93bi1ob3Jpem9udGFsOiAgIDE1cHggIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbGFyZ2UtdmVydGljYWw6ICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJG1hcmdpbi1iYXNlLXZlcnRpY2FsOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbi8vIGJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcbiRib3JkZXItcmFkaXVzLWJ0bi1zbWFsbDogICAgICAyNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtYnRuLWJhc2U6ICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1idG4tbGFyZ2U6ICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vLyBDcmlzdGluYTogYW0gc2NoaW1iYXQgYWljaSBzaSBzLWF1IG1vZGlmaWNhdCBpbnB1dHVyaWxlXG4kbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgMCAwIDEwcHggMCAhZGVmYXVsdDtcbiRib3JkZXI6IDFweCBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWV4dHJhLXNtYWxsOiAwLjEyNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXRpbnk6ICAgICAgICAgICAwLjE4NzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1leHRyZW1lOiAgICAgICAgNnB4ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1sYXJnZS10b3A6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgJGJvcmRlci1yYWRpdXMtbGFyZ2UgMCAwICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2UtYm90dG9tOiAgIDAgMCAkYm9yZGVyLXJhZGl1cy1sYXJnZSAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcblxuJGJ0bi1yb3VuZC1yYWRpdXM6ICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRoZWlnaHQtYmFzZTogICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuXG4kYnRuLWljb24tZm9udC1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJGJ0bi1pY29uLXNpemU6IDU2cHggIWRlZmF1bHQ7XG4kYnRuLWljb24tc2l6ZS1taW5pOiAzNnB4ICFkZWZhdWx0O1xuJGJ0bi1pY29uLWZvbnQtc2l6ZS1taW5pOiAxNHB4ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUteHM6ICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLW1lZGl1bTogICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgICAgICAxOHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZS1uYXZiYXI6ICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgICAgICAzLjJlbSAgICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICAgICAgIDIuNmVtICAgICAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgICAgICAxLjgyNWVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICAgICAgIDEuNWVtICAgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICAgICAgMS4yNWVtICAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgICAgICAwLjllbSAgICFkZWZhdWx0O1xuJGZvbnQtcGFyYWdyYXBoOiAgICAgICAgICAgICAgIDE2cHggICAgIWRlZmF1bHQ7XG4kZm9udC1zaXplLW5hdmJhcjogICAgICAgICAgICAgMTZweCAgICAhZGVmYXVsdDtcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgICAgICAxMnB4ICAgICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1taW5pOiAwLjcxNDJlbSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pOiAgICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICA2MDAgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWdlbmVyYWw6ICAgICAgICAgIDEuNGVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDU0cHggIWRlZmF1bHQ7XG5cblxuJGJvcmRlci1yYWRpdXMtdG9wOiAgICAgICAgMTBweCAxMHB4IDAgMCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWJvdHRvbTogICAgIDAgMCAxMHB4IDEwcHggIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zaGFkb3c6ICAgICAgICAgIDAgMnB4IHJnYmEoMTcsIDE2LCAxNSwgMC4xKSwgMCAycHggMTBweCByZ2JhKDE3LCAxNiwgMTUsIDAuMSk7XG5cbiRnZW5lcmFsLXRyYW5zaXRpb24tdGltZTogIDMwMG1zICFkZWZhdWx0O1xuXG4kc2xvdy10cmFuc2l0aW9uLXRpbWU6ICAgICAgICAgICAzMDBtcyAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb29yZGluYXRlczogICAgICAyOXB4IC01MHB4ICFkZWZhdWx0O1xuXG4kZmFzdC10cmFuc2l0aW9uLXRpbWU6ICAgICAgICAgICAxNTBtcyAhZGVmYXVsdDtcbiRzZWxlY3QtY29vcmRpbmF0ZXM6ICAgICAgICAgNTAlIC00MHB4ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1saW5lYXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1iZXppZXI6ICAgICAgICAgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNjEsIDAuNywgMSkgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1lYXNlOiAgICAgICAgICAgZWFzZSAwcztcblxuJG5hdmJhci1wYWRkaW5nLWE6ICAgICAgICAgICAgICAgMTBweCAxNXB4O1xuJG5hdmJhci1tYXJnaW4tYTogICAgICAgICAgICAgICAgMTVweCAgMHB4O1xuXG4kcGFkZGluZy1zb2NpYWwtYTogICAgICAgICAgICAgICAxMHB4ICA1cHg7XG5cbiRuYXZiYXItbWFyZ2luLWEtYnRuOiAgICAgICAgICAgIDE1cHggM3B4O1xuJG5hdmJhci1tYXJnaW4tYS1idG4tcm91bmQ6ICAgICAgMTZweCAzcHg7XG5cblxuJG5hdmJhci1wYWRkaW5nLWJyYW5kOiAgICAgICAgICAgMjBweCAxNXB4O1xuJG5hdmJhci1tYXJnaW4tYnJhbmQ6ICAgICAgICAgICAgIDVweCAgMHB4O1xuXG4kbmF2YmFyLW1hcmdpbi1icmFuZC1pY29uczogICAgICAxMnB4IGF1dG87XG5cbiRuYXZiYXItbWFyZ2luLWJ0bjogICAgICAgICAgICAgIDE1cHggIDNweDtcblxuJGhlaWdodC1pY29uOlx0XHRcdFx0XHQgNjRweCAhZGVmYXVsdDtcbiR3aWR0aC1pY29uOlx0XHRcdFx0XHQgNjRweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWljb246XHRcdFx0XHRcdCAxMnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtaWNvbjpcdFx0ICAgICAxNXB4ICFkZWZhdWx0O1xuXG5cbiR3aGl0ZS1uYXZiYXI6ICAgICAgICAgICAgICByZ2JhKCNGRkZGRkYsIC45Nik7XG4kYmx1ZS1uYXZiYXI6ICAgICAgICAgICAgICAgcmdiYSgjMzRBQ0RDLCAuOTgpO1xuJGF6dXJlLW5hdmJhcjogICAgICAgICAgICAgIHJnYmEoIzVCQ0FGRiwgLjk4KTtcbiRncmVlbi1uYXZiYXI6ICAgICAgICAgICAgICByZ2JhKCM0Q0Q5NjQsIC45OCk7XG4kb3JhbmdlLW5hdmJhcjogICAgICAgICAgICAgcmdiYSgjRkY5NTAwLCAuOTgpO1xuJHJlZC1uYXZiYXI6ICAgICAgICAgICAgICAgIHJnYmEoI0ZGNEM0MCwgLjk4KTtcblxuJGJnLW51ZGU6ICAgICAgICAgICAgICAgI2ViZWZmMiAhZGVmYXVsdDtcbiRiZy1wcmltYXJ5OiAgICAgICAgICAgICM4RUNGRDUgIWRlZmF1bHQ7XG4kYmctaW5mbzogICAgICAgICAgICAgICAjN0NFNEZFICFkZWZhdWx0O1xuJGJnLXN1Y2Nlc3M6ICAgICAgICAgICAgIzhFRjNDNSAhZGVmYXVsdDtcbiRiZy13YXJuaW5nOiAgICAgICAgICAgICNGRkUyOEMgIWRlZmF1bHQ7XG4kYmctZGFuZ2VyOiAgICAgICAgICAgICAjRkY4RjVFICFkZWZhdWx0O1xuXG4kdG9wYmFyLXg6ICAgICAgICAgICAgIHRvcGJhci14ICFkZWZhdWx0O1xuJHRvcGJhci1iYWNrOiAgICAgICAgICB0b3BiYXItYmFjayAhZGVmYXVsdDtcbiRib3R0b21iYXIteDogICAgICAgICAgYm90dG9tYmFyLXggIWRlZmF1bHQ7XG4kYm90dG9tYmFyLWJhY2s6ICAgICAgIGJvdHRvbWJhci1iYWNrICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1saW5lYXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1iZXppZXI6ICAgICAgICAgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNjEsIDAuNywgMSkgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1lYXNlOiAgICAgICAgICAgZWFzZSAwcztcbiR0cmFuc2l0aW9uLWVhc2UtaW46ICAgICAgICAgICAgICBlYXNlLWluICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZWFzZS1vdXQ6ICAgICAgICAgICAgIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4kZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWU6ICAzMDBtcyAhZGVmYXVsdDtcblxuJHNsb3ctdHJhbnNpdGlvbi10aW1lOiAgICAgICAgICAgMzcwbXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29vcmRpbmF0ZXM6ICAgICAgMjlweCAtNTBweCAhZGVmYXVsdDtcblxuJGZhc3QtdHJhbnNpdGlvbi10aW1lOiAgICAgICAgICAgMTUwbXMgIWRlZmF1bHQ7XG5cbiR1bHRyYS1mYXN0LXRyYW5zaXRpb24tdGltZTogICAgIDEwMG1zICAhZGVmYXVsdDtcblxuJHNlbGVjdC1jb29yZGluYXRlczogICAgICAgICA1MCUgLTQwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXplcm86ICAgICAgICAgICAgICAgICAgIDBweCAhZGVmYXVsdDtcblxuJHNpZGViYXItd2lkdGg6ICAgICAgICAgICAgICAgY2FsYygxMDAlIC0gMjYwcHgpICFkZWZhdWx0O1xuJG1lZGl1bS1kYXJrLWdyYXk6ICAgICAgICAgICAjQUFBQUFBICFkZWZhdWx0O1xuXG4vL3ZhcmlhYmxlcyB1c2VkIGluIGNhcmRzXG4kY2FyZC1ibGFjay1jb2xvcjogICAgICAgICAgIzI1MjQyMiAhZGVmYXVsdDtcbiRjYXJkLW11dGVkLWNvbG9yOiAgICAgICAgICAjY2NjNWI5ICFkZWZhdWx0O1xuXG5cbi8vdmFyaWFibGVzIHVzZWQgZm9yIHNpZGViYXJcbiRzaWRlYmFyLWJhY2tncm91bmQtZGFyay1ibHVlOiAjNTA2MzY3O1xuXG4kc2lkZWJhci1iYWNrZ3JvdW5kLWJsdWU6ICAgICAgI2I4ZDhkOCAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvbnQtYmx1ZTogICAgICAgICAgICAjNTA2NTY4ICFkZWZhdWx0O1xuJHNpZGViYXItc3VidGl0bGUtYmx1ZTogICAgICAgICM3YTllOWYgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWJhY2tncm91bmQtZ3JlZW46ICAgICAgI2Q1ZTVhMyAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvbnQtZ3JlZW46ICAgICAgICAgICAgIzYwNzczZCAhZGVmYXVsdDtcbiRzaWRlYmFyLXN1YnRpdGxlLWdyZWVuOiAgICAgICAgIzkyYWM1NiAhZGVmYXVsdDtcblxuJHNpZGViYXItYmFja2dyb3VuZC15ZWxsb3c6ICAgICAgI2ZmZTI4YyAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvbnQteWVsbG93OiAgICAgICAgICAgICNiMjU4MjUgIWRlZmF1bHQ7XG4kc2lkZWJhci1zdWJ0aXRsZS15ZWxsb3c6ICAgICAgICAjZDg4NzE1ICFkZWZhdWx0O1xuXG4kc2lkZWJhci1iYWNrZ3JvdW5kLWJyb3duOiAgICAgICNkNmMxYWIgIWRlZmF1bHQ7XG4kc2lkZWJhci1mb250LWJyb3duOiAgICAgICAgICAgICM3NTQ0MmUgIWRlZmF1bHQ7XG4kc2lkZWJhci1zdWJ0aXRsZS1icm93bjogICAgICAgICNhNDdlNjUgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWJhY2tncm91bmQtcHVycGxlOiAgICAgICNiYWE5YmEgIWRlZmF1bHQ7XG4kc2lkZWJhci1mb250LXB1cnBsZTogICAgICAgICAgICAjM2EyODNkICFkZWZhdWx0O1xuJHNpZGViYXItc3VidGl0bGUtcHVycGxlOiAgICAgICAgIzVhMjgzZCAhZGVmYXVsdDtcblxuJHNpZGViYXItYmFja2dyb3VuZC1vcmFuZ2U6ICAgICAgI2ZmOGY1ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvbnQtb3JhbmdlOiAgICAgICAgICAgICM3NzI1MTAgIWRlZmF1bHQ7XG4kc2lkZWJhci1zdWJ0aXRsZS1vcmFuZ2U6ICAgICAgICAjZTk1ZTM3ICFkZWZhdWx0O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fdmFyaWFibGVzLnNjc3MiLCIvLyBTY2FsZXMgZm9yIHJlc3BvbnNpdmUgU1ZHIGNvbnRhaW5lcnNcbiRjdC1zY2FsZXM6ICgoMSksICgxNS8xNiksICg4LzkpLCAoNS82KSwgKDQvNSksICgzLzQpLCAoMi8zKSwgKDUvOCksICgxLzEuNjE4KSwgKDMvNSksICg5LzE2KSwgKDgvMTUpLCAoMS8yKSwgKDIvNSksICgzLzgpLCAoMS8zKSwgKDEvNCkpICFkZWZhdWx0O1xuJGN0LXNjYWxlcy1uYW1lczogKGN0LXNxdWFyZSwgY3QtbWlub3Itc2Vjb25kLCBjdC1tYWpvci1zZWNvbmQsIGN0LW1pbm9yLXRoaXJkLCBjdC1tYWpvci10aGlyZCwgY3QtcGVyZmVjdC1mb3VydGgsIGN0LXBlcmZlY3QtZmlmdGgsIGN0LW1pbm9yLXNpeHRoLCBjdC1nb2xkZW4tc2VjdGlvbiwgY3QtbWFqb3Itc2l4dGgsIGN0LW1pbm9yLXNldmVudGgsIGN0LW1ham9yLXNldmVudGgsIGN0LW9jdGF2ZSwgY3QtbWFqb3ItdGVudGgsIGN0LW1ham9yLWVsZXZlbnRoLCBjdC1tYWpvci10d2VsZnRoLCBjdC1kb3VibGUtb2N0YXZlKSAhZGVmYXVsdDtcblxuLy8gQ2xhc3MgbmFtZXMgdG8gYmUgdXNlZCB3aGVuIGdlbmVyYXRpbmcgQ1NTXG4kY3QtY2xhc3MtY2hhcnQ6IGN0LWNoYXJ0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWNoYXJ0LWxpbmU6IGN0LWNoYXJ0LWxpbmUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtYmFyOiBjdC1jaGFydC1iYXIgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzOiBjdC1ob3Jpem9udGFsLWJhcnMgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtcGllOiBjdC1jaGFydC1waWUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtZG9udXQ6IGN0LWNoYXJ0LWRvbnV0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWxhYmVsOiBjdC1sYWJlbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1zZXJpZXM6IGN0LXNlcmllcyAhZGVmYXVsdDtcbiRjdC1jbGFzcy1saW5lOiBjdC1saW5lICFkZWZhdWx0O1xuJGN0LWNsYXNzLXBvaW50OiBjdC1wb2ludCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1hcmVhOiBjdC1hcmVhICFkZWZhdWx0O1xuJGN0LWNsYXNzLWJhcjogY3QtYmFyICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLXBpZTogY3Qtc2xpY2UtcGllICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLWRvbnV0OiBjdC1zbGljZS1kb251dCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ncmlkOiBjdC1ncmlkICFkZWZhdWx0O1xuJGN0LWNsYXNzLXZlcnRpY2FsOiBjdC12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ob3Jpem9udGFsOiBjdC1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGN0LWNsYXNzLXN0YXJ0OiBjdC1zdGFydCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1lbmQ6IGN0LWVuZCAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHJhdGlvXG4kY3QtY29udGFpbmVyLXJhdGlvOiAoMS8xLjYxOCkgIWRlZmF1bHQ7XG5cbi8vIFRleHQgc3R5bGVzIGZvciBsYWJlbHNcbiRjdC10ZXh0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCkgIWRlZmF1bHQ7XG4kY3QtdGV4dC1zaXplOiAwLjllbSAhZGVmYXVsdDtcbiRjdC10ZXh0LWFsaWduOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGN0LXRleHQtanVzdGlmeTogZmxleC1zdGFydCAhZGVmYXVsdDtcbiRjdC10ZXh0LWxpbmUtaGVpZ2h0OiAxO1xuXG4vLyBHcmlkIHN0eWxlc1xuJGN0LWdyaWQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSAhZGVmYXVsdDtcbiRjdC1ncmlkLWRhc2hhcnJheTogMnB4ICFkZWZhdWx0O1xuJGN0LWdyaWQtd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8gTGluZSBjaGFydCBwcm9wZXJ0aWVzXG4kY3QtbGluZS13aWR0aDogNHB4ICFkZWZhdWx0O1xuJGN0LWxpbmUtZGFzaGFycmF5OiBmYWxzZSAhZGVmYXVsdDtcbiRjdC1wb2ludC1zaXplOiAxMHB4ICFkZWZhdWx0O1xuLy8gTGluZSBjaGFydCBwb2ludCwgY2FuIGJlIGVpdGhlciByb3VuZCBvciBzcXVhcmVcbiRjdC1wb2ludC1zaGFwZTogcm91bmQgIWRlZmF1bHQ7XG4vLyBBcmVhIGZpbGwgdHJhbnNwYXJlbmN5IGJldHdlZW4gMCBhbmQgMVxuJGN0LWFyZWEtb3BhY2l0eTogMC43ICFkZWZhdWx0O1xuXG4vLyBCYXIgY2hhcnQgYmFyIHdpZHRoXG4kY3QtYmFyLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBEb251dCB3aWR0aCAoSWYgZG9udXQgd2lkdGggaXMgdG8gYmlnIGl0IGNhbiBjYXVzZSBpc3N1ZXMgd2hlcmUgdGhlIHNoYXBlIGdldHMgZGlzdG9ydGVkKVxuJGN0LWRvbnV0LXdpZHRoOiA2MHB4ICFkZWZhdWx0O1xuXG4vLyBJZiBzZXQgdG8gdHJ1ZSBpdCB3aWxsIGluY2x1ZGUgdGhlIGRlZmF1bHQgY2xhc3NlcyBhbmQgZ2VuZXJhdGUgQ1NTIG91dHB1dC4gSWYgeW91J3JlIHBsYW5uaW5nIHRvIHVzZSB0aGUgbWl4aW5zIHlvdVxuLy8gc2hvdWxkIHNldCB0aGlzIHByb3BlcnR5IHRvIGZhbHNlXG4kY3QtaW5jbHVkZS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiB0aGlzIGlzIHNldCB0byB0cnVlIHRoZSBDU1Mgd2lsbCBjb250YWluIGNvbG9yZWQgc2VyaWVzLiBZb3UgY2FuIGV4dGVuZCBvciBjaGFuZ2UgdGhlIGNvbG9yIHdpdGggdGhlXG4vLyBwcm9wZXJ0aWVzIGJlbG93XG4kY3QtaW5jbHVkZS1jb2xvcmVkLXNlcmllczogJGN0LWluY2x1ZGUtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gSWYgc2V0IHRvIHRydWUgdGhpcyB3aWxsIGluY2x1ZGUgYWxsIHJlc3BvbnNpdmUgY29udGFpbmVyIHZhcmlhdGlvbnMgdXNpbmcgdGhlIHNjYWxlcyBkZWZpbmVkIGF0IHRoZSB0b3Agb2YgdGhlIHNjcmlwdFxuJGN0LWluY2x1ZGUtYWx0ZXJuYXRpdmUtcmVzcG9uc2l2ZS1jb250YWluZXJzOiAkY3QtaW5jbHVkZS1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBTZXJpZXMgbmFtZXMgYW5kIGNvbG9ycy4gVGhpcyBjYW4gYmUgZXh0ZW5kZWQgb3IgY3VzdG9taXplZCBhcyBkZXNpcmVkLiBKdXN0IGFkZCBtb3JlIHNlcmllcyBhbmQgY29sb3JzLlxuJGN0LXNlcmllcy1uYW1lczogKGEsIGIsIGMsIGQsIGUsIGYsIGcsIGgsIGksIGosIGssIGwsIG0sIG4sIG8pICFkZWZhdWx0O1xuJGN0LXNlcmllcy1jb2xvcnM6IChcbiAgJGluZm8tY29sb3IsXG4gICR3YXJuaW5nLWNvbG9yLFxuICAkZGFuZ2VyLWNvbG9yLFxuICAkc3VjY2Vzcy1jb2xvcixcbiAgJHByaW1hcnktY29sb3IsXG4gIHJnYmEoJGluZm8tY29sb3IsLjgpLFxuICByZ2JhKCRzdWNjZXNzLWNvbG9yLC44KSxcbiAgcmdiYSgkd2FybmluZy1jb2xvciwuOCksXG4gIHJnYmEoJGRhbmdlci1jb2xvciwuOCksXG4gIHJnYmEoJHByaW1hcnktY29sb3IsLjgpLFxuICByZ2JhKCRpbmZvLWNvbG9yLC42KSxcbiAgcmdiYSgkc3VjY2Vzcy1jb2xvciwuNiksXG4gIHJnYmEoJHdhcm5pbmctY29sb3IsLjYpLFxuICByZ2JhKCRkYW5nZXItY29sb3IsLjYpLFxuICByZ2JhKCRwcmltYXJ5LWNvbG9yLC42KVxuICBcbikgIWRlZmF1bHQ7XG5cbi8vIFBhcGVyIEtpdCBDb2xvcnNcblxuLmN0LWJsdWV7XG4gICAgc3Ryb2tlOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xufVxuLmN0LWF6dXJle1xuICAgIHN0cm9rZTogJGluZm8tY29sb3IgIWltcG9ydGFudDtcbn1cbi5jdC1ncmVlbntcbiAgICBzdHJva2U6ICRzdWNjZXNzLWNvbG9yICFpbXBvcnRhbnQ7XG59XG4uY3Qtb3Jhbmdle1xuICAgIHN0cm9rZTogJHdhcm5pbmctY29sb3IgIWltcG9ydGFudDtcbn1cbi5jdC1yZWR7XG4gICAgc3Ryb2tlOiAkZGFuZ2VyLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2NoYXJ0aXN0LnNjc3MiLCJoMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1LCBoNiwgLmg2LCBwLCAubmF2YmFyLCAuYnJhbmQsIGEsIC50ZC1uYW1lLCB0ZHtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC8vZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBcIkhlbHZldGljYVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIixcIkhlbHZldGljYSBOZXVlXCIsQXJpYWwsc2Fucy1zZXJpZjtcbn1cblxuaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICBtYXJnaW46ICRtYXJnaW4tbGFyZ2UtdmVydGljYWwgMCAkbWFyZ2luLWJhc2UtdmVydGljYWw7XG59XG5cbmgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTtcbn1cbmgyLCAuaDJ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWgyO1xufVxuaDMsIC5oM3tcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaDM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgIG1hcmdpbjogMjBweCAwIDEwcHg7XG59XG5oNCwgLmg0e1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbn1cbmg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuaDYsIC5oNntcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaDY7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxucHtcbiAgICBmb250LXNpemU6ICRmb250LXBhcmFncmFwaDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWdlbmVyYWw7XG59XG5cbmgxIHNtYWxsLCBoMiBzbWFsbCwgaDMgc21hbGwsIGg0IHNtYWxsLCBoNSBzbWFsbCwgaDYgc21hbGwsIC5oMSBzbWFsbCwgLmgyIHNtYWxsLCAuaDMgc21hbGwsIC5oNCBzbWFsbCwgLmg1IHNtYWxsLCAuaDYgc21hbGwsIGgxIC5zbWFsbCwgaDIgLnNtYWxsLCBoMyAuc21hbGwsIGg0IC5zbWFsbCwgaDUgLnNtYWxsLCBoNiAuc21hbGwsIC5oMSAuc21hbGwsIC5oMiAuc21hbGwsIC5oMyAuc21hbGwsIC5oNCAuc21hbGwsIC5oNSAuc21hbGwsIC5oNiAuc21hbGwge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1nZW5lcmFsO1xufVxuXG5oMSBzbWFsbCwgaDIgc21hbGwsIGgzIHNtYWxsLCBoMSAuc21hbGwsIGgyIC5zbWFsbCwgaDMgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDYwJTtcbn1cbi50aXRsZS11cHBlcmNhc2V7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmJsb2NrcXVvdGV7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuYmxvY2txdW90ZSBzbWFsbHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udGV4dC1tdXRlZHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xufVxuLnRleHQtcHJpbWFyeSwgLnRleHQtcHJpbWFyeTpob3ZlcntcbiAgICBjb2xvcjogJHByaW1hcnktc3RhdGVzLWNvbG9yO1xufVxuLnRleHQtaW5mbywgLnRleHQtaW5mbzpob3ZlcntcbiAgICBjb2xvcjogJGluZm8tc3RhdGVzLWNvbG9yO1xufVxuLnRleHQtc3VjY2VzcywgLnRleHQtc3VjY2Vzczpob3ZlcntcbiAgICBjb2xvcjogJHN1Y2Nlc3Mtc3RhdGVzLWNvbG9yO1xufVxuLnRleHQtd2FybmluZywgLnRleHQtd2FybmluZzpob3ZlcntcbiAgICBjb2xvcjogJHdhcm5pbmctc3RhdGVzLWNvbG9yO1xufVxuLnRleHQtZGFuZ2VyLCAudGV4dC1kYW5nZXI6aG92ZXJ7XG4gICAgY29sb3I6ICRkYW5nZXItc3RhdGVzLWNvbG9yO1xufVxuLmdseXBoaWNvbntcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbnN0cm9uZ3tcbiAgICBjb2xvcjogJGRlZmF1bHQtc3RhdGVzLWNvbG9yO1xufVxuLmljb24tcHJpbWFyeXtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG4uaWNvbi1pbmZve1xuICAgIGNvbG9yOiAkaW5mby1jb2xvcjtcbn1cbi5pY29uLXN1Y2Nlc3N7XG4gICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xufVxuLmljb24td2FybmluZ3tcbiAgICBjb2xvcjogJHdhcm5pbmctY29sb3I7XG59XG4uaWNvbi1kYW5nZXJ7XG4gICAgY29sb3I6ICRkYW5nZXItY29sb3I7XG59XG4uY2hhcnQtbGVnZW5ke1xuICAgIC50ZXh0LXByaW1hcnksIC50ZXh0LXByaW1hcnk6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgLnRleHQtaW5mbywgLnRleHQtaW5mbzpob3ZlcntcbiAgICAgICAgY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgIH1cbiAgICAudGV4dC1zdWNjZXNzLCAudGV4dC1zdWNjZXNzOmhvdmVye1xuICAgICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuICAgIC50ZXh0LXdhcm5pbmcsIC50ZXh0LXdhcm5pbmc6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgICB9XG4gICAgLnRleHQtZGFuZ2VyLCAudGV4dC1kYW5nZXI6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyLWNvbG9yO1xuICAgIH1cbn1cblxuLmRlc2NyaXB0aW9uLFxuLmNhcmQtZGVzY3JpcHRpb24sXG4uZm9vdGVyLWJpZyBwIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fdHlwb2dyYXBoeS5zY3NzIiwiLyogICAgIEdlbmVyYWwgb3ZlcndyaXRlICAgICAqL1xuYm9keXtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdNdWxpJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLndyYXBwZXJ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuYXtcbiAgY29sb3I6ICRpbmZvLWNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXN7XG4gICAgIGNvbG9yOiAkaW5mby1zdGF0ZXMtY29sb3I7XG4gICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5hOmZvY3VzLCBhOmFjdGl2ZSxcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyLFxuc2VsZWN0OjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXRbdHlwZT1cImZpbGVcIl0gPiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVye1xuICAgIG91dGxpbmU6MCAhaW1wb3J0YW50O1xufVxuLnVpLXNsaWRlci1oYW5kbGU6Zm9jdXMsXG4ubmF2YmFyLXRvZ2dsZSxcbmlucHV0OmZvY3VzLFxuYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lIDogMCAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggMCAjMjE5NmYzO1xufVxuXG4vKiAgICAgICAgICAgQW5pbWF0aW9ucyAgICAgICAgICAgICAgKi9cbi5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4udGFnc2lucHV0LFxuLm5hdmJhcixcbi5uYXZiYXIgLmFsZXJ0e1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLCAkdHJhbnNpdGlvbi1saW5lYXIpO1xufVxuXG4uc2lkZWJhciAubmF2IGEsXG4udGFibGUgPiB0Ym9keSA+IHRyIC50ZC1hY3Rpb25zIC5idG57XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZmFzdC10cmFuc2l0aW9uLXRpbWUsICR0cmFuc2l0aW9uLWVhc2UtaW4pO1xufVxuXG4uYnRue1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHVsdHJhLWZhc3QtdHJhbnNpdGlvbi10aW1lLCAkdHJhbnNpdGlvbi1lYXNlLWluKTtcbn1cbi5mYXtcbiAgICB3aWR0aDogMjFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmEtYmFzZXtcbiAgICBmb250LXNpemU6IDEuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXRvcHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuaHJ7XG4gICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLXBhbGUtYmc7XG59XG4ud3JhcHBlcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19taXNjLnNjc3MiLCIvLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7IC8vIElFMTArXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbi8vIEJveCBzaXppbmdcbkBtaXhpbiBib3gtc2l6aW5nKCRib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR0aW1lLCAkdHlwZSl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgJHRpbWUgJHR5cGU7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgJHRpbWUgJHR5cGU7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsICR0aW1lICR0eXBlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgJHRpbWUgJHR5cGU7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0aW1lICR0eXBlO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1ub25lKCl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAgIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcbiAgICAtby10cmFuc2l0aW9uOiBub25lO1xuICAgIC1tcy10cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc2NhbGUoJHZhbHVlKXtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCR2YWx1ZSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgkdmFsdWUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCR2YWx1ZSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCR2YWx1ZSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHZhbHVlKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS10cmFuc2xhdGUteCgkdmFsdWUpe1xuICAgICAtd2Via2l0LXRyYW5zZm9ybTogIHRyYW5zbGF0ZTNkKCR2YWx1ZSwgMCwgMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdmFsdWUsIDAsIDApO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR2YWx1ZSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR2YWx1ZSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHZhbHVlLCAwLCAwKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGNvb3JkaW5hdGVzKXtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJGNvb3JkaW5hdGVzO1xuICAgICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRjb29yZGluYXRlcztcbiAgICAgICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogJGNvb3JkaW5hdGVzO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJGNvb3JkaW5hdGVzO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkY29vcmRpbmF0ZXM7XG59XG5cbkBtaXhpbiBpY29uLWdyYWRpZW50ICgkdG9wLWNvbG9yLCAkYm90dG9tLWNvbG9yKXtcbiAgICBiYWNrZ3JvdW5kOiAkdG9wLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AtY29sb3IgMCUsICRib3R0b20tY29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwkdG9wLWNvbG9yKSwgY29sb3Itc3RvcCgxMDAlLCRib3R0b20tY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAkdG9wLWNvbG9yIDAlLCRib3R0b20tY29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AtY29sb3IgMCUsJGJvdHRvbS1jb2xvciAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AtY29sb3IgMCUsJGJvdHRvbS1jb2xvciAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgJHRvcC1jb2xvciAwJSwkYm90dG9tLWNvbG9yIDEwMCUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTUwJSAxNTAlO1xufVxuXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRleHRlcm4tY29sb3IsICRjZW50ZXItY29sb3Ipe1xuICAgIGJhY2tncm91bmQ6ICRleHRlcm4tY29sb3I7XG4gICAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAkY2VudGVyLWNvbG9yIDAlLCAkZXh0ZXJuLWNvbG9yIDEwMCUpOyAvKiBGRjMuNisgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCRjZW50ZXItY29sb3IpLCBjb2xvci1zdG9wKDEwMCUsJGV4dGVybi1jb2xvcikpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICRjZW50ZXItY29sb3IgMCUsJGV4dGVybi1jb2xvciAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAkY2VudGVyLWNvbG9yIDAlLCRleHRlcm4tY29sb3IgMTAwJSk7IC8qIE9wZXJhIDEyKyAqL1xuICAgIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAkY2VudGVyLWNvbG9yIDAlLCRleHRlcm4tY29sb3IgMTAwJSk7IC8qIElFMTArICovXG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkY2VudGVyLWNvbG9yIDAlLCRleHRlcm4tY29sb3IgMTAwJSk7IC8qIFczQyAqL1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTUwJSA0NTAlO1xufVxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gcm90YXRlLTE4MCgpe1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Mik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbkBtaXhpbiBiYXItYW5pbWF0aW9uKCR0eXBlKXtcbiAgICAgLXdlYmtpdC1hbmltYXRpb246ICR0eXBlIDUwMG1zIGxpbmVhciAwcztcbiAgICAgLW1vei1hbmltYXRpb246ICR0eXBlIDUwMG1zIGxpbmVhciAwcztcbiAgICAgYW5pbWF0aW9uOiAkdHlwZSA1MDBtcyAwcztcbiAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG59XG5cbkBtaXhpbiB0b3BiYXIteC1yb3RhdGlvbigpe1xuICAgIEBrZXlmcmFtZXMgdG9wYmFyLXgge1xuICAgICAgMCUge3RvcDogMHB4OyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgNDUlIHt0b3A6IDZweDsgdHJhbnNmb3JtOiByb3RhdGUoMTQ1ZGVnKTsgfVxuICAgICAgNzUlIHt0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpOyB9XG4gICAgICAxMDAlIHt0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgfVxuICAgIEAtd2Via2l0LWtleWZyYW1lcyB0b3BiYXIteCB7XG4gICAgICAwJSB7dG9wOiAwcHg7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAgIDQ1JSB7dG9wOiA2cHg7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTQ1ZGVnKTsgfVxuICAgICAgNzUlIHstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7IH1cbiAgICAgIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgICB9XG4gICAgQC1tb3ota2V5ZnJhbWVzIHRvcGJhci14IHtcbiAgICAgIDAlIHt0b3A6IDBweDsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgNDUlIHt0b3A6IDZweDsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxNDVkZWcpOyB9XG4gICAgICA3NSUgey1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKTsgfVxuICAgICAgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAgIH1cbn1cblxuQG1peGluIHRvcGJhci1iYWNrLXJvdGF0aW9uKCl7XG4gICAgQGtleWZyYW1lcyB0b3BiYXItYmFjayB7XG4gICAgICAwJSB7IHRvcDogNnB4OyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgICA0NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gICAgICA3NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICAgICAgMTAwJSB7IHRvcDogMHB4OyB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAgIH1cbiAgICBcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgdG9wYmFyLWJhY2sge1xuICAgICAgMCUgeyB0b3A6IDZweDsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgICA0NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgICAgIDc1JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICAgIDEwMCUgeyB0b3A6IDBweDsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAgIH1cbiAgICBcbiAgICBALW1vei1rZXlmcmFtZXMgdG9wYmFyLWJhY2sge1xuICAgICAgMCUgeyB0b3A6IDZweDsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgICA0NSUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgICAgIDc1JSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICAgIDEwMCUgeyB0b3A6IDBweDsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAgIH1cbn1cblxuQG1peGluIGJvdHRvbWJhci14LXJvdGF0aW9uKCl7XG4gICAgQGtleWZyYW1lcyBib3R0b21iYXIteCB7XG4gICAgICAwJSB7Ym90dG9tOiAwcHg7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgICAgIDQ1JSB7Ym90dG9tOiA2cHg7IHRyYW5zZm9ybTogcm90YXRlKC0xNDVkZWcpO31cbiAgICAgIDc1JSB7dHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZyk7fVxuICAgICAgMTAwJSB7dHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7fVxuICAgIH1cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgYm90dG9tYmFyLXgge1xuICAgICAgMCUge2JvdHRvbTogMHB4OyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgICAgIDQ1JSB7Ym90dG9tOiA2cHg7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0NWRlZyk7fVxuICAgICAgNzUlIHstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO31cbiAgICAgIDEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7fVxuICAgIH1cbiAgICBALW1vei1rZXlmcmFtZXMgYm90dG9tYmFyLXgge1xuICAgICAgMCUge2JvdHRvbTogMHB4OyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgICAgIDQ1JSB7Ym90dG9tOiA2cHg7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTE0NWRlZyk7fVxuICAgICAgNzUlIHstbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO31cbiAgICAgIDEwMCUgey1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7fVxuICAgIH1cbn1cblxuQG1peGluIGJvdHRvbWJhci1iYWNrLXJvdGF0aW9ue1xuICAgIEBrZXlmcmFtZXMgYm90dG9tYmFyLWJhY2sge1xuICAgICAgMCUgeyBib3R0b206IDZweDt0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTt9XG4gICAgICA0NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7fVxuICAgICAgNzUlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO31cbiAgICAgIDEwMCUgeyBib3R0b206IDBweDt0cmFuc2Zvcm06IHJvdGF0ZSgwKTt9XG4gICAgfVxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3R0b21iYXItYmFjayB7XG4gICAgICAwJSB7Ym90dG9tOiA2cHg7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTt9XG4gICAgICA0NSUgey13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpO31cbiAgICAgIDc1JSB7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7fVxuICAgICAgMTAwJSB7Ym90dG9tOiAwcHg7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTt9XG4gICAgfVxuICAgIEAtbW96LWtleWZyYW1lcyBib3R0b21iYXItYmFjayB7XG4gICAgICAwJSB7Ym90dG9tOiA2cHg7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTt9XG4gICAgICA0NSUgey1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpO31cbiAgICAgIDc1JSB7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7fVxuICAgICAgMTAwJSB7Ym90dG9tOiAwcHg7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTt9XG4gICAgfVxuXG59XG5cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwiLnNpZGViYXJ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAuc2lkZWJhci13cmFwcGVye1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAyNjBweDtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwcHggMHB4IDBweCAkbWVkaXVtLWdyYXk7XG4gICAgfVxuICAgIC5zaWRlYmFyLWJhY2tncm91bmR7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG5cbn1cbi5zaWRlYmFyLFxuLm9mZi1jYW52YXMtc2lkZWJhcntcbiAgICB3aWR0aDogMjYwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcblxuICAgIC5sb2dve1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDBweDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG5cbiAgICAgICAgcHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW1wbGUtdGV4dHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAkcGFkZGluZy16ZXJvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdntcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBsaXtcbiAgICAgICAgICAgID4gYXtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgPiBhe1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlID4gYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAkYmctbnVkZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYS5tZW51IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwe1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGl7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3Jle1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJhY2tncm91bmQ6ICAkd2hpdGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmLFxuICAgICZbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYmFja2dyb3VuZC1jb2xvcigkd2hpdGUtYmFja2dyb3VuZC1jb2xvciwgJGRlZmF1bHQtY29sb3IpO1xuICAgIH1cbiAgICAmW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJde1xuICAgICAgICBAaW5jbHVkZSBzaWRlYmFyLWJhY2tncm91bmQtY29sb3IoJGJsYWNrLWJhY2tncm91bmQtY29sb3IsICR3aGl0ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cInByaW1hcnlcIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYWN0aXZlLWNvbG9yKCRwcmltYXJ5LWNvbG9yKTtcbiAgICB9XG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cImluZm9cIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYWN0aXZlLWNvbG9yKCRpbmZvLWNvbG9yKTtcbiAgICB9XG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cInN1Y2Nlc3NcIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYWN0aXZlLWNvbG9yKCRzdWNjZXNzLWNvbG9yKTtcbiAgICB9XG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cIndhcm5pbmdcIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYWN0aXZlLWNvbG9yKCR3YXJuaW5nLWNvbG9yKTtcbiAgICB9XG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cImRhbmdlclwiXXtcbiAgICAgICAgQGluY2x1ZGUgc2lkZWJhci1hY3RpdmUtY29sb3IoJGRhbmdlci1jb2xvcik7XG4gICAgfVxuXG59XG5cbi5tYWluLXBhbmVse1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1udWRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogJHNpZGViYXItd2lkdGg7XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgID4gLmNvbnRlbnR7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTVweDtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMTIzcHgpO1xuICAgIH1cblxuICAgID4gLmZvb3RlcntcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG5cbiAgICAubmF2YmFye1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLnNpZGViYXIsXG4ubWFpbi1wYW5lbHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCxib3R0b207XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC4ycywuMnM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzLC4ycztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIsbGluZWFyO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIsbGluZWFyO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3NpZGViYXItYW5kLW1haW4tcGFuZWwuc2NzcyIsIkBtaXhpbiBzaWRlYmFyLWJhY2tncm91bmQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsICRmb250LWNvbG9yKXtcbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3Jle1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG5cdH1cblxuICAgIC5sb2dve1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkZm9udC1jb2xvciwuMyk7XG5cbiAgICAgICAgcHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW1wbGUtdGV4dHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZ7XG4gICAgICAgIGxpOm5vdCguYWN0aXZlKXtcbiAgICAgICAgICAgID4gYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb250LWNvbG9yLC4yKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbkBtaXhpbiBzaWRlYmFyLWFjdGl2ZS1jb2xvcigkZm9udC1jb2xvcil7XG4gICAgLm5hdntcbiAgICAgICAgbGl7XG4gICAgICAgICAgICAmLmFjdGl2ZSA+IGF7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL21peGlucy9fc2lkZWJhci5zY3NzIiwiLyogICAgICAgICAgIGJhZGdlcyAgICAgICAgICAgICAqL1xuLmJhZGdlIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbWluaTtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0cmFuc3BhcmVudC1iZztcbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWV4dHJlbWU7XG59XG5cbi5iYWRnZS1pY29uIHtcbiAgcGFkZGluZzogMC40ZW0gMC41NWVtO1xuICBpIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICB9XG59XG5cbi5iYWRnZS1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgYmFkZ2UtY29sb3IoJGRlZmF1bHQtY29sb3IpO1xufVxuXG4uYmFkZ2UtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJhZGdlLWNvbG9yKCRwcmltYXJ5LWNvbG9yKTtcbn1cblxuLmJhZGdlLWluZm8ge1xuICBAaW5jbHVkZSBiYWRnZS1jb2xvcigkaW5mby1jb2xvcik7XG59XG5cbi5iYWRnZS1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYmFkZ2UtY29sb3IoJHN1Y2Nlc3MtY29sb3IpO1xufVxuXG4uYmFkZ2Utd2FybmluZyB7XG4gIEBpbmNsdWRlIGJhZGdlLWNvbG9yKCR3YXJuaW5nLWNvbG9yKTtcbn1cblxuLmJhZGdlLWRhbmdlciB7XG4gIEBpbmNsdWRlIGJhZGdlLWNvbG9yKCRkYW5nZXItY29sb3IpO1xufVxuXG4uYmFkZ2UtbmV1dHJhbCB7XG4gIEBpbmNsdWRlIGJhZGdlLWNvbG9yKCR3aGl0ZS1jb2xvcik7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19iYWRnZXMuc2NzcyIsIkBtaXhpbiBiYWRnZS1jb2xvcigkY29sb3IpIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2JhZGdlcy5zY3NzIiwiLmJ0bixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRue1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJ0bi1iYXNlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXRoaWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFuc3BhcmVudC1iZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWk7XG4gICAgXG4gICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgXG4gICAgQGluY2x1ZGUgYnRuLXN0eWxlcygkZGVmYXVsdC1jb2xvciwgJGRlZmF1bHQtc3RhdGVzLWNvbG9yKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmYXN0LXRyYW5zaXRpb24tdGltZSwgbGluZWFyKTtcbiAgICBcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXN7XG4gICAgICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAmLmJ0bi1pY29ue1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsO1xuICAgIH0gXG59XG5cbi5idG4tZ3JvdXAgLmJ0biArIC5idG4sIFxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCwgXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLCBcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXB7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG59XG5cbi8vIEFwcGx5IHRoZSBtaXhpbiB0byB0aGUgYnV0dG9uc1xuLy8uYnRuLWRlZmF1bHQgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCRkZWZhdWx0LWNvbG9yLCAkZGVmYXVsdC1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LCAuYnRuLXByaW1hcnkgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCRwcmltYXJ5LWNvbG9yLCAkcHJpbWFyeS1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLCAuYnRuLXN1Y2Nlc3MgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCRzdWNjZXNzLWNvbG9yLCAkc3VjY2Vzcy1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLCAuYnRuLWluZm8gICAgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCRpbmZvLWNvbG9yLCAkaW5mby1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLCAuYnRuLXdhcm5pbmcgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCR3YXJuaW5nLWNvbG9yLCAkd2FybmluZy1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIsIC5idG4tZGFuZ2VyICB7IEBpbmNsdWRlIGJ0bi1zdHlsZXMoJGRhbmdlci1jb2xvciwgJGRhbmdlci1zdGF0ZXMtY29sb3IpOyB9XG4uYnRuLW5ldXRyYWwgeyBcbiAgICBAaW5jbHVkZSBidG4tc3R5bGVzKCR3aGl0ZS1jb2xvciwgJHdoaXRlLWNvbG9yKTtcbiAgICBcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXN7XG4gICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvcjtcbiAgICB9XG4gICAgXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZXtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvcjtcbiAgICB9ICAgIFxuICAgIFxuICAgICYuYnRuLWZpbGx7XG4gICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvcjtcbiAgICB9XG4gICAgJi5idG4tZmlsbDpob3ZlcixcbiAgICAmLmJ0bi1maWxsOmZvY3Vze1xuICAgICAgICBjb2xvcjogJGRlZmF1bHQtc3RhdGVzLWNvbG9yO1xuICAgIH1cbiAgICBcbiAgICAmLmJ0bi1zaW1wbGU6YWN0aXZlLFxuICAgICYuYnRuLXNpbXBsZS5hY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cblxuLmJ0bntcbiAgICAgJjpkaXNhYmxlZCxcbiAgICAgJltkaXNhYmxlZF0sXG4gICAgICYuZGlzYWJsZWR7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoLjUpO1xuICAgIH1cbn1cbi5idG4tc2ltcGxle1xuICAgIGJvcmRlcjogJG5vbmU7XG4gICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgXG4gICAgJi5idG4taWNvbntcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDtcbiAgICB9XG59XG4uYnRuLWxne1xuICAgQGluY2x1ZGUgYnRuLXNpemUoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRib3JkZXItcmFkaXVzLWJ0bi1sYXJnZSwgJGxpbmUtaGVpZ2h0LXNtYWxsKTtcbiAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuLmJ0bi1zbXtcbiAgICBAaW5jbHVkZSBidG4tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGJvcmRlci1yYWRpdXMtYnRuLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwpOyAgICBcbn1cbi5idG4teHMge1xuICAgIEBpbmNsdWRlIGJ0bi1zaXplKCRwYWRkaW5nLXhzLXZlcnRpY2FsLCAkcGFkZGluZy14cy1ob3Jpem9udGFsLCAkZm9udC1zaXplLXhzLCAkYm9yZGVyLXJhZGl1cy1idG4tc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCk7XG59XG4uYnRuLXdkIHtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xufVxuXG4uYnRuLWdyb3VwLnNlbGVjdHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5idG4tZ3JvdXAuc2VsZWN0IC5idG57XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5idG4tZ3JvdXAuc2VsZWN0IC5jYXJldHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICByaWdodDogOHB4O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fYnV0dG9ucy5zY3NzIiwiLy8gTWl4aW4gZm9yIGdlbmVyYXRpbmcgbmV3IHN0eWxlc1xuQG1peGluIGJ0bi1zdHlsZXMoJGJ0bi1jb2xvciwgJGJ0bi1zdGF0ZXMtY29sb3IpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYnRuLWNvbG9yO1xuICBjb2xvcjogJGJ0bi1jb2xvcjtcbiAgXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1jb2xvcjtcbiAgICBjb2xvcjogJGZpbGwtZm9udC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRidG4tY29sb3I7XG4gICAgLmNhcmV0e1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkZmlsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuICBcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFuc3BhcmVudC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJGJ0bi1jb2xvcjtcbiAgICB9XG4gIH1cbiAgXG5cbiAgJi5idG4tZmlsbCB7XG4gICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWNvbG9yO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7ICBcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSxcbiAgICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXN0YXRlcy1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnRuLXN0YXRlcy1jb2xvcjtcbiAgICB9XG4gICAgXG4gICAgLmNhcmV0e1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgfVxuICB9XG4gIFxuICAmLmJ0bi1zaW1wbGUge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSxcbiAgICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHJhbnNwYXJlbnQtYmc7XG4gICAgICAgIGNvbG9yOiAkYnRuLXN0YXRlcy1jb2xvcjtcbiAgICB9XG4gICAgXG4gICAgLmNhcmV0e1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgfVxuICB9ICBcbiAgXG4gIC5jYXJldHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidG4tY29sb3I7XG4gIH1cbn1cblxuXG5AbWl4aW4gYnRuLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRib3JkZXIsICRsaW5lLWhlaWdodCl7XG4gICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICBib3JkZXItcmFkaXVzOiAkYm9yZGVyO1xuICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBcbiAgICYuYnRuLXNpbXBsZXtcbiAgICAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCArIDIgJHBhZGRpbmctaG9yaXpvbnRhbDsgXG4gICB9XG4gICAgXG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogI3thbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKX07XG59XG5cbkBtaXhpbiBibGFjay1maWx0ZXIoJG9wYWNpdHkpe1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywxNywxNywkb3BhY2l0eSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB6LWluZGV4OiAxOyBcbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL21peGlucy9fdHJhbnNwYXJlbmN5LnNjc3MiLCJpbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2w6LW1vei1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7XG4gICBAaW5jbHVkZSBwbGFjZWhvbGRlcigkbWVkaXVtLWdyYXksMSk7XG59XG4uZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuODQ2O1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAvKi13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTsqL1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIC13ZWJraXQtYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xuICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcbiAgICBAaW5jbHVkZSBpbnB1dC1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGhlaWdodC1iYXNlKTtcblxuICAgIC8qYmFja2dyb3VuZC1jb2xvcjogJGdyYXktaW5wdXQtYmc7XG4gICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAwcztcbiAgICBAaW5jbHVkZSBpbnB1dC1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGhlaWdodC1iYXNlKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpOyovXG5cbiAgICAmOmZvY3Vze1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtYmc7XG4gICAgICAgICAgIC8vQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMTk2ZjM7XG4gICAgICAgICAgICAvKi13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICMyMTk2ZjM7Ki9cbiAgICB9XG5cbiAgICAuaGFzLXN1Y2Nlc3MgJixcbiAgICAuaGFzLWVycm9yICYsXG4gICAgLmhhcy1zdWNjZXNzICY6Zm9jdXMsXG4gICAgLmhhcy1lcnJvciAmOmZvY3Vze1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIH1cblxuICAgIC5oYXMtc3VjY2VzcyAme1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1pbnB1dC1iZztcbiAgICAgICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICAmLmJvcmRlci1pbnB1dHtcbiAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGFzLXN1Y2Nlc3MgJjpmb2N1c3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWJnO1xuICAgIH1cbiAgICAuaGFzLWVycm9yICZ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXItaW5wdXQtYmc7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyLWNvbG9yO1xuICAgICAgICAmLmJvcmRlci1pbnB1dHtcbiAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFuZ2VyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oYXMtZXJyb3IgJjpmb2N1c3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWJnO1xuICAgIH1cblxuICAgICYgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNre1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAmLmJvcmRlci1pbnB1dHtcbiAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1saW5lLWNvbG9yO1xuICAgIH1cbiAgICAub3BlbiAme1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5pbnB1dC1sZ3tcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5oYXMtZXJyb3J7XG4gICAgLmZvcm0tY29udHJvbC1mZWVkYmFjaywgLmNvbnRyb2wtbGFiZWx7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyLWNvbG9yO1xuICAgIH1cbn1cbi5oYXMtc3VjY2Vzc3tcbiAgICAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuY29udHJvbC1sYWJlbHtcbiAgICAgICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgIH1cbn1cblxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWlucHV0LWJnO1xuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAgIC5oYXMtc3VjY2VzcyAmLFxuICAgIC5oYXMtZXJyb3IgJntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgIH1cbiAgICAuaGFzLWVycm9yIC5mb3JtLWNvbnRyb2w6Zm9jdXMgKyAme1xuICAgICAgICBjb2xvcjogJGRhbmdlci1jb2xvcjtcbiAgICB9XG4gICAgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXMgKyAme1xuICAgICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuICAgIC5mb3JtLWNvbnRyb2w6Zm9jdXMgKyAmLFxuICAgIC5mb3JtLWNvbnRyb2w6Zm9jdXMgfiAme1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgfVxufVxuLmJvcmRlci1pbnB1dHtcbiAgICAuaW5wdXQtZ3JvdXAtYWRkb257XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICR0YWJsZS1saW5lLWNvbG9yO1xuICAgIH1cbn1cbi5pbnB1dC1ncm91cHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLmlucHV0LWdyb3VwW2Rpc2FibGVkXXtcbiAgICAuaW5wdXQtZ3JvdXAtYWRkb257XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBib3JkZXItcmlnaHQ6IDAgbm9uZTtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWxlZnQ6IDAgbm9uZTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSwgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoJGRhcmstZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdOjotbW96LXBsYWNlaG9sZGVye1xuICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoJGRhcmstZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdOi1tb3otcGxhY2Vob2xkZXJ7XG4gICBAaW5jbHVkZSBwbGFjZWhvbGRlcigkbWVkaXVtLWdyYXksMSk7XG59XG4uZm9ybS1jb250cm9sW2Rpc2FibGVkXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cbi5pbnB1dC1ncm91cC1idG4gLmJ0bntcbiAgICBib3JkZXItd2lkdGg6ICRib3JkZXItdGhpbjtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1yb3VuZC12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG59XG4uaW5wdXQtZ3JvdXAtYnRuIC5idG4tZGVmYXVsdDpub3QoLmJ0bi1maWxsKXtcbiAgICBib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbn1cblxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bntcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cbnRleHRhcmVhLmZvcm0tY29udHJvbHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIHJlc2l6ZTogbm9uZTtcbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9faW5wdXRzLnNjc3MiLCJAbWl4aW4gaW5wdXQtc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGhlaWdodCl7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3IsICRvcGFjaXR5KXtcbiAgIGNvbG9yOiAkY29sb3I7XG4gICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xufVxuXG5AbWl4aW4gbGlnaHQtZm9ybSgpe1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOjA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19pbnB1dHMuc2NzcyIsIi5hbGVydHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIFxuICAgIC5jb250YWluZXIgJntcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIFxuICAgIH1cbiAgICAubmF2YmFyICZ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogODVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICAgIC5uYXZiYXI6bm90KC5uYXZiYXItdHJhbnNwYXJlbnQpICZ7XG4gICAgICAgIHRvcDogNzBweDtcbiAgICB9XG4gICAgXG4gICAgc3BhbltkYXRhLW5vdGlmeT1cImljb25cIl17XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY2xvc2UgfiBzcGFue1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA4OSU7XG4gICAgfVxuICAgIFxuICAgICZbZGF0YS1ub3RpZnk9XCJjb250YWluZXJcIl17XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgfVxuICAgIFxuICAgICYuYWxlcnQtd2l0aC1pY29ue1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDY1cHg7XG4gICAgfVxufVxuLmFsZXJ0LWluZm97XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWluZm87XG4gICAgY29sb3I6ICRpbmZvLXN0YXRlcy1jb2xvcjtcbn1cbi5hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctc3VjY2VzcztcbiAgICBjb2xvcjogJHN1Y2Nlc3Mtc3RhdGVzLWNvbG9yO1xufVxuLmFsZXJ0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy13YXJuaW5nO1xuICAgIGNvbG9yOiAkd2FybmluZy1zdGF0ZXMtY29sb3I7XG59XG4uYWxlcnQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFuZ2VyO1xuICAgIGNvbG9yOiAkZGFuZ2VyLXN0YXRlcy1jb2xvcjtcbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fYWxlcnRzLnNjc3MiLCIudGFibGV7XG4gICAgdGhlYWQsXG4gICAgdGJvZHksXG4gICAgdGZvb3R7XG4gICAgICAgIHRyID4gdGgsXG4gICAgICAgIHRyID4gdGR7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRhYmxlLWxpbmUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICA+IHRoZWFkID4gdHIgPiB0aHtcbiAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTtcbiAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgfVxuXG4gICAucmFkaW8sXG4gICAuY2hlY2tib3h7XG4gICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgd2lkdGg6IDE1cHg7XG4gICB9XG4gICA+IHRoZWFkID4gdHIgPiB0aCxcbiAgID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgPiB0Zm9vdCA+IHRyID4gdGgsXG4gICA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgPiB0Zm9vdCA+IHRyID4gdGR7XG4gICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgfVxuXG4gICAudGgtZGVzY3JpcHRpb257XG4gICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgIH1cbiAgIC50ZC1wcmljZXtcbiAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICB9XG4gICAudGQtdG90YWx7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWg1O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAudGQtYWN0aW9ucyAuYnRue1xuXG4gICAgICAgICYuYnRuLXNtLFxuICAgICAgICAmLmJ0bi14c3tcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiB0Ym9keSA+IHRye1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuLnRhYmxlLXN0cmlwZWR7XG4gICAgdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbGUtYmc7XG4gICAgfVxuICAgID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgID4gdGhlYWQgPiB0ciA+IHRkLFxuICAgID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgID4gdGZvb3QgPiB0ciA+IHRke1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDhweDtcbiAgICB9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fdGFibGVzLnNjc3MiLCIvKiAgICAgIENoZWNrYm94IGFuZCByYWRpbyAgICAgICAgICovXG4uY2hlY2tib3gsXG4ucmFkaW8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4yNXMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4yNXMgbGluZWFyO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmljb25zIHtcbiAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3Isb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICBvcGFjaXR5OiAuNTA7XG4gICAgfVxuXG5cbiAgICAmLmNoZWNrZWR7XG4gICAgICAgIC5pY29uc3tcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dHtcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmNoZWNrYm94LFxuLnJhZGlve1xuICAgIGxhYmVse1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgfVxufVxuXG4uY2hlY2tib3ggLmljb25zIC5maXJzdC1pY29uLFxuLnJhZGlvIC5pY29ucyAuZmlyc3QtaWNvbixcbi5jaGVja2JveCAuaWNvbnMgLnNlY29uZC1pY29uLFxuLnJhZGlvIC5pY29ucyAuc2Vjb25kLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xufVxuLmNoZWNrYm94IC5pY29ucyAuc2Vjb25kLWljb24sXG4ucmFkaW8gLmljb25zIC5zZWNvbmQtaWNvbiB7XG4gIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG59XG4uY2hlY2tib3g6aG92ZXIsXG4ucmFkaW86aG92ZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbn1cbi5jaGVja2JveDpob3ZlciAuZmlyc3QtaWNvbixcbi5yYWRpbzpob3ZlciAuZmlyc3QtaWNvbiB7XG4gQGluY2x1ZGUgb3BhY2l0eSgwKTtcbn1cbi5jaGVja2JveDpob3ZlciAuc2Vjb25kLWljb24sXG4ucmFkaW86aG92ZXIgLnNlY29uZC1pY29uIHtcbiBAaW5jbHVkZSBvcGFjaXR5ICgxKTtcbn1cbi5jaGVja2JveC5jaGVja2VkLFxuLnJhZGlvLmNoZWNrZWQge1xuLy8gICBjb2xvcjogJGluZm8tY29sb3I7XG59XG4uY2hlY2tib3guY2hlY2tlZCAuZmlyc3QtaWNvbixcbi5yYWRpby5jaGVja2VkIC5maXJzdC1pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuLmNoZWNrYm94LmNoZWNrZWQgLnNlY29uZC1pY29uLFxuLnJhZGlvLmNoZWNrZWQgLnNlY29uZC1pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4vLyAgIGNvbG9yOiAkaW5mby1jb2xvcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG59XG4uY2hlY2tib3guZGlzYWJsZWQsXG4ucmFkaW8uZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG59XG4uY2hlY2tib3guZGlzYWJsZWQgLmljb25zLFxuLnJhZGlvLmRpc2FibGVkIC5pY29ucyB7XG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG59XG4uY2hlY2tib3guZGlzYWJsZWQgLmZpcnN0LWljb24sXG4ucmFkaW8uZGlzYWJsZWQgLmZpcnN0LWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cbi5jaGVja2JveC5kaXNhYmxlZCAuc2Vjb25kLWljb24sXG4ucmFkaW8uZGlzYWJsZWQgLnNlY29uZC1pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuLmNoZWNrYm94LmRpc2FibGVkLmNoZWNrZWQgLmljb25zLFxuLnJhZGlvLmRpc2FibGVkLmNoZWNrZWQgLmljb25zIHtcbiAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbn1cbi5jaGVja2JveC5kaXNhYmxlZC5jaGVja2VkIC5maXJzdC1pY29uLFxuLnJhZGlvLmRpc2FibGVkLmNoZWNrZWQgLmZpcnN0LWljb24ge1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG4uY2hlY2tib3guZGlzYWJsZWQuY2hlY2tlZCAuc2Vjb25kLWljb24sXG4ucmFkaW8uZGlzYWJsZWQuY2hlY2tlZCAuc2Vjb25kLWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2NoZWNrYm94LXJhZGlvLnNjc3MiLCIubmF2IHtcbiAgICA+IGxpe1xuICAgICAgICA+IGE6aG92ZXIsXG4gICAgICAgID4gYTpmb2N1c3tcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuLm5hdmJhcntcbiAgICBib3JkZXI6ICRub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW5hdmJhcjtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgLm5hdmJhci1icmFuZHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDs7XG4gICAgICAgIG1hcmdpbjogJG5hdmJhci1tYXJnaW4tYnJhbmQ7XG4gICAgICAgIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy1icmFuZDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlLW5hdmJhcjtcbiAgICB9XG4gICAgLm5hdmJhci1uYXZ7XG4gICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG4gICAgICAgICAgICAgbWFyZ2luOiAkbmF2YmFyLW1hcmdpbi1hO1xuICAgICAgICAgICAgIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy1hO1xuXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICAgICA+IGxpID4gYS5idG57XG4gICAgICAgICAgICAgbWFyZ2luOiAkbmF2YmFyLW1hcmdpbi1hLWJ0bjtcbiAgICAgICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bntcbiAgICAgICBtYXJnaW46ICRuYXZiYXItbWFyZ2luLWJ0bjtcbiAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICB9XG4gICAgLmJ0bi1zaW1wbGV7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW07XG4gICAgfVxufVxuXG4ubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnV7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQge1xuICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBocHZtcy1ibHVlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbiAgICAuYnJhbmR7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdmJhci1uYXZ7XG4gICAgICAgID4gbGkgPiBhOm5vdCguYnRuKXtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5hY3RpdmUgPiBhLFxuICAgICAgICA+IC5hY3RpdmUgPiBhOm5vdCguYnRuKTpob3ZlcixcbiAgICAgICAgPiAuYWN0aXZlID4gYTpub3QoLmJ0bik6Zm9jdXMsXG4gICAgICAgID4gbGkgPiBhOm5vdCguYnRuKTpob3ZlcixcbiAgICAgICAgPiBsaSA+IGE6bm90KC5idG4pOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmRyb3Bkb3duID4gYTpob3ZlciAuY2FyZXQsXG4gICAgICAgID4gLmRyb3Bkb3duID4gYTpmb2N1cyAuY2FyZXQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGluZm8tY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW5mby1jb2xvcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgPiAub3BlbiA+IGEsXG4gICAgICAgID4gLm9wZW4gPiBhOmhvdmVyLFxuICAgICAgICA+IC5vcGVuID4gYTpmb2N1c3tcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGU6aG92ZXIsLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICY6bm90KC5uYXZiYXItdHJhbnNwYXJlbnQpIC5idG4tZGVmYXVsdDpob3ZlcntcbiAgICAgICAgY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgIH1cbiAgICAmOm5vdCgubmF2YmFyLXRyYW5zcGFyZW50KSAuYnRuLW5ldXRyYWwsXG4gICAgJjpub3QoLm5hdmJhci10cmFuc3BhcmVudCkgLmJ0bi1uZXV0cmFsOmhvdmVyLFxuICAgICY6bm90KC5uYXZiYXItdHJhbnNwYXJlbnQpIC5idG4tbmV1dHJhbDphY3RpdmV7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgfVxufVxuXG4ubmF2YmFyLWZvcm17XG4gICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgLmZvcm0tY29udHJvbHtcbiAgICAgICAgQGluY2x1ZGUgbGlnaHQtZm9ybSgpO1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1uYXZiYXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtZ2VuZXJhbDtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cbiAgICAubmF2YmFyLXRyYW5zcGFyZW50ICYgLmZvcm0tY29udHJvbCxcbiAgICBbY2xhc3MqPVwibmF2YmFyLWN0XCJdICYgLmZvcm0tY29udHJvbHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAkbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLWNvbG9yLC42KTtcbiAgICB9XG5cbn1cblxuLm5hdmJhci1jdC1wcmltYXJ5e1xuICAgIEBpbmNsdWRlIG5hdmJhci1jb2xvcigkYmctcHJpbWFyeSk7XG59XG4ubmF2YmFyLWN0LWluZm97XG4gICAgQGluY2x1ZGUgbmF2YmFyLWNvbG9yKCRiZy1pbmZvKTtcbn1cbi5uYXZiYXItY3Qtc3VjY2Vzc3tcbiAgICBAaW5jbHVkZSBuYXZiYXItY29sb3IoJGJnLXN1Y2Nlc3MpO1xufVxuLm5hdmJhci1jdC13YXJuaW5ne1xuICAgIEBpbmNsdWRlIG5hdmJhci1jb2xvcigkYmctd2FybmluZyk7XG59XG4ubmF2YmFyLWN0LWRhbmdlcntcbiAgICBAaW5jbHVkZSBuYXZiYXItY29sb3IoJGJnLWRhbmdlcik7XG59XG5cbi5uYXZiYXItdHJhbnNwYXJlbnR7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ubmF2YmFyLXRvZ2dsZXtcbiAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgYm9yZGVyOiAkbm9uZTtcblxuICAgIC5pY29uLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICB9XG4gICAgIC5uYXZiYXItY29sbGFwc2UsXG4gICAgIC5uYXZiYXItZm9ybSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpob3ZlcixcbiAgICAmLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50LCBbY2xhc3MqPVwibmF2YmFyLWN0XCJde1xuXG4gICAgLm5hdmJhci1icmFuZHtcblxuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KC45KTtcblxuICAgICAgICAmOmZvY3VzLFxuXG4gICAgICAgICY6aG92ZXJ7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5uYXZiYXItYnJhbmQ6bm90KFtjbGFzcyo9XCJ0ZXh0XCJdKXtcblxuICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuXG4gICAgfVxuXG4gICAgLm5hdmJhci1uYXZ7XG5cbiAgICAgICAgPiBsaSA+IGE6bm90KC5idG4pe1xuXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjgpO1xuXG4gICAgICAgIH1cblxuICAgICAgICA+IC5hY3RpdmUgPiBhOm5vdCguYnRuKSxcblxuICAgICAgICA+IC5hY3RpdmUgPiBhOmhvdmVyOm5vdCguYnRuKSxcblxuICAgICAgICA+IC5hY3RpdmUgPiBhOmZvY3VzOm5vdCguYnRuKSxcblxuICAgICAgICA+IGxpID4gYTpob3Zlcjpub3QoLmJ0biksXG5cbiAgICAgICAgPiBsaSA+IGE6Zm9jdXM6bm90KC5idG4pe1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAubmF2ID4gbGkgPiBhLmJ0bjpob3ZlcntcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmRyb3Bkb3duID4gYSAuY2FyZXQsXG5cbiAgICAgICAgPiAuZHJvcGRvd24gPiBhOmhvdmVyIC5jYXJldCxcblxuICAgICAgICA+IC5kcm9wZG93biA+IGE6Zm9jdXMgLmNhcmV0e1xuXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgPiAub3BlbiA+IGEsXG5cbiAgICAgICAgPiAub3BlbiA+IGE6aG92ZXIsXG5cbiAgICAgICAgPiAub3BlbiA+IGE6Zm9jdXMge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYnRuLWRlZmF1bHR7XG5cbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgIH1cblxuICAgIC5idG4tZGVmYXVsdC5idG4tZmlsbHtcblxuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSguOSk7XG5cbiAgICB9XG5cbiAgICAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6aG92ZXIsXG5cbiAgICAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6Zm9jdXMsXG5cbiAgICAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6YWN0aXZlLFxuXG4gICAgLmJ0bi1kZWZhdWx0LmJ0bi1maWxsLmFjdGl2ZSxcblxuICAgIC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWZpbGwuYnRuLWRlZmF1bHR7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcblxuICAgIH1cblxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fbmF2YmFycy5zY3NzIiwiQG1peGluIG5hdmJhci1jb2xvcigkY29sb3Ipe1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGNlbnRlci1pdGVtKCl7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19uYXZiYXJzLnNjc3MiLCIuZm9vdGVye1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG5hdiB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhOm5vdCguYnRuKXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtc3RhdGVzLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29weXJpZ2h0e1xuICAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46IDE1cHggM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuaGVhcnR7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyLWNvbG9yO1xuICAgIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2Zvb3RlcnMuc2NzcyIsIi5kcm9wZG93bi1tZW51e1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWxlLWJnO1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWV4dHJlbWU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiA5MDAwOyAgXG4gICAgXG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTsgXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tc2hhZG93KTtcbiAgICAgICAgXG4vLyAgICAgdGhlIHN0eWxlIGZvciBvcGVuaW5nIGRyb3Bkb3ducyBvbiBtb2JpbGUgZGV2aWNlczsgZm9yIHRoZSBkZXNrdG9wIHZlcnNpb24gY2hlY2sgdGhlIF9yZXNwb25zaXZlLnNjc3MgZmlsZSAgICBcbiAgICAub3BlbiAme1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH0gICAgXG4gICAgXG4gICAgLmRpdmlkZXJ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tcGFsZS1iZztcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kcm9wZG93bi1oZWFkZXJ7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWRyb3Bkb3duLXZlcnRpY2FsICRwYWRkaW5nLWRyb3Bkb3duLWhvcml6b250YWw7XG4gICAgfVxuICAgIFxuLy8gICAgIHRoZSBzdHlsZSBmb3IgdGhlIGRyb3Bkb3duIG1lbnUgdGhhdCBhcHBlYXJzIHVuZGVyIHNlbGVjdCwgaXQgaXMgZGlmZmVyZW50IGZyb20gdGhlIGRlZmF1bHQgb25lXG4gICAgLnNlbGVjdCAme1xuICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJvdHRvbTsgXG4gICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRzZWxlY3QtY29vcmRpbmF0ZXMpO1xuICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1zY2FsZSgxKTtcbiAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmYXN0LXRyYW5zaXRpb24tdGltZSwgJHRyYW5zaXRpb24tbGluZWFyKTtcbiAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICB9XG4gICAgLnNlbGVjdC5vcGVuICZ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuICAgIFxuICAgID4gbGkgPiBhIHtcbiAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgcGFkZGluZzogJHBhZGRpbmctZHJvcGRvd24tdmVydGljYWwgJHBhZGRpbmctZHJvcGRvd24taG9yaXpvbnRhbDtcbiAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vbmUoKTtcbiAgICAgICBcbiAgICAgICBpbWd7XG4gICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgfVxuICAgIH1cbiAgICA+IGxpID4gYTpmb2N1c3tcbiAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idG4tZ3JvdXAuc2VsZWN0ICZ7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgPiBsaTpmaXJzdC1jaGlsZCA+IGF7XG4gICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICB9XG4gICAgXG4gICAgPiBsaTpsYXN0LWNoaWxkID4gYXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWV4dHJlbWU7XG4gICAgfVxuICAgIFxuICAgIC5zZWxlY3QgJiA+IGxpOmZpcnN0LWNoaWxkID4gYXtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgIH1cbiAgICBcbiAgICA+IGxpID4gYTpob3ZlcixcbiAgICA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xuICAgICAgICBjb2xvcjogJGZpbGwtZm9udC1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmLmRyb3Bkb3duLXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsXG4gICAgJi5kcm9wZG93bi1wcmltYXJ5ID4gbGkgPiBhOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgJi5kcm9wZG93bi1pbmZvID4gbGkgPiBhOmhvdmVyLFxuICAgICYuZHJvcGRvd24taW5mbyA+IGxpID4gYTpmb2N1c3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm8tY29sb3I7XG4gICAgfVxuICAgICYuZHJvcGRvd24tc3VjY2VzcyA+IGxpID4gYTpob3ZlcixcbiAgICAmLmRyb3Bkb3duLXN1Y2Nlc3MgPiBsaSA+IGE6Zm9jdXN7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgIH1cbiAgICAmLmRyb3Bkb3duLXdhcm5pbmcgPiBsaSA+IGE6aG92ZXIsXG4gICAgJi5kcm9wZG93bi13YXJuaW5nID4gbGkgPiBhOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgICB9XG4gICAgJi5kcm9wZG93bi1kYW5nZXIgPiBsaSA+IGE6aG92ZXIsXG4gICAgJi5kcm9wZG93bi1kYW5nZXIgPiBsaSA+IGE6Zm9jdXN7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXItY29sb3I7XG4gICAgfVxuXG59XG5cbi8vZml4IGJ1ZyBmb3IgdGhlIHNlbGVjdCBpdGVtcyBpbiBidG4tZ3JvdXAgXG4uYnRuLWdyb3VwLnNlbGVjdHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJ0bi1ncm91cC5zZWxlY3Qub3BlbntcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2Ryb3Bkb3duLnNjc3MiLCIuY2FyZHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAycHggcmdiYSgyMDQsIDE5NywgMTg1LCAwLjUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgY29sb3I6ICRjYXJkLWJsYWNrLWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgIC5jYXJkLWJsb2NrIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjZjk2MzMyO1xuICAgIH1cblxuICAgIC5pbWFnZXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWV4dHJlbWUgJGJvcmRlci1yYWRpdXMtZXh0cmVtZSAwIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50e1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTBweCAxNXB4O1xuICAgIH1cbiAgICAuaGVhZGVye1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMDtcbiAgICB9XG4gICAgLmRlc2NyaXB0aW9ue1xuICAgICAgICBmb250LXNpemU6ICRmb250LXBhcmFncmFwaDtcbiAgICAgICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjU3ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICBoNntcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jYXRlZ29yeSxcbiAgICBsYWJlbHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1wYXJhZ3JhcGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLnRpdGxle1xuICAgICAgICBtYXJnaW46ICRub25lO1xuICAgICAgICBjb2xvcjogJGNhcmQtYmxhY2stY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgfVxuICAgIC5hdmF0YXJ7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICAgIC5mb290ZXJ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAgIC5sZWdlbmR7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGhye1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdGF0c3tcbiAgICAgICAgY29sb3I6ICNhOWE5YTk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGl7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyIGRpdntcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5hdXRob3J7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuYXV0aG9yIGl7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIH1cblxuICAgICYuY2FyZC1zZXBhcmF0b3I6YWZ0ZXJ7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5jdC1jaGFydHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMzBweDtcbiAgICAgICAgaGVpZ2h0OiAyNDVweDtcbiAgICB9XG5cbiAgICAudGFibGV7XG4gICAgICAgIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aGVhZCB0aDpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoZWFkIHRoOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFsZXJ0e1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5hbGVydC13aXRoLWljb257XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDY1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmljb24tYmlne1xuICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgbWluLWhlaWdodDogNjRweDtcbiAgICB9XG4gICAgLm51bWJlcnN7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bC50ZWFtLW1lbWJlcnN7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tcGFsZS1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5jYXJkLXVzZXJ7XG4gICAgLmltYWdle1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWFnZS1wbGFpbntcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMTBweDtcbiAgICB9XG4gICAgLmF1dGhvcntcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTY1cHg7XG4gICAgICAgIC50aXRsZXtcbiAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1zdGF0ZXMtY29sb3I7XG4gICAgICAgICAgICBzbWFsbHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNhcmQtbXV0ZWQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmF2YXRhcntcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAmLmJvcmRlci13aGl0ZXtcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmLmJvcmRlci1ncmF5e1xuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgJGNhcmQtbXV0ZWQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRpdGxle1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG4gICAgLmRlc2NyaXB0aW9ue1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbiAgICAuY29udGVudHtcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgfVxuXG4gICAgJi5jYXJkLXBsYWlue1xuICAgICAgICAuYXZhdGFye1xuICAgICAgICAgICAgaGVpZ2h0OiAxOTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmQtbWFwe1xuICAgIC5tYXB7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAgID4gZGl2e1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuLmNhcmQtdXNlcixcbi5jYXJkLXByaWNle1xuICAgIC5mb290ZXJ7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDEwcHg7XG4gICAgfVxuICAgIGhye1xuICAgICAgICBtYXJnaW46IDVweCAxNXB4O1xuICAgIH1cbn1cbi5jYXJkLXBsYWlue1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC5pbWFnZXtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2NhcmRzLnNjc3MiLCJAbWl4aW4gY3QtcmVzcG9uc2l2ZS1zdmctY29udGFpbmVyKCR3aWR0aDogMTAwJSwgJHJhdGlvOiAkY3QtY29udGFpbmVyLXJhdGlvKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcmF0aW8gKiAxMDAlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQG1peGluIGN0LWFsaWduLWp1c3RpZnkoJGN0LXRleHQtYWxpZ246ICRjdC10ZXh0LWFsaWduLCAkY3QtdGV4dC1qdXN0aWZ5OiAkY3QtdGV4dC1qdXN0aWZ5KSB7XG4gIC13ZWJraXQtYm94LWFsaWduOiAkY3QtdGV4dC1hbGlnbjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJGN0LXRleHQtYWxpZ247XG4gIC1tcy1mbGV4LWFsaWduOiAkY3QtdGV4dC1hbGlnbjtcbiAgYWxpZ24taXRlbXM6ICRjdC10ZXh0LWFsaWduO1xuICAtd2Via2l0LWJveC1wYWNrOiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJGN0LXRleHQtanVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazogJGN0LXRleHQtanVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAvLyBGYWxsYmFjayB0byB0ZXh0LWFsaWduIGZvciBub24tZmxleCBicm93c2Vyc1xuICBAaWYoJGN0LXRleHQtanVzdGlmeSA9PSAnZmxleC1zdGFydCcpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9IEBlbHNlIGlmICgkY3QtdGV4dC1qdXN0aWZ5ID09ICdmbGV4LWVuZCcpIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBjdC1mbGV4KCkge1xuICAvLyBGYWxsYmFjayB0byBibG9ja1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3I6ICRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplOiAkY3QtdGV4dC1zaXplLCAkY3QtdGV4dC1saW5lLWhlaWdodDogJGN0LXRleHQtbGluZS1oZWlnaHQpIHtcbiAgZmlsbDogJGN0LXRleHQtY29sb3I7XG4gIGNvbG9yOiAkY3QtdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAkY3QtdGV4dC1zaXplO1xuICBsaW5lLWhlaWdodDogJGN0LXRleHQtbGluZS1oZWlnaHQ7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1ncmlkKCRjdC1ncmlkLWNvbG9yOiAkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGg6ICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheSkge1xuICBzdHJva2U6ICRjdC1ncmlkLWNvbG9yO1xuICBzdHJva2Utd2lkdGg6ICRjdC1ncmlkLXdpZHRoO1xuXG4gIEBpZiAoJGN0LWdyaWQtZGFzaGFycmF5KSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJGN0LWdyaWQtZGFzaGFycmF5O1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydC1wb2ludCgkY3QtcG9pbnQtc2l6ZTogJGN0LXBvaW50LXNpemUsICRjdC1wb2ludC1zaGFwZTogJGN0LXBvaW50LXNoYXBlKSB7XG4gIHN0cm9rZS13aWR0aDogJGN0LXBvaW50LXNpemU7XG4gIHN0cm9rZS1saW5lY2FwOiAkY3QtcG9pbnQtc2hhcGU7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1saW5lKCRjdC1saW5lLXdpZHRoOiAkY3QtbGluZS13aWR0aCwgJGN0LWxpbmUtZGFzaGFycmF5OiAkY3QtbGluZS1kYXNoYXJyYXkpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtbGluZS13aWR0aDtcblxuICBAaWYgKCRjdC1saW5lLWRhc2hhcnJheSkge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRjdC1saW5lLWRhc2hhcnJheTtcbiAgfVxufVxuXG5AbWl4aW4gY3QtY2hhcnQtYXJlYSgkY3QtYXJlYS1vcGFjaXR5OiAkY3QtYXJlYS1vcGFjaXR5KSB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbC1vcGFjaXR5OiAkY3QtYXJlYS1vcGFjaXR5O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtYmFyKCRjdC1iYXItd2lkdGg6ICRjdC1iYXItd2lkdGgpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtYmFyLXdpZHRoO1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtZG9udXQoJGN0LWRvbnV0LXdpZHRoOiAkY3QtZG9udXQtd2lkdGgpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtZG9udXQtd2lkdGg7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1zZXJpZXMtY29sb3IoJGNvbG9yKSB7XG4gIC4jeyRjdC1jbGFzcy1wb2ludH0sIC4jeyRjdC1jbGFzcy1saW5lfSwgLiN7JGN0LWNsYXNzLWJhcn0sIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dH0ge1xuICAgIHN0cm9rZTogJGNvbG9yO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLXNsaWNlLXBpZX0sIC4jeyRjdC1jbGFzcy1hcmVhfSB7XG4gICAgZmlsbDogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydCgkY3QtY29udGFpbmVyLXJhdGlvOiAkY3QtY29udGFpbmVyLXJhdGlvLCAkY3QtdGV4dC1jb2xvcjogJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemU6ICRjdC10ZXh0LXNpemUsICRjdC1ncmlkLWNvbG9yOiAkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGg6ICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheSwgJGN0LXBvaW50LXNpemU6ICRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGU6ICRjdC1wb2ludC1zaGFwZSwgJGN0LWxpbmUtd2lkdGg6ICRjdC1saW5lLXdpZHRoLCAkY3QtYmFyLXdpZHRoOiAkY3QtYmFyLXdpZHRoLCAkY3QtZG9udXQtd2lkdGg6ICRjdC1kb251dC13aWR0aCwgJGN0LXNlcmllcy1uYW1lczogJGN0LXNlcmllcy1uYW1lcywgJGN0LXNlcmllcy1jb2xvcnM6ICRjdC1zZXJpZXMtY29sb3JzKSB7XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemUpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWxpbmV9IC4jeyRjdC1jbGFzcy1sYWJlbH0sXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9IC4jeyRjdC1jbGFzcy1sYWJlbH0ge1xuICAgIEBpbmNsdWRlIGN0LWZsZXgoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtZW5kKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IGVuZDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgY2VudGVyKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIC8vQGluY2x1ZGUgY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemUsIGNlbnRlciwgJGN0LXZlcnRpY2FsLXRleHQtanVzdGlmeSk7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShjZW50ZXIsIGZsZXgtZW5kKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IGVuZDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShjZW50ZXIsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogZW5kO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWdyaWR9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1ncmlkKCRjdC1ncmlkLWNvbG9yLCAkY3QtZ3JpZC13aWR0aCwgJGN0LWdyaWQtZGFzaGFycmF5KTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1wb2ludH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LXBvaW50KCRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGUpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxpbmV9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1saW5lKCRjdC1saW5lLXdpZHRoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1hcmVhfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtYXJlYSgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWJhcn0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWJhcigkY3QtYmFyLXdpZHRoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWRvbnV0KCRjdC1kb251dC13aWR0aCk7XG4gIH1cblxuICBAaWYgJGN0LWluY2x1ZGUtY29sb3JlZC1zZXJpZXMge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRvIGxlbmd0aCgkY3Qtc2VyaWVzLW5hbWVzKSB7XG4gICAgICAuI3skY3QtY2xhc3Mtc2VyaWVzfS0je250aCgkY3Qtc2VyaWVzLW5hbWVzLCAkaSArIDEpfSB7XG4gICAgICAgICRjb2xvcjogbnRoKCRjdC1zZXJpZXMtY29sb3JzLCAkaSArIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGN0LWNoYXJ0LXNlcmllcy1jb2xvcigkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgJGN0LWluY2x1ZGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGN0LWNoYXJ0KCk7XG5cbiAgQGlmICRjdC1pbmNsdWRlLWFsdGVybmF0aXZlLXJlc3BvbnNpdmUtY29udGFpbmVycyB7XG4gICAgQGZvciAkaSBmcm9tIDAgdG8gbGVuZ3RoKCRjdC1zY2FsZXMtbmFtZXMpIHtcbiAgICAgIC4je250aCgkY3Qtc2NhbGVzLW5hbWVzLCAkaSArIDEpfSB7XG4gICAgICAgIEBpbmNsdWRlIGN0LXJlc3BvbnNpdmUtc3ZnLWNvbnRhaW5lcigkcmF0aW86IG50aCgkY3Qtc2NhbGVzLCAkaSArIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19jaGFydGlzdC5zY3NzIiwiQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXtcbiAgICAubmF2YmFye1xuICAgICAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgIH1cbiAgICAubmF2YmFyLWZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cbiAgICAubmF2YmFyLXNlYXJjaC1mb3Jte1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUsXG4gICAgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51e1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTQwcHgsIDBweCk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpIDBzLCBvcGFjaXR5IDAuM3MgZWFzZSAwcywgaGVpZ2h0IDBzIGxpbmVhciAwLjM1cztcbiAgICB9XG4gICAgLm5hdmJhci1uYXYgPiBsaS5vcGVuID4gLmRyb3Bkb3duLW1lbnUsIC5kcm9wZG93bi5vcGVuIC5kcm9wZG93bi1tZW51e1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudTpiZWZvcmV7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDExcHggc29saWQgJG1lZGl1bS1wYWxlLWJnO1xuICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICB0b3A6IC0xMXB4O1xuICAgIH1cbiAgICAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnU6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxMXB4IHNvbGlkICRwYWxlLWJnO1xuICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2Lm5hdmJhci1sZWZ0ID4gbGkgPiAuZHJvcGRvd24tbWVudTpiZWZvcmV7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAxMnB4O1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2Lm5hdmJhci1sZWZ0ID4gbGkgPiAuZHJvcGRvd24tbWVudTphZnRlcntcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgfVxuXG4gICAgLm5hdmJhcntcbiAgICAgICAgLm5hdmJhci1oZWFkZXJ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXI6bm90KC5mb290ZXItYmlnKXtcbiAgICAgICAgbmF2ID4gdWx7XG4gICAgICAgICAgIGxpOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib2R5ID4gLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZXtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXJke1xuICAgICAgICBmb3Jte1xuICAgICAgICAgICAgW2NsYXNzKj1cImNvbC1cIl17XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgW2NsYXNzKj1cImNvbC1cIl06Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgW2NsYXNzKj1cImNvbC1cIl06bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAgICAgICAgICBDaGFuZ2VzIGZvciBzbWFsbCBkaXNwbGF5ICAgICAgKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KXtcbiAgICAuc2lkZWJhcntcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWFpbi1wYW5lbHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5uYXZiYXItdHJhbnNwYXJlbnR7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgaDZ7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cbiAgICAud3JhcHBlcntcbiAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRlLXgoMHB4KTtcbiAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uICgwLjMzcywgY3ViaWMtYmV6aWVyKDAuNjg1LCAwLjA0NzMsIDAuMzQ2LCAxKSk7XG4gICAgICAgbGVmdDogMDtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gICAgLm5hdmJhciAuY29udGFpbmVye1xuICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKDAuMzNzLCBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpKTtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLm5hdmJhciAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNlLFxuICAgIC5uYXZiYXIgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZS5pbixcbiAgICAubmF2YmFyIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2luZ3tcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2ID4gbGl7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5vZmYtY2FudmFzLXNpZGViYXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMTAzMjtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXRyYW5zbGF0ZS14KDIzMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAoMC4zM3MsIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSkpO1xuXG4gICAgICAgIC5zaWRlYmFyLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAwcHggMHB4IDBweCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2e1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggJG1hcmdpbi1iYXNlLXZlcnRpY2FsIDA7XG5cbiAgICAgICAgICAgID4gbGl7XG5cbiAgICAgICAgICAgICAgICA+IGF7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4IDBweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtZ2VuZXJhbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LXN0YXRlcy1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHAsXG4gICAgICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIC5jYXJldFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuY2FyZXR7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSA+IGF7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogIDEycHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJG1hcmdpbi1iYXNlLXZlcnRpY2FsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMnB4IHNvbGlkICRiZy1udWRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJG1hcmdpbi1iYXNlLXZlcnRpY2FsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbnVkZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMTEyLCAxMTIsIDExMiwgMCkgNjAlLCByZ2JhKDE4NiwgMTg2LCAxODYsIDAuMTUpIDEwMCUpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICAmLmhhcy1pbWFnZTo6YWZ0ZXJ7XG4gICAgICAgICAgICBAaW5jbHVkZSBibGFjay1maWx0ZXIoLjgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ297XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDExcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kaXZpZGVye1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmF2LW9wZW4gLm5hdmJhci1jb2xsYXBzZXtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXRyYW5zbGF0ZS14KDBweCk7XG4gICAgfVxuICAgIC5uYXYtb3BlbiAubmF2YmFyIC5jb250YWluZXJ7XG4gICAgICAgIGxlZnQ6IC0yMzBweDtcbiAgICB9XG4gICAgLm5hdi1vcGVuIC53cmFwcGVye1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRlLXgoLTIzMHB4KTtcbiAgICB9XG4gICAgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLm5hdmJhci1oZWFkZXIgLm5hdmJhci10b2dnbGUge1xuICAgICAgICBtYXJnaW46IDEwcHggMTVweCAxMHB4IDA7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuICAgIC5iYXIxLFxuICAgIC5iYXIyLFxuICAgIC5iYXIzIHtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLmJhcjEge1xuICAgICAgdG9wOiAwcHg7XG4gICAgICBAaW5jbHVkZSBiYXItYW5pbWF0aW9uKCR0b3BiYXItYmFjayk7XG4gICAgfVxuICAgIC5iYXIyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIC5iYXIzIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgQGluY2x1ZGUgYmFyLWFuaW1hdGlvbigkYm90dG9tYmFyLWJhY2spO1xuICAgIH1cbiAgICAudG9nZ2xlZCAuYmFyMSB7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIEBpbmNsdWRlIGJhci1hbmltYXRpb24oJHRvcGJhci14KTtcbiAgICB9XG4gICAgLnRvZ2dsZWQgLmJhcjIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLnRvZ2dsZWQgLmJhcjMge1xuICAgICAgYm90dG9tOiA2cHg7XG4gICAgICBAaW5jbHVkZSBiYXItYW5pbWF0aW9uKCRib3R0b21iYXIteCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdG9wYmFyLXgtcm90YXRpb24oKTtcbiAgICBAaW5jbHVkZSB0b3BiYXItYmFjay1yb3RhdGlvbigpO1xuICAgIEBpbmNsdWRlIGJvdHRvbWJhci14LXJvdGF0aW9uKCk7XG4gICAgQGluY2x1ZGUgYm90dG9tYmFyLWJhY2stcm90YXRpb24oKTtcblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAgICAgMCUge29wYWNpdHk6IDA7fVxuICAgICAgMTAwJSB7b3BhY2l0eTogMTt9XG4gICAgfVxuICAgIEAtbW96LWtleWZyYW1lcyBmYWRlSW4ge1xuICAgICAgMCUge29wYWNpdHk6IDA7fVxuICAgICAgMTAwJSB7b3BhY2l0eTogMTt9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICAgIDAlIHtvcGFjaXR5OiAwO31cbiAgICAgIDEwMCUge29wYWNpdHk6IDE7fVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51IC5kaXZpZGVye1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyOSwgMjI5LCAyMjksIDAuMTUpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgbWFyZ2luOiAxcHggMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJiA+IGxpID4gYXtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1maXhlZC10b3Age1xuICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgI2JvZHlDbGljayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMjMwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG4gICAgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2t7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgfVxuICAgIC5uYXZiYXItdG9nZ2xlOmhvdmVyLC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmJ0bi5kcm9wZG93bi10b2dnbGV7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5tZWRpYS1wb3N0IC5hdXRob3J7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgIH1cbiAgICAubWVkaWEtcG9zdCAubWVkaWEtYm9keXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZXtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UuaW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLm5hdmJhci1oZWFkZXIgLmNvbGxhcHNlLCAubmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdmJhci1oZWFkZXIge1xuICAgICAgICBmbG9hdDpub25lO1xuICAgIH1cbiAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5tYWluLXBhbmVsID4gLmNvbnRlbnR7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgLm5hdiAub3BlbiA+IGF7XG4gICAgICAgICYsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmZvb3RlciAuY29weXJpZ2h0e1xuICAgICAgICBwYWRkaW5nOiAwcHggMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vL292ZXJ3cml0ZSB0YWJsZSByZXNwb25zaXZlIGZvciA3NjhweCBzY3JlZW5zXG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCl7XG4gICAgLnRhYmxlLWZ1bGwtd2lkdGh7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICB9XG4gICAgLnRhYmxlLXJlc3BvbnNpdmV7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpe1xuICAgIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG4gICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cblxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fcmVzcG9uc2l2ZS5zY3NzIiwiLyohXG5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFBhcGVyIERhc2hib2FyZCAtIHYxLjEuMlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gKiBQcm9kdWN0IFBhZ2U6IGh0dHA6Ly93d3cuY3JlYXRpdmUtdGltLmNvbS9wcm9kdWN0L3BhcGVyLWRhc2hib2FyZFxuICogQ29weXJpZ2h0IDIwMTcgQ3JlYXRpdmUgVGltIChodHRwOi8vd3d3LmNyZWF0aXZlLXRpbS5jb20pXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9jcmVhdGl2ZXRpbW9mZmljaWFsL3BhcGVyLWRhc2hib2FyZC9ibG9iL21hc3Rlci9MSUNFTlNFLm1kKVxuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4gKi9cbi8qICAgICAgbGlnaHQgY29sb3JzIC0gdXNlZCBmb3Igc2VsZWN0IGRyb3Bkb3duICAgICAgICAgKi9cbi5jdC1ibHVlIHtcbiAgc3Ryb2tlOiAjN0E5RTlGICFpbXBvcnRhbnQ7XG59XG5cbi5jdC1henVyZSB7XG4gIHN0cm9rZTogIzY4QjNDOCAhaW1wb3J0YW50O1xufVxuXG4uY3QtZ3JlZW4ge1xuICBzdHJva2U6ICM3QUMyOUEgIWltcG9ydGFudDtcbn1cblxuLmN0LW9yYW5nZSB7XG4gIHN0cm9rZTogI0YzQkI0NSAhaW1wb3J0YW50O1xufVxuXG4uY3QtcmVkIHtcbiAgc3Ryb2tlOiAjRUI1RTI4ICFpbXBvcnRhbnQ7XG59XG5cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUsIGg2LCAuaDYsIHAsIC5uYXZiYXIsIC5icmFuZCwgYSwgLnRkLW5hbWUsIHRkIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLFwiSGVsdmV0aWNhIE5ldWVcIixBcmlhbCxzYW5zLXNlcmlmO1xufVxuXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0IHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAzMHB4IDAgMTVweDtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMy4yZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDIuNmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjgyNWVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW46IDIwcHggMCAxMHB4O1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbnAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbn1cblxuaDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCwgLmgxIHNtYWxsLCAuaDIgc21hbGwsIC5oMyBzbWFsbCwgLmg0IHNtYWxsLCAuaDUgc21hbGwsIC5oNiBzbWFsbCwgaDEgLnNtYWxsLCBoMiAuc21hbGwsIGgzIC5zbWFsbCwgaDQgLnNtYWxsLCBoNSAuc21hbGwsIGg2IC5zbWFsbCwgLmgxIC5zbWFsbCwgLmgyIC5zbWFsbCwgLmgzIC5zbWFsbCwgLmg0IC5zbWFsbCwgLmg1IC5zbWFsbCwgLmg2IC5zbWFsbCB7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40ZW07XG59XG5cbmgxIHNtYWxsLCBoMiBzbWFsbCwgaDMgc21hbGwsIGgxIC5zbWFsbCwgaDIgLnNtYWxsLCBoMyAuc21hbGwge1xuICBmb250LXNpemU6IDYwJTtcbn1cblxuLnRpdGxlLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmJsb2NrcXVvdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmJsb2NrcXVvdGUgc21hbGwge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICNEREREREQ7XG59XG5cbi50ZXh0LXByaW1hcnksIC50ZXh0LXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogIzQyN0M4OTtcbn1cblxuLnRleHQtaW5mbywgLnRleHQtaW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjMzA5MUIyO1xufVxuXG4udGV4dC1zdWNjZXNzLCAudGV4dC1zdWNjZXNzOmhvdmVyIHtcbiAgY29sb3I6ICM0MkEwODQ7XG59XG5cbi50ZXh0LXdhcm5pbmcsIC50ZXh0LXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogI0JCOTkyRjtcbn1cblxuLnRleHQtZGFuZ2VyLCAudGV4dC1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI0IzM0MxMjtcbn1cblxuLmdseXBoaWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5zdHJvbmcge1xuICBjb2xvcjogIzQwM0QzOTtcbn1cblxuLmljb24tcHJpbWFyeSB7XG4gIGNvbG9yOiAjN0E5RTlGO1xufVxuXG4uaWNvbi1pbmZvIHtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbi5pY29uLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLmljb24td2FybmluZyB7XG4gIGNvbG9yOiAjRjNCQjQ1O1xufVxuXG4uaWNvbi1kYW5nZXIge1xuICBjb2xvcjogI0VCNUUyODtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC1wcmltYXJ5LCAuY2hhcnQtbGVnZW5kIC50ZXh0LXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogIzdBOUU5Rjtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC1pbmZvLCAuY2hhcnQtbGVnZW5kIC50ZXh0LWluZm86aG92ZXIge1xuICBjb2xvcjogIzY4QjNDODtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC1zdWNjZXNzLCAuY2hhcnQtbGVnZW5kIC50ZXh0LXN1Y2Nlc3M6aG92ZXIge1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC13YXJuaW5nLCAuY2hhcnQtbGVnZW5kIC50ZXh0LXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogI0YzQkI0NTtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC1kYW5nZXIsIC5jaGFydC1sZWdlbmQgLnRleHQtZGFuZ2VyOmhvdmVyIHtcbiAgY29sb3I6ICNFQjVFMjg7XG59XG5cbi5kZXNjcmlwdGlvbixcbi5jYXJkLWRlc2NyaXB0aW9uLFxuLmZvb3Rlci1iaWcgcCB7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4vKiAgICAgR2VuZXJhbCBvdmVyd3JpdGUgICAgICovXG5ib2R5IHtcbiAgY29sb3I6ICM0YjQ3NDM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6ICdNdWxpJywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbmJvZHkgLndyYXBwZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5hIHtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICBjb2xvcjogIzMwOTFCMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmZvY3VzLCBhOmFjdGl2ZSxcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyLFxuc2VsZWN0OjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXRbdHlwZT1cImZpbGVcIl0gPiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG4udWktc2xpZGVyLWhhbmRsZTpmb2N1cyxcbi5uYXZiYXItdG9nZ2xlLFxuaW5wdXQ6Zm9jdXMsXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbn1cblxuLyogICAgICAgICAgIEFuaW1hdGlvbnMgICAgICAgICAgICAgICovXG4uZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLnRhZ3NpbnB1dCxcbi5uYXZiYXIsXG4ubmF2YmFyIC5hbGVydCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGxpbmVhcjtcbn1cblxuLnNpZGViYXIgLm5hdiBhLFxuLnRhYmxlID4gdGJvZHkgPiB0ciAudGQtYWN0aW9ucyAuYnRuIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbjtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbjtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW47XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbjtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW47XG59XG5cbi5idG4ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbjtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbjtcbn1cblxuLmZhIHtcbiAgd2lkdGg6IDIxcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZhLWJhc2Uge1xuICBmb250LXNpemU6IDEuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbmhyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRjFFQUUwO1xufVxuXG4ud3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4uc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi5zaWRlYmFyIC5zaWRlYmFyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAyNjBweDtcbiAgei1pbmRleDogNDtcbiAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwcHggMHB4IDBweCAjREREREREO1xufVxuXG4uc2lkZWJhciAuc2lkZWJhci1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4uc2lkZWJhcixcbi5vZmYtY2FudmFzLXNpZGViYXIge1xuICB3aWR0aDogMjYwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogMjAwO1xufVxuXG4uc2lkZWJhciAubG9nbyxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28ge1xuICBwYWRkaW5nOiAxOHB4IDBweDtcbiAgbWFyZ2luOiAwIDIwcHg7XG59XG5cbi5zaWRlYmFyIC5sb2dvIHAsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyIC5sb2dvIHAge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW46IDEwcHggMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5zaWRlYmFyIC5sb2dvIC5zaW1wbGUtdGV4dCxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28gLnNpbXBsZS10ZXh0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogNHB4IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLnNpZGViYXIgLm5hdixcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5zaWRlYmFyIC5uYXYgbGkgPiBhLFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IGxpID4gYSB7XG4gIG1hcmdpbjogMTBweCAwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgb3BhY2l0eTogLjc7XG59XG5cbi5zaWRlYmFyIC5uYXYgbGk6aG92ZXIgPiBhLFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IGxpOmhvdmVyID4gYSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zaWRlYmFyIC5uYXYgbGkuYWN0aXZlID4gYSxcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiBsaS5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM3QTlFOUY7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zaWRlYmFyIC5uYXYgbGkuYWN0aXZlID4gYTpiZWZvcmUsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgbGkuYWN0aXZlID4gYTpiZWZvcmUge1xuICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0RERERERDtcbiAgYm9yZGVyLXRvcDogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDhweDtcbn1cblxuLnNpZGViYXIgLm5hdiBsaS5hY3RpdmUgPiBhOmFmdGVyLFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI2ViZWZmMjtcbiAgYm9yZGVyLXRvcDogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMXB4O1xuICB0b3A6IDhweDtcbn1cblxuLnNpZGViYXIgLm5hdiBsaSBoNSxcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiBsaSBoNSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4uc2lkZWJhciAubmF2IGxpID4gYS5tZW51LFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IGxpID4gYS5tZW51IHtcbiAgcGFkZGluZzogMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLnNpZGViYXIgLm5hdiBsaSB1bCxcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiBsaSB1bCB7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cblxuLnNpZGViYXIgLm5hdiBwLFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IHAge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zaWRlYmFyIC5uYXYgaSxcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiBpIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpZGViYXI6YWZ0ZXIsIC5zaWRlYmFyOmJlZm9yZSxcbi5vZmYtY2FudmFzLXNpZGViYXI6YWZ0ZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLnNpZGViYXI6YWZ0ZXIsIC5zaWRlYmFyOmJlZm9yZSwgLnNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl06YWZ0ZXIsIC5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdOmJlZm9yZSxcbi5vZmYtY2FudmFzLXNpZGViYXI6YWZ0ZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyOmJlZm9yZSxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl06YWZ0ZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zaWRlYmFyIC5sb2dvLCAuc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJ3aGl0ZVwiXSAubG9nbyxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28sXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdIC5sb2dvIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNDcsIDQ1LCA0MiwgMC4zKTtcbn1cblxuLnNpZGViYXIgLmxvZ28gcCwgLnNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl0gLmxvZ28gcCxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28gcCxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl0gLmxvZ28gcCB7XG4gIGNvbG9yOiAjMmYyZDJhO1xufVxuXG4uc2lkZWJhciAubG9nbyAuc2ltcGxlLXRleHQsIC5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdIC5sb2dvIC5zaW1wbGUtdGV4dCxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28gLnNpbXBsZS10ZXh0LFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJ3aGl0ZVwiXSAubG9nbyAuc2ltcGxlLXRleHQge1xuICBjb2xvcjogIzJmMmQyYTtcbn1cblxuLnNpZGViYXIgLm5hdiBsaTpub3QoLmFjdGl2ZSkgPiBhLCAuc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJ3aGl0ZVwiXSAubmF2IGxpOm5vdCguYWN0aXZlKSA+IGEsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgbGk6bm90KC5hY3RpdmUpID4gYSxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl0gLm5hdiBsaTpub3QoLmFjdGl2ZSkgPiBhIHtcbiAgY29sb3I6ICMyZjJkMmE7XG59XG5cbi5zaWRlYmFyIC5uYXYgLmRpdmlkZXIsIC5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdIC5uYXYgLmRpdmlkZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgLmRpdmlkZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdIC5uYXYgLmRpdmlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ3LCA0NSwgNDIsIDAuMik7XG59XG5cbi5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdOmFmdGVyLCAuc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXTpiZWZvcmUsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdOmFmdGVyLFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMxNDE5O1xufVxuXG4uc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXSAubG9nbyxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwiYmxhY2tcIl0gLmxvZ28ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuXG4uc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXSAubG9nbyBwLFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXSAubG9nbyBwIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdIC5sb2dvIC5zaW1wbGUtdGV4dCxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwiYmxhY2tcIl0gLmxvZ28gLnNpbXBsZS10ZXh0IHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdIC5uYXYgbGk6bm90KC5hY3RpdmUpID4gYSxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwiYmxhY2tcIl0gLm5hdiBsaTpub3QoLmFjdGl2ZSkgPiBhIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdIC5uYXYgLmRpdmlkZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdIC5uYXYgLmRpdmlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5zaWRlYmFyW2RhdGEtYWN0aXZlLWNvbG9yPVwicHJpbWFyeVwiXSAubmF2IGxpLmFjdGl2ZSA+IGEsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYWN0aXZlLWNvbG9yPVwicHJpbWFyeVwiXSAubmF2IGxpLmFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzdBOUU5RjtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNpZGViYXJbZGF0YS1hY3RpdmUtY29sb3I9XCJpbmZvXCJdIC5uYXYgbGkuYWN0aXZlID4gYSxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1hY3RpdmUtY29sb3I9XCJpbmZvXCJdIC5uYXYgbGkuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjNjhCM0M4O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2lkZWJhcltkYXRhLWFjdGl2ZS1jb2xvcj1cInN1Y2Nlc3NcIl0gLm5hdiBsaS5hY3RpdmUgPiBhLFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWFjdGl2ZS1jb2xvcj1cInN1Y2Nlc3NcIl0gLm5hdiBsaS5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM3QUMyOUE7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zaWRlYmFyW2RhdGEtYWN0aXZlLWNvbG9yPVwid2FybmluZ1wiXSAubmF2IGxpLmFjdGl2ZSA+IGEsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYWN0aXZlLWNvbG9yPVwid2FybmluZ1wiXSAubmF2IGxpLmFjdGl2ZSA+IGEge1xuICBjb2xvcjogI0YzQkI0NTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNpZGViYXJbZGF0YS1hY3RpdmUtY29sb3I9XCJkYW5nZXJcIl0gLm5hdiBsaS5hY3RpdmUgPiBhLFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWFjdGl2ZS1jb2xvcj1cImRhbmdlclwiXSAubmF2IGxpLmFjdGl2ZSA+IGEge1xuICBjb2xvcjogI0VCNUUyODtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1haW4tcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZmYyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDI2MHB4KTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLm1haW4tcGFuZWwgPiAuY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggMTVweDtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMTIzcHgpO1xufVxuXG4ubWFpbi1wYW5lbCA+IC5mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ubWFpbi1wYW5lbCAubmF2YmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNpZGViYXIsXG4ubWFpbi1wYW5lbCB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLGJvdHRvbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnMsLjJzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnMsLjJzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIsbGluZWFyO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyLGxpbmVhcjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4vKiAgICAgICAgICAgYmFkZ2VzICAgICAgICAgICAgICovXG4uYmFkZ2Uge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC43MTQyZW07XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uYmFkZ2UtaWNvbiB7XG4gIHBhZGRpbmc6IDAuNGVtIDAuNTVlbTtcbn1cblxuLmJhZGdlLWljb24gaSB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5iYWRnZS1kZWZhdWx0IHtcbiAgYm9yZGVyLWNvbG9yOiAjMmYyZDJhO1xuICBjb2xvcjogIzJmMmQyYTtcbn1cblxuLmJhZGdlLXByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICM3QTlFOUY7XG4gIGNvbG9yOiAjN0E5RTlGO1xufVxuXG4uYmFkZ2UtaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogIzY4QjNDODtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbi5iYWRnZS1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjN0FDMjlBO1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLmJhZGdlLXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNGM0JCNDU7XG4gIGNvbG9yOiAjRjNCQjQ1O1xufVxuXG4uYmFkZ2UtZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRUI1RTI4O1xuICBjb2xvcjogI0VCNUUyODtcbn1cblxuLmJhZGdlLW5ldXRyYWwge1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4ge1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogN3B4IDE4cHg7XG4gIGJvcmRlci1jb2xvcjogIzJmMmQyYTtcbiAgY29sb3I6ICMyZjJkMmE7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbn1cblxuLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cywgLmJ0bjphY3RpdmUsIC5idG4uYWN0aXZlLFxuLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmhvdmVyLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46Zm9jdXMsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bjphY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5hY3RpdmUsXG4ub3BlbiA+XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmYyZDJhO1xuICBjb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xuICBib3JkZXItY29sb3I6ICMyZjJkMmE7XG59XG5cbi5idG46aG92ZXIgLmNhcmV0LCAuYnRuOmZvY3VzIC5jYXJldCwgLmJ0bjphY3RpdmUgLmNhcmV0LCAuYnRuLmFjdGl2ZSAuY2FyZXQsXG4ub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmhvdmVyIC5jYXJldCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmZvY3VzIC5jYXJldCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmFjdGl2ZSAuY2FyZXQsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPlxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbn1cblxuLmJ0bi5kaXNhYmxlZCwgLmJ0bi5kaXNhYmxlZDpob3ZlciwgLmJ0bi5kaXNhYmxlZDpmb2N1cywgLmJ0bi5kaXNhYmxlZC5mb2N1cywgLmJ0bi5kaXNhYmxlZDphY3RpdmUsIC5idG4uZGlzYWJsZWQuYWN0aXZlLCAuYnRuOmRpc2FibGVkLCAuYnRuOmRpc2FibGVkOmhvdmVyLCAuYnRuOmRpc2FibGVkOmZvY3VzLCAuYnRuOmRpc2FibGVkLmZvY3VzLCAuYnRuOmRpc2FibGVkOmFjdGl2ZSwgLmJ0bjpkaXNhYmxlZC5hY3RpdmUsIC5idG5bZGlzYWJsZWRdLCAuYnRuW2Rpc2FibGVkXTpob3ZlciwgLmJ0bltkaXNhYmxlZF06Zm9jdXMsIC5idG5bZGlzYWJsZWRdLmZvY3VzLCAuYnRuW2Rpc2FibGVkXTphY3RpdmUsIC5idG5bZGlzYWJsZWRdLmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG46aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bjpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG46YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4uYWN0aXZlLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uZGlzYWJsZWQsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5kaXNhYmxlZDpob3Zlcixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLmRpc2FibGVkOmZvY3VzLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uZGlzYWJsZWQuZm9jdXMsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5kaXNhYmxlZDphY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5kaXNhYmxlZC5hY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bjpkaXNhYmxlZCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmRpc2FibGVkOmhvdmVyLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46ZGlzYWJsZWQ6Zm9jdXMsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bjpkaXNhYmxlZC5mb2N1cyxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmRpc2FibGVkOmFjdGl2ZSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmRpc2FibGVkLmFjdGl2ZSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXTpob3Zlcixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXTpmb2N1cyxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXS5mb2N1cyxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXTphY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bltkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bixcbmZpZWxkc2V0W2Rpc2FibGVkXVxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF1cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXVxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjMmYyZDJhO1xufVxuXG4uYnRuLmJ0bi1maWxsLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLWZpbGwge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmMmQyYTtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5idG4uYnRuLWZpbGw6aG92ZXIsIC5idG4uYnRuLWZpbGw6Zm9jdXMsIC5idG4uYnRuLWZpbGw6YWN0aXZlLCAuYnRuLmJ0bi1maWxsLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4tZmlsbDpob3Zlcixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLmJ0bi1maWxsOmZvY3VzLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLWZpbGw6YWN0aXZlLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPlxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLWZpbGwuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwM0QzOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzQwM0QzOTtcbn1cblxuLmJ0bi5idG4tZmlsbCAuY2FyZXQsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4tZmlsbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLmJ0bi1zaW1wbGU6aG92ZXIsIC5idG4uYnRuLXNpbXBsZTpmb2N1cywgLmJ0bi5idG4tc2ltcGxlOmFjdGl2ZSwgLmJ0bi5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi5idG4tc2ltcGxlLmRyb3Bkb3duLXRvZ2dsZSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLmJ0bi1zaW1wbGU6aG92ZXIsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4tc2ltcGxlOmZvY3VzLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLXNpbXBsZTphY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLmJ0bi1zaW1wbGUuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNDAzRDM5O1xufVxuXG4uYnRuLmJ0bi1zaW1wbGUgLmNhcmV0LFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLXNpbXBsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuIC5jYXJldCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMyZjJkMmE7XG59XG5cbi5idG46aG92ZXIsIC5idG46Zm9jdXMsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bjpob3Zlcixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG4uYnRuOmFjdGl2ZSwgLmJ0bi5hY3RpdmUsXG4ub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46YWN0aXZlLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYWN0aXZlLFxuLm9wZW4gPlxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5idG4uYnRuLWljb24sXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4taWNvbiB7XG4gIHBhZGRpbmc6IDdweDtcbn1cblxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bixcbi5idG4tZ3JvdXAgLmJ0biArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LCAuYnRuLXByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICM3QTlFOUY7XG4gIGNvbG9yOiAjN0E5RTlGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5hY3RpdmUsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLXByaW1hcnk6aG92ZXIsIC5idG4tcHJpbWFyeTpmb2N1cywgLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3QTlFOUY7XG4gIGNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogIzdBOUU5Rjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeTpob3ZlciAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6Zm9jdXMgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmFjdGl2ZSAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYWN0aXZlIC5jYXJldCxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUgLmNhcmV0LCAuYnRuLXByaW1hcnk6aG92ZXIgLmNhcmV0LCAuYnRuLXByaW1hcnk6Zm9jdXMgLmNhcmV0LCAuYnRuLXByaW1hcnk6YWN0aXZlIC5jYXJldCwgLmJ0bi1wcmltYXJ5LmFjdGl2ZSAuY2FyZXQsXG4ub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5kaXNhYmxlZC5hY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQuZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeVtkaXNhYmxlZF0sIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeVtkaXNhYmxlZF0uZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeVtkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnksXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeTpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeTphY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5hY3RpdmUsIC5idG4tcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1wcmltYXJ5OmRpc2FibGVkLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmZvY3VzLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQuYWN0aXZlLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdLmZvY3VzLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXS5hY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTphY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICM3QTlFOUY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYnRuLWZpbGwsIC5idG4tcHJpbWFyeS5idG4tZmlsbCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0E5RTlGO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5idG4tZmlsbDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5idG4tZmlsbDpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5idG4tZmlsbDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1maWxsLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1wcmltYXJ5LmJ0bi1maWxsOmhvdmVyLCAuYnRuLXByaW1hcnkuYnRuLWZpbGw6Zm9jdXMsIC5idG4tcHJpbWFyeS5idG4tZmlsbDphY3RpdmUsIC5idG4tcHJpbWFyeS5idG4tZmlsbC5hY3RpdmUsXG4ub3BlbiA+IC5idG4tcHJpbWFyeS5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI3Qzg5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjNDI3Qzg5O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1maWxsIC5jYXJldCwgLmJ0bi1wcmltYXJ5LmJ0bi1maWxsIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYnRuLXNpbXBsZTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5idG4tc2ltcGxlOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGU6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGUuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLXByaW1hcnkuYnRuLXNpbXBsZTpob3ZlciwgLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGU6Zm9jdXMsIC5idG4tcHJpbWFyeS5idG4tc2ltcGxlOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLXByaW1hcnkuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0MjdDODk7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYnRuLXNpbXBsZSAuY2FyZXQsIC5idG4tcHJpbWFyeS5idG4tc2ltcGxlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkgLmNhcmV0LCAuYnRuLXByaW1hcnkgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzdBOUU5Rjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2VzcywgLmJ0bi1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjN0FDMjlBO1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzczpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzczpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2VzczphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1zdWNjZXNzOmhvdmVyLCAuYnRuLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsXG4ub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0FDMjlBO1xuICBjb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xuICBib3JkZXItY29sb3I6ICM3QUMyOUE7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3M6aG92ZXIgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmZvY3VzIC5jYXJldCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2VzczphY3RpdmUgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmFjdGl2ZSAuY2FyZXQsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCwgLmJ0bi1zdWNjZXNzOmhvdmVyIC5jYXJldCwgLmJ0bi1zdWNjZXNzOmZvY3VzIC5jYXJldCwgLmJ0bi1zdWNjZXNzOmFjdGl2ZSAuY2FyZXQsIC5idG4tc3VjY2Vzcy5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuYWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2VzczpkaXNhYmxlZC5hY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3M6aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzczpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3M6YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYWN0aXZlLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDphY3RpdmUsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5hY3RpdmUsIC5idG4tc3VjY2VzczpkaXNhYmxlZCwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmhvdmVyLCAuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2VzczpkaXNhYmxlZC5mb2N1cywgLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXSwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cywgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTphY3RpdmUsIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2VzcyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjN0FDMjlBO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmJ0bi1maWxsLCAuYnRuLXN1Y2Nlc3MuYnRuLWZpbGwge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdBQzI5QTtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYnRuLWZpbGw6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYnRuLWZpbGw6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYnRuLWZpbGw6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmJ0bi1maWxsLmFjdGl2ZSxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUsIC5idG4tc3VjY2Vzcy5idG4tZmlsbDpob3ZlciwgLmJ0bi1zdWNjZXNzLmJ0bi1maWxsOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuYnRuLWZpbGw6YWN0aXZlLCAuYnRuLXN1Y2Nlc3MuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuYnRuLWZpbGwuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyQTA4NDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzQyQTA4NDtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tZmlsbCAuY2FyZXQsIC5idG4tc3VjY2Vzcy5idG4tZmlsbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmJ0bi1zaW1wbGU6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYnRuLXNpbXBsZTpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tc2ltcGxlOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tc2ltcGxlLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1zdWNjZXNzLmJ0bi1zaW1wbGU6aG92ZXIsIC5idG4tc3VjY2Vzcy5idG4tc2ltcGxlOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuYnRuLXNpbXBsZTphY3RpdmUsIC5idG4tc3VjY2Vzcy5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1zdWNjZXNzLmJ0bi1zaW1wbGUuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNDJBMDg0O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmJ0bi1zaW1wbGUgLmNhcmV0LCAuYnRuLXN1Y2Nlc3MuYnRuLXNpbXBsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzIC5jYXJldCwgLmJ0bi1zdWNjZXNzIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM3QUMyOUE7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8sIC5idG4taW5mbyB7XG4gIGJvcmRlci1jb2xvcjogIzY4QjNDODtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmFjdGl2ZSxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5kcm9wZG93bi10b2dnbGUsIC5idG4taW5mbzpob3ZlciwgLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm86YWN0aXZlLCAuYnRuLWluZm8uYWN0aXZlLFxuLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4QjNDODtcbiAgY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbiAgYm9yZGVyLWNvbG9yOiAjNjhCM0M4O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvOmhvdmVyIC5jYXJldCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpmb2N1cyAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86YWN0aXZlIC5jYXJldCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQsIC5idG4taW5mbzpob3ZlciAuY2FyZXQsIC5idG4taW5mbzpmb2N1cyAuY2FyZXQsIC5idG4taW5mbzphY3RpdmUgLmNhcmV0LCAuYnRuLWluZm8uYWN0aXZlIC5jYXJldCxcbi5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuNyk7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQ6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmRpc2FibGVkLmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZDpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZC5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86ZGlzYWJsZWQuYWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvW2Rpc2FibGVkXSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mb1tkaXNhYmxlZF06aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm9bZGlzYWJsZWRdOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvW2Rpc2FibGVkXS5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mb1tkaXNhYmxlZF06YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvW2Rpc2FibGVkXS5hY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvOmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmFjdGl2ZSwgLmJ0bi1pbmZvLmRpc2FibGVkLCAuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywgLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLCAuYnRuLWluZm8uZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLWluZm8uZGlzYWJsZWQuYWN0aXZlLCAuYnRuLWluZm86ZGlzYWJsZWQsIC5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLmJ0bi1pbmZvOmRpc2FibGVkOmZvY3VzLCAuYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mbzpkaXNhYmxlZDphY3RpdmUsIC5idG4taW5mbzpkaXNhYmxlZC5hY3RpdmUsIC5idG4taW5mb1tkaXNhYmxlZF0sIC5idG4taW5mb1tkaXNhYmxlZF06aG92ZXIsIC5idG4taW5mb1tkaXNhYmxlZF06Zm9jdXMsIC5idG4taW5mb1tkaXNhYmxlZF0uZm9jdXMsIC5idG4taW5mb1tkaXNhYmxlZF06YWN0aXZlLCAuYnRuLWluZm9bZGlzYWJsZWRdLmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8sXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvOmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzY4QjNDODtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5idG4tZmlsbCwgLmJ0bi1pbmZvLmJ0bi1maWxsIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OEIzQzg7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmJ0bi1maWxsOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmJ0bi1maWxsOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmJ0bi1maWxsOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5idG4tZmlsbC5hY3RpdmUsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLWZpbGwuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLWluZm8uYnRuLWZpbGw6aG92ZXIsIC5idG4taW5mby5idG4tZmlsbDpmb2N1cywgLmJ0bi1pbmZvLmJ0bi1maWxsOmFjdGl2ZSwgLmJ0bi1pbmZvLmJ0bi1maWxsLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1pbmZvLmJ0bi1maWxsLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDkxQjI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICMzMDkxQjI7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLWZpbGwgLmNhcmV0LCAuYnRuLWluZm8uYnRuLWZpbGwgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5idG4tc2ltcGxlOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmJ0bi1zaW1wbGU6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLXNpbXBsZTphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLXNpbXBsZS5hY3RpdmUsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUsIC5idG4taW5mby5idG4tc2ltcGxlOmhvdmVyLCAuYnRuLWluZm8uYnRuLXNpbXBsZTpmb2N1cywgLmJ0bi1pbmZvLmJ0bi1zaW1wbGU6YWN0aXZlLCAuYnRuLWluZm8uYnRuLXNpbXBsZS5hY3RpdmUsXG4ub3BlbiA+IC5idG4taW5mby5idG4tc2ltcGxlLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzMwOTFCMjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5idG4tc2ltcGxlIC5jYXJldCwgLmJ0bi1pbmZvLmJ0bi1zaW1wbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbyAuY2FyZXQsIC5idG4taW5mbyAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjNjhCM0M4O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLCAuYnRuLXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNGM0JCNDU7XG4gIGNvbG9yOiAjRjNCQjQ1O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5hY3RpdmUsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLXdhcm5pbmc6aG92ZXIsIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0JCNDU7XG4gIGNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogI0YzQkI0NTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZzpob3ZlciAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6Zm9jdXMgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmFjdGl2ZSAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYWN0aXZlIC5jYXJldCxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUgLmNhcmV0LCAuYnRuLXdhcm5pbmc6aG92ZXIgLmNhcmV0LCAuYnRuLXdhcm5pbmc6Zm9jdXMgLmNhcmV0LCAuYnRuLXdhcm5pbmc6YWN0aXZlIC5jYXJldCwgLmJ0bi13YXJuaW5nLmFjdGl2ZSAuY2FyZXQsXG4ub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5kaXNhYmxlZC5hY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQuZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmRpc2FibGVkLmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZ1tkaXNhYmxlZF0sIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZ1tkaXNhYmxlZF0uZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZ1tkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZzpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZzphY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5hY3RpdmUsIC5idG4td2FybmluZy5kaXNhYmxlZCwgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi13YXJuaW5nOmRpc2FibGVkLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZzpkaXNhYmxlZDpmb2N1cywgLmJ0bi13YXJuaW5nOmRpc2FibGVkLmZvY3VzLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQuYWN0aXZlLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdLmZvY3VzLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXS5hY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzphY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICNGM0JCNDU7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYnRuLWZpbGwsIC5idG4td2FybmluZy5idG4tZmlsbCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNCQjQ1O1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5idG4tZmlsbDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5idG4tZmlsbDpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5idG4tZmlsbDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1maWxsLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi13YXJuaW5nLmJ0bi1maWxsOmhvdmVyLCAuYnRuLXdhcm5pbmcuYnRuLWZpbGw6Zm9jdXMsIC5idG4td2FybmluZy5idG4tZmlsbDphY3RpdmUsIC5idG4td2FybmluZy5idG4tZmlsbC5hY3RpdmUsXG4ub3BlbiA+IC5idG4td2FybmluZy5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkI5OTJGO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjQkI5OTJGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1maWxsIC5jYXJldCwgLmJ0bi13YXJuaW5nLmJ0bi1maWxsIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYnRuLXNpbXBsZTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5idG4tc2ltcGxlOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGU6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGUuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLXdhcm5pbmcuYnRuLXNpbXBsZTpob3ZlciwgLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGU6Zm9jdXMsIC5idG4td2FybmluZy5idG4tc2ltcGxlOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLXdhcm5pbmcuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNCQjk5MkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYnRuLXNpbXBsZSAuY2FyZXQsIC5idG4td2FybmluZy5idG4tc2ltcGxlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcgLmNhcmV0LCAuYnRuLXdhcm5pbmcgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0YzQkI0NTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLCAuYnRuLWRhbmdlciB7XG4gIGJvcmRlci1jb2xvcjogI0VCNUUyODtcbiAgY29sb3I6ICNFQjVFMjg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXI6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyOmFjdGl2ZSwgLmJ0bi1kYW5nZXIuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUI1RTI4O1xuICBjb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xuICBib3JkZXItY29sb3I6ICNFQjVFMjg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpob3ZlciAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpmb2N1cyAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjphY3RpdmUgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYWN0aXZlIC5jYXJldCxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQsIC5idG4tZGFuZ2VyOmhvdmVyIC5jYXJldCwgLmJ0bi1kYW5nZXI6Zm9jdXMgLmNhcmV0LCAuYnRuLWRhbmdlcjphY3RpdmUgLmNhcmV0LCAuYnRuLWRhbmdlci5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5kaXNhYmxlZDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5kaXNhYmxlZC5hY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpkaXNhYmxlZCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmRpc2FibGVkOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmRpc2FibGVkLmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXTpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXS5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXTphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcltkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXI6aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXI6YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5hY3RpdmUsIC5idG4tZGFuZ2VyLmRpc2FibGVkLCAuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLWRhbmdlci5kaXNhYmxlZDphY3RpdmUsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQsIC5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLWRhbmdlcjpkaXNhYmxlZDpmb2N1cywgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQuZm9jdXMsIC5idG4tZGFuZ2VyOmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQuYWN0aXZlLCAuYnRuLWRhbmdlcltkaXNhYmxlZF0sIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLWRhbmdlcltkaXNhYmxlZF0uZm9jdXMsIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTphY3RpdmUsIC5idG4tZGFuZ2VyW2Rpc2FibGVkXS5hY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIuZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICNFQjVFMjg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5idG4tZmlsbCwgLmJ0bi1kYW5nZXIuYnRuLWZpbGwge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VCNUUyODtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5idG4tZmlsbDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmJ0bi1maWxsOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLWZpbGw6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLWZpbGwuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLWRhbmdlci5idG4tZmlsbDpob3ZlciwgLmJ0bi1kYW5nZXIuYnRuLWZpbGw6Zm9jdXMsIC5idG4tZGFuZ2VyLmJ0bi1maWxsOmFjdGl2ZSwgLmJ0bi1kYW5nZXIuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLWRhbmdlci5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjMzQzEyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjQjMzQzEyO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLWZpbGwgLmNhcmV0LCAuYnRuLWRhbmdlci5idG4tZmlsbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLXNpbXBsZTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmJ0bi1zaW1wbGU6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5idG4tc2ltcGxlOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUsIC5idG4tZGFuZ2VyLmJ0bi1zaW1wbGU6aG92ZXIsIC5idG4tZGFuZ2VyLmJ0bi1zaW1wbGU6Zm9jdXMsIC5idG4tZGFuZ2VyLmJ0bi1zaW1wbGU6YWN0aXZlLCAuYnRuLWRhbmdlci5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1kYW5nZXIuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNCMzNDMTI7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5idG4tc2ltcGxlIC5jYXJldCwgLmJ0bi1kYW5nZXIuYnRuLXNpbXBsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIgLmNhcmV0LCAuYnRuLWRhbmdlciAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRUI1RTI4O1xufVxuXG4uYnRuLW5ldXRyYWwge1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLW5ldXRyYWw6aG92ZXIsIC5idG4tbmV1dHJhbDpmb2N1cywgLmJ0bi1uZXV0cmFsOmFjdGl2ZSwgLmJ0bi1uZXV0cmFsLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1uZXV0cmFsLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJ0bi1uZXV0cmFsOmhvdmVyIC5jYXJldCwgLmJ0bi1uZXV0cmFsOmZvY3VzIC5jYXJldCwgLmJ0bi1uZXV0cmFsOmFjdGl2ZSAuY2FyZXQsIC5idG4tbmV1dHJhbC5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPiAuYnRuLW5ldXRyYWwuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbn1cblxuLmJ0bi1uZXV0cmFsLmRpc2FibGVkLCAuYnRuLW5ldXRyYWwuZGlzYWJsZWQ6aG92ZXIsIC5idG4tbmV1dHJhbC5kaXNhYmxlZDpmb2N1cywgLmJ0bi1uZXV0cmFsLmRpc2FibGVkLmZvY3VzLCAuYnRuLW5ldXRyYWwuZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLW5ldXRyYWwuZGlzYWJsZWQuYWN0aXZlLCAuYnRuLW5ldXRyYWw6ZGlzYWJsZWQsIC5idG4tbmV1dHJhbDpkaXNhYmxlZDpob3ZlciwgLmJ0bi1uZXV0cmFsOmRpc2FibGVkOmZvY3VzLCAuYnRuLW5ldXRyYWw6ZGlzYWJsZWQuZm9jdXMsIC5idG4tbmV1dHJhbDpkaXNhYmxlZDphY3RpdmUsIC5idG4tbmV1dHJhbDpkaXNhYmxlZC5hY3RpdmUsIC5idG4tbmV1dHJhbFtkaXNhYmxlZF0sIC5idG4tbmV1dHJhbFtkaXNhYmxlZF06aG92ZXIsIC5idG4tbmV1dHJhbFtkaXNhYmxlZF06Zm9jdXMsIC5idG4tbmV1dHJhbFtkaXNhYmxlZF0uZm9jdXMsIC5idG4tbmV1dHJhbFtkaXNhYmxlZF06YWN0aXZlLCAuYnRuLW5ldXRyYWxbZGlzYWJsZWRdLmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLW5ldXRyYWwsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1uZXV0cmFsOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbmV1dHJhbDpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLW5ldXRyYWwuZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1uZXV0cmFsOmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLW5ldXRyYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJ0bi1uZXV0cmFsLmJ0bi1maWxsIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uYnRuLW5ldXRyYWwuYnRuLWZpbGw6aG92ZXIsIC5idG4tbmV1dHJhbC5idG4tZmlsbDpmb2N1cywgLmJ0bi1uZXV0cmFsLmJ0bi1maWxsOmFjdGl2ZSwgLmJ0bi1uZXV0cmFsLmJ0bi1maWxsLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1uZXV0cmFsLmJ0bi1maWxsLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idG4tbmV1dHJhbC5idG4tZmlsbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLW5ldXRyYWwuYnRuLXNpbXBsZTpob3ZlciwgLmJ0bi1uZXV0cmFsLmJ0bi1zaW1wbGU6Zm9jdXMsIC5idG4tbmV1dHJhbC5idG4tc2ltcGxlOmFjdGl2ZSwgLmJ0bi1uZXV0cmFsLmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLW5ldXRyYWwuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idG4tbmV1dHJhbC5idG4tc2ltcGxlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idG4tbmV1dHJhbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLW5ldXRyYWw6aG92ZXIsIC5idG4tbmV1dHJhbDpmb2N1cyB7XG4gIGNvbG9yOiAjMmYyZDJhO1xufVxuXG4uYnRuLW5ldXRyYWw6YWN0aXZlLCAuYnRuLW5ldXRyYWwuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLW5ldXRyYWwuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICMyZjJkMmE7XG59XG5cbi5idG4tbmV1dHJhbC5idG4tZmlsbCB7XG4gIGNvbG9yOiAjMmYyZDJhO1xufVxuXG4uYnRuLW5ldXRyYWwuYnRuLWZpbGw6aG92ZXIsIC5idG4tbmV1dHJhbC5idG4tZmlsbDpmb2N1cyB7XG4gIGNvbG9yOiAjNDAzRDM5O1xufVxuXG4uYnRuLW5ldXRyYWwuYnRuLXNpbXBsZTphY3RpdmUsIC5idG4tbmV1dHJhbC5idG4tc2ltcGxlLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnRuOmRpc2FibGVkLCAuYnRuW2Rpc2FibGVkXSwgLmJ0bi5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbn1cblxuLmJ0bi1zaW1wbGUge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDdweCAxOHB4O1xufVxuXG4uYnRuLXNpbXBsZS5idG4taWNvbiB7XG4gIHBhZGRpbmc6IDdweDtcbn1cblxuLmJ0bi1sZyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgcGFkZGluZzogMTFweCAzMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uYnRuLWxnLmJ0bi1zaW1wbGUge1xuICBwYWRkaW5nOiAxM3B4IDMwcHg7XG59XG5cbi5idG4tc20ge1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDI2cHg7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xufVxuXG4uYnRuLXNtLmJ0bi1zaW1wbGUge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbn1cblxuLmJ0bi14cyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgcGFkZGluZzogMnB4IDVweDtcbn1cblxuLmJ0bi14cy5idG4tc2ltcGxlIHtcbiAgcGFkZGluZzogNHB4IDVweDtcbn1cblxuLmJ0bi13ZCB7XG4gIG1pbi13aWR0aDogMTQwcHg7XG59XG5cbi5idG4tZ3JvdXAuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5idG4tZ3JvdXAuc2VsZWN0IC5idG4ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYnRuLWdyb3VwLnNlbGVjdCAuY2FyZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICByaWdodDogOHB4O1xufVxuXG5pbnB1dCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNEREREREQ7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uZm9ybS1jb250cm9sOi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0RERERERDtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0RERERERDtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNEREREREQ7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjg0NjtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLyotd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7Ki9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgLXdlYmtpdC1ib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIHBhZGRpbmc6IDdweCAxOHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIC8qYmFja2dyb3VuZC1jb2xvcjogJGdyYXktaW5wdXQtYmc7XG4gICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAwcztcbiAgICBAaW5jbHVkZSBpbnB1dC1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGhlaWdodC1iYXNlKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpOyovXG59XG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjE5NmYzO1xuICAvKi13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICMyMTk2ZjM7Ki9cbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wsXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wsXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1cyxcbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUJGM0NCO1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuYm9yZGVyLWlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdBQzI5QTtcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDMEE0O1xuICBjb2xvcjogI0VCNUUyODtcbn1cblxuLmhhcy1lcnJvciAuZm9ybS1jb250cm9sLmJvcmRlci1pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFQjVFMjg7XG59XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC03cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZm9ybS1jb250cm9sLmJvcmRlci1pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M1Qjk7XG59XG5cbi5vcGVuIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmlucHV0LWxnIHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nOiAxMXB4IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssIC5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogI0VCNUUyODtcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssIC5oYXMtc3VjY2VzcyAuY29udHJvbC1sYWJlbCB7XG4gIGNvbG9yOiAjN0FDMjlBO1xufVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmY2Y1O1xuICBib3JkZXI6IG1lZGl1bSBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5oYXMtc3VjY2VzcyAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaGFzLWVycm9yIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyArIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjRUI1RTI4O1xufVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1cyArIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjN0FDMjlBO1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzICsgLmlucHV0LWdyb3VwLWFkZG9uLFxuLmZvcm0tY29udHJvbDpmb2N1cyB+IC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5ib3JkZXItaW5wdXQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI0NDQzVCOTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmlucHV0LWdyb3VwW2Rpc2FibGVkXSAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTNFM0UzO1xufVxuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yaWdodDogMCBub25lO1xufVxuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItbGVmdDogMCBub25lO1xufVxuXG4uZm9ybS1jb250cm9sW2Rpc2FibGVkXSwgLmZvcm0tY29udHJvbFtyZWFkb25seV0sIGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzRTNFMztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgY29sb3I6ICM5QTlBOUE7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uZm9ybS1jb250cm9sW2Rpc2FibGVkXTo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmZvcm0tY29udHJvbFtkaXNhYmxlZF06LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjREREREREO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmZvcm0tY29udHJvbFtkaXNhYmxlZF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0RERERERDtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjREREREREO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmlucHV0LWdyb3VwLWJ0biAuYnRuIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDlweCAxOHB4O1xufVxuXG4uaW5wdXQtZ3JvdXAtYnRuIC5idG4tZGVmYXVsdDpub3QoLmJ0bi1maWxsKSB7XG4gIGJvcmRlci1jb2xvcjogI0RERERERDtcbn1cblxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMThweDtcbiAgcmVzaXplOiBub25lO1xufVxuXG4uYWxlcnQge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNvbnRhaW5lciAuYWxlcnQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5uYXZiYXIgLmFsZXJ0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiA4NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMztcbn1cblxuLm5hdmJhcjpub3QoLm5hdmJhci10cmFuc3BhcmVudCkgLmFsZXJ0IHtcbiAgdG9wOiA3MHB4O1xufVxuXG4uYWxlcnQgc3BhbltkYXRhLW5vdGlmeT1cImljb25cIl0ge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuLmFsZXJ0IC5jbG9zZSB+IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA4OSU7XG59XG5cbi5hbGVydFtkYXRhLW5vdGlmeT1cImNvbnRhaW5lclwiXSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmFsZXJ0LmFsZXJ0LXdpdGgtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogNjVweDtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0NFNEZFO1xuICBjb2xvcjogIzMwOTFCMjtcbn1cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEVGM0M1O1xuICBjb2xvcjogIzQyQTA4NDtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFMjhDO1xuICBjb2xvcjogI0JCOTkyRjtcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjhGNUU7XG4gIGNvbG9yOiAjQjMzQzEyO1xufVxuXG4udGFibGUgdGhlYWQgdHIgPiB0aCxcbi50YWJsZSB0aGVhZCB0ciA+IHRkLFxuLnRhYmxlIHRib2R5IHRyID4gdGgsXG4udGFibGUgdGJvZHkgdHIgPiB0ZCxcbi50YWJsZSB0Zm9vdCB0ciA+IHRoLFxuLnRhYmxlIHRmb290IHRyID4gdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQzVCOTtcbn1cblxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi50YWJsZSAucmFkaW8sXG4udGFibGUgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDE1cHg7XG59XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50YWJsZSAudGgtZGVzY3JpcHRpb24ge1xuICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4udGFibGUgLnRkLXByaWNlIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGFibGUgLnRkLXRvdGFsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRhYmxlIC50ZC1hY3Rpb25zIC5idG4uYnRuLXNtLCAudGFibGUgLnRkLWFjdGlvbnMgLmJ0bi5idG4teHMge1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgcGFkZGluZy1yaWdodDogM3B4O1xufVxuXG4udGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGFibGUtc3RyaXBlZCB0Ym9keSA+IHRyOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnRhYmxlLXN0cmlwZWQgdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQ0Y1O1xufVxuXG4udGFibGUtc3RyaXBlZCA+IHRoZWFkID4gdHIgPiB0aCxcbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0ciA+IHRoLFxuLnRhYmxlLXN0cmlwZWQgPiB0Zm9vdCA+IHRyID4gdGgsXG4udGFibGUtc3RyaXBlZCA+IHRoZWFkID4gdHIgPiB0ZCxcbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0ciA+IHRkLFxuLnRhYmxlLXN0cmlwZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBwYWRkaW5nOiAxNXB4IDhweDtcbn1cblxuLyogICAgICBDaGVja2JveCBhbmQgcmFkaW8gICAgICAgICAqL1xuLmNoZWNrYm94LFxuLnJhZGlvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3Isb3BhY2l0eSAwLjI1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4yNXMgbGluZWFyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNGI0NzQzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaGVja2JveCAuaWNvbnMsXG4ucmFkaW8gLmljb25zIHtcbiAgY29sb3I6ICM0YjQ3NDM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjFweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3Isb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICBvcGFjaXR5OiAuNTA7XG59XG5cbi5jaGVja2JveC5jaGVja2VkIC5pY29ucyxcbi5yYWRpby5jaGVja2VkIC5pY29ucyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jaGVja2JveCBpbnB1dCxcbi5yYWRpbyBpbnB1dCB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrYm94IGxhYmVsLFxuLnJhZGlvIGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4uY2hlY2tib3ggLmljb25zIC5maXJzdC1pY29uLFxuLnJhZGlvIC5pY29ucyAuZmlyc3QtaWNvbixcbi5jaGVja2JveCAuaWNvbnMgLnNlY29uZC1pY29uLFxuLnJhZGlvIC5pY29ucyAuc2Vjb25kLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmNoZWNrYm94IC5pY29ucyAuc2Vjb25kLWljb24sXG4ucmFkaW8gLmljb25zIC5zZWNvbmQtaWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmNoZWNrYm94OmhvdmVyLFxuLnJhZGlvOmhvdmVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG59XG5cbi5jaGVja2JveDpob3ZlciAuZmlyc3QtaWNvbixcbi5yYWRpbzpob3ZlciAuZmlyc3QtaWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmNoZWNrYm94OmhvdmVyIC5zZWNvbmQtaWNvbixcbi5yYWRpbzpob3ZlciAuc2Vjb25kLWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmNoZWNrYm94LmNoZWNrZWQgLmZpcnN0LWljb24sXG4ucmFkaW8uY2hlY2tlZCAuZmlyc3QtaWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmNoZWNrYm94LmNoZWNrZWQgLnNlY29uZC1pY29uLFxuLnJhZGlvLmNoZWNrZWQgLnNlY29uZC1pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQsXG4ucmFkaW8uZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGNvbG9yOiAjREREREREO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQgLmljb25zLFxuLnJhZGlvLmRpc2FibGVkIC5pY29ucyB7XG4gIGNvbG9yOiAjREREREREO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQgLmZpcnN0LWljb24sXG4ucmFkaW8uZGlzYWJsZWQgLmZpcnN0LWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmNoZWNrYm94LmRpc2FibGVkIC5zZWNvbmQtaWNvbixcbi5yYWRpby5kaXNhYmxlZCAuc2Vjb25kLWljb24ge1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG5cbi5jaGVja2JveC5kaXNhYmxlZC5jaGVja2VkIC5pY29ucyxcbi5yYWRpby5kaXNhYmxlZC5jaGVja2VkIC5pY29ucyB7XG4gIGNvbG9yOiAjREREREREO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQuY2hlY2tlZCAuZmlyc3QtaWNvbixcbi5yYWRpby5kaXNhYmxlZC5jaGVja2VkIC5maXJzdC1pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQuY2hlY2tlZCAuc2Vjb25kLWljb24sXG4ucmFkaW8uZGlzYWJsZWQuY2hlY2tlZCAuc2Vjb25kLWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI0RERERERDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXYgPiBsaSA+IGE6aG92ZXIsXG4ubmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXIge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgei1pbmRleDogMztcbn1cblxuLm5hdmJhciAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbjogNXB4IDBweDtcbiAgcGFkZGluZzogMjBweCAxNXB4O1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgbWFyZ2luOiAxNXB4IDBweDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhIGksXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhIHAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYSBpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgdG9wOiAxcHg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuIHtcbiAgbWFyZ2luOiAxNXB4IDNweDtcbiAgcGFkZGluZzogN3B4IDE4cHg7XG59XG5cbi5uYXZiYXIgLmJ0biB7XG4gIG1hcmdpbjogMTVweCAzcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm5hdmJhciAuYnRuLXNpbXBsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2N2VjMTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAuYnJhbmQge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGE6bm90KC5idG4pIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6bm90KC5idG4pOmhvdmVyLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6bm90KC5idG4pOmZvY3VzLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOm5vdCguYnRuKTpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYTpub3QoLmJ0bik6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzY4QjNDODtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5kcm9wZG93biA+IGE6aG92ZXIgLmNhcmV0LFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRyb3Bkb3duID4gYTpmb2N1cyAuY2FyZXQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNjhCM0M4O1xuICBib3JkZXItdG9wLWNvbG9yOiAjNjhCM0M4O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAubmF2YmFyLXRvZ2dsZTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXItZGVmYXVsdDpub3QoLm5hdmJhci10cmFuc3BhcmVudCkgLmJ0bi1kZWZhdWx0OmhvdmVyIHtcbiAgY29sb3I6ICM2OEIzQzg7XG4gIGJvcmRlci1jb2xvcjogIzY4QjNDODtcbn1cblxuLm5hdmJhci1kZWZhdWx0Om5vdCgubmF2YmFyLXRyYW5zcGFyZW50KSAuYnRuLW5ldXRyYWwsXG4ubmF2YmFyLWRlZmF1bHQ6bm90KC5uYXZiYXItdHJhbnNwYXJlbnQpIC5idG4tbmV1dHJhbDpob3Zlcixcbi5uYXZiYXItZGVmYXVsdDpub3QoLm5hdmJhci10cmFuc3BhcmVudCkgLmJ0bi1uZXV0cmFsOmFjdGl2ZSB7XG4gIGNvbG9yOiAjOUE5QTlBO1xufVxuXG4ubmF2YmFyLWZvcm0ge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgY29sb3I6ICNFM0UzRTM7XG59XG5cbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wsXG5bY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cblxuLm5hdmJhci1jdC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhFQ0ZENTtcbn1cblxuLm5hdmJhci1jdC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdDRTRGRTtcbn1cblxuLm5hdmJhci1jdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhFRjNDNTtcbn1cblxuLm5hdmJhci1jdC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRTI4Qztcbn1cblxuLm5hdmJhci1jdC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4RjVFO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXItdG9nZ2xlIHtcbiAgbWFyZ2luLXRvcDogMTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyLXRvZ2dsZSAubmF2YmFyLWNvbGxhcHNlLFxuLm5hdmJhci10b2dnbGUgLm5hdmJhci1mb3JtIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm5hdmJhci10b2dnbGUubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsXG4ubmF2YmFyLXRvZ2dsZS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItYnJhbmQsIFtjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1icmFuZCB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTtcbn1cblxuLm5hdmJhci10cmFuc3BhcmVudCAubmF2YmFyLWJyYW5kOmZvY3VzLCAubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItYnJhbmQ6aG92ZXIsIFtjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1icmFuZDpmb2N1cywgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLWJyYW5kOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItYnJhbmQ6bm90KFtjbGFzcyo9XCJ0ZXh0XCJdKSwgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLWJyYW5kOm5vdChbY2xhc3MqPVwidGV4dFwiXSkge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5hdmJhci10cmFuc3BhcmVudCAubmF2YmFyLW5hdiA+IGxpID4gYTpub3QoLmJ0biksIFtjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1uYXYgPiBsaSA+IGE6bm90KC5idG4pIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbiAgb3BhY2l0eTogMC44O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6bm90KC5idG4pLFxuLm5hdmJhci10cmFuc3BhcmVudCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyOm5vdCguYnRuKSxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1czpub3QoLmJ0biksXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyOm5vdCguYnRuKSxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXM6bm90KC5idG4pLCBbY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6bm90KC5idG4pLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyOm5vdCguYnRuKSxcbltjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1czpub3QoLmJ0biksXG5bY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyOm5vdCguYnRuKSxcbltjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXM6bm90KC5idG4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2IC5uYXYgPiBsaSA+IGEuYnRuOmhvdmVyLCBbY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItbmF2IC5uYXYgPiBsaSA+IGEuYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAuZHJvcGRvd24gPiBhIC5jYXJldCxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAuZHJvcGRvd24gPiBhOmhvdmVyIC5jYXJldCxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAuZHJvcGRvd24gPiBhOmZvY3VzIC5jYXJldCwgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5kcm9wZG93biA+IGEgLmNhcmV0LFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5kcm9wZG93biA+IGE6aG92ZXIgLmNhcmV0LFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5kcm9wZG93biA+IGE6Zm9jdXMgLmNhcmV0IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5hdmJhci10cmFuc3BhcmVudCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmZvY3VzLCBbY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3ZlcixcbltjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5idG4tZGVmYXVsdCwgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAuYnRuLWRlZmF1bHQge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5idG4tZGVmYXVsdC5idG4tZmlsbCwgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAuYnRuLWRlZmF1bHQuYnRuLWZpbGwge1xuICBjb2xvcjogIzlBOUE5QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgb3BhY2l0eTogMC45O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5idG4tZGVmYXVsdC5idG4tZmlsbDpob3Zlcixcbi5uYXZiYXItdHJhbnNwYXJlbnQgLmJ0bi1kZWZhdWx0LmJ0bi1maWxsOmZvY3VzLFxuLm5hdmJhci10cmFuc3BhcmVudCAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6YWN0aXZlLFxuLm5hdmJhci10cmFuc3BhcmVudCAuYnRuLWRlZmF1bHQuYnRuLWZpbGwuYWN0aXZlLFxuLm5hdmJhci10cmFuc3BhcmVudCAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1maWxsLmJ0bi1kZWZhdWx0LCBbY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5idG4tZGVmYXVsdC5idG4tZmlsbDpob3ZlcixcbltjbGFzcyo9XCJuYXZiYXItY3RcIl0gLmJ0bi1kZWZhdWx0LmJ0bi1maWxsOmZvY3VzLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6YWN0aXZlLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAuYnRuLWRlZmF1bHQuYnRuLWZpbGwuYWN0aXZlLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1maWxsLmJ0bi1kZWZhdWx0IHtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5mb290ZXIgbmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZm9vdGVyIG5hdiB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBtYXJnaW46IDE1cHggM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyIG5hdiB1bCBhOm5vdCguYnRuKSB7XG4gIGNvbG9yOiAjNGI0NzQzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4uZm9vdGVyIG5hdiB1bCBhOm5vdCguYnRuKTpmb2N1cywgLmZvb3RlciBuYXYgdWwgYTpub3QoLmJ0bik6aG92ZXIge1xuICBjb2xvcjogIzQwM0QzOTtcbn1cblxuLmZvb3RlciAuY29weXJpZ2h0IHtcbiAgY29sb3I6ICM0YjQ3NDM7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW46IDE1cHggM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyIC5oZWFydCB7XG4gIGNvbG9yOiAjRUI1RTI4O1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZDRjU7XG4gIGJvcmRlcjogMCBub25lO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA5MDAwO1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggcmdiYSgxNywgMTYsIDE1LCAwLjEpLCAwIDJweCAxMHB4IHJnYmEoMTcsIDE2LCAxNSwgMC4xKTtcbiAgYm94LXNoYWRvdzogMCAycHggcmdiYSgxNywgMTYsIDE1LCAwLjEpLCAwIDJweCAxMHB4IHJnYmEoMTcsIDE2LCAxNSwgMC4xKTtcbn1cblxuLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFFQUUwO1xuICBtYXJnaW46IDBweDtcbn1cblxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWhlYWRlciB7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbn1cblxuLnNlbGVjdCAuZHJvcGRvd24tbWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgLTQwcHg7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIC00MHB4O1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgLTQwcHg7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgLTQwcHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAtNDBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG4uc2VsZWN0Lm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjNGI0NzQzO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAtbW96LXRyYW5zaXRpb246IG5vbmU7XG4gIC1vLXRyYW5zaXRpb246IG5vbmU7XG4gIC1tcy10cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSBpbWcge1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1ncm91cC5zZWxlY3QgLmRyb3Bkb3duLW1lbnUge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5kcm9wZG93bi1tZW51ID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xufVxuXG4uc2VsZWN0IC5kcm9wZG93bi1tZW51ID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmMmQyYTtcbiAgY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbiAgb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZHJvcGRvd24tbWVudS5kcm9wZG93bi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3QTlFOUY7XG59XG5cbi5kcm9wZG93bi1tZW51LmRyb3Bkb3duLWluZm8gPiBsaSA+IGE6aG92ZXIsXG4uZHJvcGRvd24tbWVudS5kcm9wZG93bi1pbmZvID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4QjNDODtcbn1cblxuLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tc3VjY2VzcyA+IGxpID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51LmRyb3Bkb3duLXN1Y2Nlc3MgPiBsaSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0FDMjlBO1xufVxuXG4uZHJvcGRvd24tbWVudS5kcm9wZG93bi13YXJuaW5nID4gbGkgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24td2FybmluZyA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0JCNDU7XG59XG5cbi5kcm9wZG93bi1tZW51LmRyb3Bkb3duLWRhbmdlciA+IGxpID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51LmRyb3Bkb3duLWRhbmdlciA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQjVFMjg7XG59XG5cbi5idG4tZ3JvdXAuc2VsZWN0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmJ0bi1ncm91cC5zZWxlY3Qub3BlbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uY2FyZCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3gtc2hhZG93OiAwIDJweCAycHggcmdiYSgyMDQsIDE5NywgMTg1LCAwLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzI1MjQyMjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmNhcmQgLmNhcmQtYmxvY2sge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuLmNhcmQgYSB7XG4gIGNvbG9yOiAjZjk2MzMyO1xufVxuXG4uY2FyZCAuaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAyNjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbi5jYXJkIC5pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQgLmNvbnRlbnQge1xuICBwYWRkaW5nOiAxNXB4IDE1cHggMTBweCAxNXB4O1xufVxuXG4uY2FyZCAuaGVhZGVyIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDA7XG59XG5cbi5jYXJkIC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM0YjQ3NDM7XG59XG5cbi5jYXJkIGg1IHtcbiAgZm9udC1zaXplOiAxLjU3ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmNhcmQgaDYge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhcmQgLmNhdGVnb3J5LFxuLmNhcmQgbGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5jYXJkIC5jYXRlZ29yeSBpLFxuLmNhcmQgbGFiZWwgaSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNhcmQgbGFiZWwge1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmNhcmQgLnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzI1MjQyMjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmNhcmQgLmF2YXRhciB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5jYXJkIC5mb290ZXIge1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLmNhcmQgLmZvb3RlciAubGVnZW5kIHtcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbi5jYXJkIC5mb290ZXIgaHIge1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmNhcmQgLnN0YXRzIHtcbiAgY29sb3I6ICNhOWE5YTk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5jYXJkIC5zdGF0cyBpIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIG1pbi13aWR0aDogMTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY2FyZCAuZm9vdGVyIGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNhcmQgLmF1dGhvciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNhcmQgLmF1dGhvciBpIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2FyZC5jYXJkLXNlcGFyYXRvcjphZnRlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcmlnaHQ6IC0xNXB4O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNhcmQgLmN0LWNoYXJ0IHtcbiAgbWFyZ2luOiAzMHB4IDAgMzBweDtcbiAgaGVpZ2h0OiAyNDVweDtcbn1cblxuLmNhcmQgLnRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuLmNhcmQgLnRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4uY2FyZCAudGFibGUgdGJvZHkgdGQ6bGFzdC1jaGlsZCxcbi5jYXJkIC50YWJsZSB0aGVhZCB0aDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmNhcmQgLmFsZXJ0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJkIC5hbGVydC5hbGVydC13aXRoLWljb24ge1xuICBwYWRkaW5nLWxlZnQ6IDY1cHg7XG59XG5cbi5jYXJkIC5pY29uLWJpZyB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBtaW4taGVpZ2h0OiA2NHB4O1xufVxuXG4uY2FyZCAubnVtYmVycyB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNhcmQgLm51bWJlcnMgcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhcmQgdWwudGVhbS1tZW1iZXJzIGxpIHtcbiAgcGFkZGluZzogMTBweCAwcHg7XG59XG5cbi5jYXJkIHVsLnRlYW0tbWVtYmVycyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMUVBRTA7XG59XG5cbi5jYXJkLXVzZXIgLmltYWdlIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gIGhlaWdodDogMTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNhcmQtdXNlciAuaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkLXVzZXIgLmltYWdlLXBsYWluIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAxMTBweDtcbn1cblxuLmNhcmQtdXNlciAuYXV0aG9yIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTY1cHg7XG59XG5cbi5jYXJkLXVzZXIgLmF1dGhvciAudGl0bGUge1xuICBjb2xvcjogIzQwM0QzOTtcbn1cblxuLmNhcmQtdXNlciAuYXV0aG9yIC50aXRsZSBzbWFsbCB7XG4gIGNvbG9yOiAjY2NjNWI5O1xufVxuXG4uY2FyZC11c2VyIC5hdmF0YXIge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uY2FyZC11c2VyIC5hdmF0YXIuYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyOiA1cHggc29saWQgI0ZGRkZGRjtcbn1cblxuLmNhcmQtdXNlciAuYXZhdGFyLmJvcmRlci1ncmF5IHtcbiAgYm9yZGVyOiA1cHggc29saWQgI2NjYzViOTtcbn1cblxuLmNhcmQtdXNlciAudGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLmNhcmQtdXNlciAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uY2FyZC11c2VyIC5jb250ZW50IHtcbiAgbWluLWhlaWdodDogMjAwcHg7XG59XG5cbi5jYXJkLXVzZXIuY2FyZC1wbGFpbiAuYXZhdGFyIHtcbiAgaGVpZ2h0OiAxOTBweDtcbiAgd2lkdGg6IDE5MHB4O1xufVxuXG4uY2FyZC1tYXAgLm1hcCB7XG4gIGhlaWdodDogNTAwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4uY2FyZC1tYXAgLm1hcCA+IGRpdiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhcmQtdXNlciAuZm9vdGVyLFxuLmNhcmQtcHJpY2UgLmZvb3RlciB7XG4gIHBhZGRpbmc6IDVweCAxNXB4IDEwcHg7XG59XG5cbi5jYXJkLXVzZXIgaHIsXG4uY2FyZC1wcmljZSBociB7XG4gIG1hcmdpbjogNXB4IDE1cHg7XG59XG5cbi5jYXJkLXBsYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jYXJkLXBsYWluIC5pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmN0LWxhYmVsIHtcbiAgZmlsbDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmN0LWNoYXJ0LWxpbmUgLmN0LWxhYmVsLFxuLmN0LWNoYXJ0LWJhciAuY3QtbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY3QtbGFiZWwuY3QtaG9yaXpvbnRhbC5jdC1zdGFydCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LWFsaWduOiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtcGFjazogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG59XG5cbi5jdC1sYWJlbC5jdC1ob3Jpem9udGFsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYW5jaG9yOiBzdGFydDtcbn1cblxuLmN0LWxhYmVsLmN0LXZlcnRpY2FsLmN0LXN0YXJ0IHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGZsZXgtZW5kO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLW1zLWZsZXgtYWxpZ246IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtZW5kO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LXBhY2s6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC1hbmNob3I6IGVuZDtcbn1cblxuLmN0LWxhYmVsLmN0LXZlcnRpY2FsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LWFsaWduOiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtcGFjazogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG59XG5cbi5jdC1jaGFydC1iYXIgLmN0LWxhYmVsLmN0LWhvcml6b250YWwuY3Qtc3RhcnQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtYW5jaG9yOiBzdGFydDtcbn1cblxuLmN0LWNoYXJ0LWJhciAuY3QtbGFiZWwuY3QtaG9yaXpvbnRhbC5jdC1lbmQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1zdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1hbmNob3I6IHN0YXJ0O1xufVxuXG4uY3QtY2hhcnQtYmFyLmN0LWhvcml6b250YWwtYmFycyAuY3QtbGFiZWwuY3QtaG9yaXpvbnRhbC5jdC1zdGFydCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LWFsaWduOiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtcGFjazogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG59XG5cbi5jdC1jaGFydC1iYXIuY3QtaG9yaXpvbnRhbC1iYXJzIC5jdC1sYWJlbC5jdC1ob3Jpem9udGFsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYW5jaG9yOiBzdGFydDtcbn1cblxuLmN0LWNoYXJ0LWJhci5jdC1ob3Jpem9udGFsLWJhcnMgLmN0LWxhYmVsLmN0LXZlcnRpY2FsLmN0LXN0YXJ0IHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRleHQtYW5jaG9yOiBlbmQ7XG59XG5cbi5jdC1jaGFydC1iYXIuY3QtaG9yaXpvbnRhbC1iYXJzIC5jdC1sYWJlbC5jdC12ZXJ0aWNhbC5jdC1lbmQge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYW5jaG9yOiBlbmQ7XG59XG5cbi5jdC1ncmlkIHtcbiAgc3Ryb2tlOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2UtZGFzaGFycmF5OiAycHg7XG59XG5cbi5jdC1wb2ludCB7XG4gIHN0cm9rZS13aWR0aDogMTBweDtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuXG4uY3QtbGluZSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogNHB4O1xufVxuXG4uY3QtYXJlYSB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbC1vcGFjaXR5OiAwLjc7XG59XG5cbi5jdC1iYXIge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDEwcHg7XG59XG5cbi5jdC1zbGljZS1kb251dCB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogNjBweDtcbn1cblxuLmN0LXNlcmllcy1hIC5jdC1wb2ludCwgLmN0LXNlcmllcy1hIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWEgLmN0LWJhciwgLmN0LXNlcmllcy1hIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogIzY4QjNDODtcbn1cblxuLmN0LXNlcmllcy1hIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtYSAuY3QtYXJlYSB7XG4gIGZpbGw6ICM2OEIzQzg7XG59XG5cbi5jdC1zZXJpZXMtYiAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtYiAuY3QtbGluZSwgLmN0LXNlcmllcy1iIC5jdC1iYXIsIC5jdC1zZXJpZXMtYiAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6ICNGM0JCNDU7XG59XG5cbi5jdC1zZXJpZXMtYiAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWIgLmN0LWFyZWEge1xuICBmaWxsOiAjRjNCQjQ1O1xufVxuXG4uY3Qtc2VyaWVzLWMgLmN0LXBvaW50LCAuY3Qtc2VyaWVzLWMgLmN0LWxpbmUsIC5jdC1zZXJpZXMtYyAuY3QtYmFyLCAuY3Qtc2VyaWVzLWMgLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiAjRUI1RTI4O1xufVxuXG4uY3Qtc2VyaWVzLWMgLmN0LXNsaWNlLXBpZSwgLmN0LXNlcmllcy1jIC5jdC1hcmVhIHtcbiAgZmlsbDogI0VCNUUyODtcbn1cblxuLmN0LXNlcmllcy1kIC5jdC1wb2ludCwgLmN0LXNlcmllcy1kIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWQgLmN0LWJhciwgLmN0LXNlcmllcy1kIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogIzdBQzI5QTtcbn1cblxuLmN0LXNlcmllcy1kIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtZCAuY3QtYXJlYSB7XG4gIGZpbGw6ICM3QUMyOUE7XG59XG5cbi5jdC1zZXJpZXMtZSAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtZSAuY3QtbGluZSwgLmN0LXNlcmllcy1lIC5jdC1iYXIsIC5jdC1zZXJpZXMtZSAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6ICM3QTlFOUY7XG59XG5cbi5jdC1zZXJpZXMtZSAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWUgLmN0LWFyZWEge1xuICBmaWxsOiAjN0E5RTlGO1xufVxuXG4uY3Qtc2VyaWVzLWYgLmN0LXBvaW50LCAuY3Qtc2VyaWVzLWYgLmN0LWxpbmUsIC5jdC1zZXJpZXMtZiAuY3QtYmFyLCAuY3Qtc2VyaWVzLWYgLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiByZ2JhKDEwNCwgMTc5LCAyMDAsIDAuOCk7XG59XG5cbi5jdC1zZXJpZXMtZiAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWYgLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDEwNCwgMTc5LCAyMDAsIDAuOCk7XG59XG5cbi5jdC1zZXJpZXMtZyAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtZyAuY3QtbGluZSwgLmN0LXNlcmllcy1nIC5jdC1iYXIsIC5jdC1zZXJpZXMtZyAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6IHJnYmEoMTIyLCAxOTQsIDE1NCwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1nIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtZyAuY3QtYXJlYSB7XG4gIGZpbGw6IHJnYmEoMTIyLCAxOTQsIDE1NCwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1oIC5jdC1wb2ludCwgLmN0LXNlcmllcy1oIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWggLmN0LWJhciwgLmN0LXNlcmllcy1oIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogcmdiYSgyNDMsIDE4NywgNjksIDAuOCk7XG59XG5cbi5jdC1zZXJpZXMtaCAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWggLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDI0MywgMTg3LCA2OSwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1pIC5jdC1wb2ludCwgLmN0LXNlcmllcy1pIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWkgLmN0LWJhciwgLmN0LXNlcmllcy1pIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogcmdiYSgyMzUsIDk0LCA0MCwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1pIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtaSAuY3QtYXJlYSB7XG4gIGZpbGw6IHJnYmEoMjM1LCA5NCwgNDAsIDAuOCk7XG59XG5cbi5jdC1zZXJpZXMtaiAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtaiAuY3QtbGluZSwgLmN0LXNlcmllcy1qIC5jdC1iYXIsIC5jdC1zZXJpZXMtaiAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6IHJnYmEoMTIyLCAxNTgsIDE1OSwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1qIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtaiAuY3QtYXJlYSB7XG4gIGZpbGw6IHJnYmEoMTIyLCAxNTgsIDE1OSwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1rIC5jdC1wb2ludCwgLmN0LXNlcmllcy1rIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWsgLmN0LWJhciwgLmN0LXNlcmllcy1rIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogcmdiYSgxMDQsIDE3OSwgMjAwLCAwLjYpO1xufVxuXG4uY3Qtc2VyaWVzLWsgLmN0LXNsaWNlLXBpZSwgLmN0LXNlcmllcy1rIC5jdC1hcmVhIHtcbiAgZmlsbDogcmdiYSgxMDQsIDE3OSwgMjAwLCAwLjYpO1xufVxuXG4uY3Qtc2VyaWVzLWwgLmN0LXBvaW50LCAuY3Qtc2VyaWVzLWwgLmN0LWxpbmUsIC5jdC1zZXJpZXMtbCAuY3QtYmFyLCAuY3Qtc2VyaWVzLWwgLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiByZ2JhKDEyMiwgMTk0LCAxNTQsIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbCAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWwgLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDEyMiwgMTk0LCAxNTQsIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbSAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtbSAuY3QtbGluZSwgLmN0LXNlcmllcy1tIC5jdC1iYXIsIC5jdC1zZXJpZXMtbSAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6IHJnYmEoMjQzLCAxODcsIDY5LCAwLjYpO1xufVxuXG4uY3Qtc2VyaWVzLW0gLmN0LXNsaWNlLXBpZSwgLmN0LXNlcmllcy1tIC5jdC1hcmVhIHtcbiAgZmlsbDogcmdiYSgyNDMsIDE4NywgNjksIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbiAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtbiAuY3QtbGluZSwgLmN0LXNlcmllcy1uIC5jdC1iYXIsIC5jdC1zZXJpZXMtbiAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6IHJnYmEoMjM1LCA5NCwgNDAsIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbiAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLW4gLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDIzNSwgOTQsIDQwLCAwLjYpO1xufVxuXG4uY3Qtc2VyaWVzLW8gLmN0LXBvaW50LCAuY3Qtc2VyaWVzLW8gLmN0LWxpbmUsIC5jdC1zZXJpZXMtbyAuY3QtYmFyLCAuY3Qtc2VyaWVzLW8gLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiByZ2JhKDEyMiwgMTU4LCAxNTksIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbyAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLW8gLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDEyMiwgMTU4LCAxNTksIDAuNik7XG59XG5cbi5jdC1zcXVhcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0LXNxdWFyZTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uY3Qtc3F1YXJlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3Qtc3F1YXJlID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtbWlub3Itc2Vjb25kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1taW5vci1zZWNvbmQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogOTMuNzUlO1xufVxuXG4uY3QtbWlub3Itc2Vjb25kOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWlub3Itc2Vjb25kID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtbWFqb3Itc2Vjb25kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1tYWpvci1zZWNvbmQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogODguODg4ODg4ODklO1xufVxuXG4uY3QtbWFqb3Itc2Vjb25kOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWFqb3Itc2Vjb25kID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtbWlub3ItdGhpcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0LW1pbm9yLXRoaXJkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDgzLjMzMzMzMzMzJTtcbn1cblxuLmN0LW1pbm9yLXRoaXJkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWlub3ItdGhpcmQgPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1tYWpvci10aGlyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtbWFqb3ItdGhpcmQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogODAlO1xufVxuXG4uY3QtbWFqb3ItdGhpcmQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1tYWpvci10aGlyZCA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LXBlcmZlY3QtZm91cnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1wZXJmZWN0LWZvdXJ0aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG59XG5cbi5jdC1wZXJmZWN0LWZvdXJ0aDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmN0LXBlcmZlY3QtZm91cnRoID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtcGVyZmVjdC1maWZ0aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtcGVyZmVjdC1maWZ0aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2Ni42NjY2NjY2NyU7XG59XG5cbi5jdC1wZXJmZWN0LWZpZnRoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtcGVyZmVjdC1maWZ0aCA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LW1pbm9yLXNpeHRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1taW5vci1zaXh0aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2Mi41JTtcbn1cblxuLmN0LW1pbm9yLXNpeHRoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWlub3Itc2l4dGggPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1nb2xkZW4tc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtZ29sZGVuLXNlY3Rpb246YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNjEuODA0Njk3MTYlO1xufVxuXG4uY3QtZ29sZGVuLXNlY3Rpb246YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1nb2xkZW4tc2VjdGlvbiA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LW1ham9yLXNpeHRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1tYWpvci1zaXh0aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2MCU7XG59XG5cbi5jdC1tYWpvci1zaXh0aDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmN0LW1ham9yLXNpeHRoID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtbWlub3Itc2V2ZW50aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtbWlub3Itc2V2ZW50aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5jdC1taW5vci1zZXZlbnRoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWlub3Itc2V2ZW50aCA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LW1ham9yLXNldmVudGgge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0LW1ham9yLXNldmVudGg6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTMuMzMzMzMzMzMlO1xufVxuXG4uY3QtbWFqb3Itc2V2ZW50aDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmN0LW1ham9yLXNldmVudGggPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1vY3RhdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0LW9jdGF2ZTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG59XG5cbi5jdC1vY3RhdmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1vY3RhdmUgPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1tYWpvci10ZW50aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtbWFqb3ItdGVudGg6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNDAlO1xufVxuXG4uY3QtbWFqb3ItdGVudGg6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1tYWpvci10ZW50aCA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LW1ham9yLWVsZXZlbnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1tYWpvci1lbGV2ZW50aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAzNy41JTtcbn1cblxuLmN0LW1ham9yLWVsZXZlbnRoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWFqb3ItZWxldmVudGggPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1tYWpvci10d2VsZnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1tYWpvci10d2VsZnRoOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDMzLjMzMzMzMzMzJTtcbn1cblxuLmN0LW1ham9yLXR3ZWxmdGg6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1tYWpvci10d2VsZnRoID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtZG91YmxlLW9jdGF2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtZG91YmxlLW9jdGF2ZTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAyNSU7XG59XG5cbi5jdC1kb3VibGUtb2N0YXZlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtZG91YmxlLW9jdGF2ZSA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uYXZiYXIge1xuICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG4gIH1cbiAgLm5hdmJhci1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG4gIC5uYXZiYXItc2VhcmNoLWZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51LFxuICAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNDBweCwgMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSAwcywgb3BhY2l0eSAwLjNzIGVhc2UgMHMsIGhlaWdodCAwcyBsaW5lYXIgMC4zNXM7XG4gIH1cbiAgLm5hdmJhci1uYXYgPiBsaS5vcGVuID4gLmRyb3Bkb3duLW1lbnUsIC5kcm9wZG93bi5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICB9XG4gIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudTpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b206IDExcHggc29saWQgI0YxRUFFMDtcbiAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHRvcDogLTExcHg7XG4gIH1cbiAgLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxMXB4IHNvbGlkICNGRkZDRjU7XG4gICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTJweDtcbiAgICB0b3A6IC0xMHB4O1xuICB9XG4gIC5uYXZiYXItbmF2Lm5hdmJhci1sZWZ0ID4gbGkgPiAuZHJvcGRvd24tbWVudTpiZWZvcmUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEycHg7XG4gIH1cbiAgLm5hdmJhci1uYXYubmF2YmFyLWxlZnQgPiBsaSA+IC5kcm9wZG93bi1tZW51OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMnB4O1xuICB9XG4gIC5uYXZiYXIgLm5hdmJhci1oZWFkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG4gIC5mb290ZXI6bm90KC5mb290ZXItYmlnKSBuYXYgPiB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgYm9keSA+IC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuY2FyZCBmb3JtIFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cbiAgLmNhcmQgZm9ybSBbY2xhc3MqPVwiY29sLVwiXTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG4gIC5jYXJkIGZvcm0gW2NsYXNzKj1cImNvbC1cIl06bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG4vKiAgICAgICAgICBDaGFuZ2VzIGZvciBzbWFsbCBkaXNwbGF5ICAgICAgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubWFpbi1wYW5lbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm5hdmJhci10cmFuc3BhcmVudCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgfVxuICBib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG4gIC53cmFwcGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zM3MgY3ViaWMtYmV6aWVyKDAuNjg1LCAwLjA0NzMsIDAuMzQ2LCAxKTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zM3MgY3ViaWMtYmV6aWVyKDAuNjg1LCAwLjA0NzMsIDAuMzQ2LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zM3MgY3ViaWMtYmV6aWVyKDAuNjg1LCAwLjA0NzMsIDAuMzQ2LCAxKTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG4gIC5uYXZiYXIgLmNvbnRhaW5lciB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzNzIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSk7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzNzIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSk7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAubmF2YmFyIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UsXG4gIC5uYXZiYXIgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZS5pbixcbiAgLm5hdmJhciAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNpbmcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLW5hdiA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDIzMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwMzI7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIzMHB4LCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjMwcHgsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjMwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIzMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIzMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzNzIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSk7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzNzIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSk7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICB9XG4gIC5vZmYtY2FudmFzLXNpZGViYXIgLnNpZGViYXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMHB4IDBweCAwcHggI0RERERERDtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDA7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhIHtcbiAgICBtYXJnaW46IDBweCAwcHg7XG4gICAgY29sb3I6ICMyZjJkMmE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgcGFkZGluZzogMTBweCAwO1xuICB9XG4gIC5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiA+IGxpID4gYTpob3ZlciwgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhLmFjdGl2ZSB7XG4gICAgY29sb3I6ICM0MDNEMzk7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhIHAsXG4gIC5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiA+IGxpID4gYSAubm90aWZpY2F0aW9uLFxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgPiBsaSA+IGEgLmNhcmV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhIC5jYXJldCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEycHg7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhIGkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkuYWN0aXZlID4gYTpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMTJweCBzb2xpZCAjREREREREO1xuICAgIGJvcmRlci10b3A6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHRvcDogMTBweDtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgPiBsaS5hY3RpdmUgPiBhOmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDEycHggc29saWQgI2ViZWZmMjtcbiAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgdG9wOiAxMHB4O1xuICB9XG4gIC5vZmYtY2FudmFzLXNpZGViYXI6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmVmZjI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMTEyLCAxMTIsIDExMiwgMCkgNjAlLCByZ2JhKDE4NiwgMTg2LCAxODYsIDAuMTUpIDEwMCUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyLmhhcy1pbWFnZTo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcbiAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuICAubmF2LW9wZW4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB9XG4gIC5uYXYtb3BlbiAubmF2YmFyIC5jb250YWluZXIge1xuICAgIGxlZnQ6IC0yMzBweDtcbiAgfVxuICAubmF2LW9wZW4gLndyYXBwZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMzBweCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMzBweCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjMwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMzBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjMwcHgsIDAsIDApO1xuICB9XG4gIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5uYXZiYXItaGVhZGVyIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBtYXJnaW46IDEwcHggMTVweCAxMHB4IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG4gIC5iYXIxLFxuICAuYmFyMixcbiAgLmJhcjMge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICAuYmFyMSB7XG4gICAgdG9wOiAwcHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHRvcGJhci1iYWNrIDUwMG1zIGxpbmVhciAwcztcbiAgICAtbW96LWFuaW1hdGlvbjogdG9wYmFyLWJhY2sgNTAwbXMgbGluZWFyIDBzO1xuICAgIGFuaW1hdGlvbjogdG9wYmFyLWJhY2sgNTAwbXMgMHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICB9XG4gIC5iYXIyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5iYXIzIHtcbiAgICBib3R0b206IDBweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYm90dG9tYmFyLWJhY2sgNTAwbXMgbGluZWFyIDBzO1xuICAgIC1tb3otYW5pbWF0aW9uOiBib3R0b21iYXItYmFjayA1MDBtcyBsaW5lYXIgMHM7XG4gICAgYW5pbWF0aW9uOiBib3R0b21iYXItYmFjayA1MDBtcyAwcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cbiAgLnRvZ2dsZWQgLmJhcjEge1xuICAgIHRvcDogNnB4O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiB0b3BiYXIteCA1MDBtcyBsaW5lYXIgMHM7XG4gICAgLW1vei1hbmltYXRpb246IHRvcGJhci14IDUwMG1zIGxpbmVhciAwcztcbiAgICBhbmltYXRpb246IHRvcGJhci14IDUwMG1zIDBzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuICAudG9nZ2xlZCAuYmFyMiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAudG9nZ2xlZCAuYmFyMyB7XG4gICAgYm90dG9tOiA2cHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGJvdHRvbWJhci14IDUwMG1zIGxpbmVhciAwcztcbiAgICAtbW96LWFuaW1hdGlvbjogYm90dG9tYmFyLXggNTAwbXMgbGluZWFyIDBzO1xuICAgIGFuaW1hdGlvbjogYm90dG9tYmFyLXggNTAwbXMgMHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICB9XG4gIEBrZXlmcmFtZXMgdG9wYmFyLXgge1xuICAgIDAlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0NWRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICB9XG4gIEAtd2Via2l0LWtleWZyYW1lcyB0b3BiYXIteCB7XG4gICAgMCUge1xuICAgICAgdG9wOiAwcHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICA0NSUge1xuICAgICAgdG9wOiA2cHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE0NWRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgfVxuICBALW1vei1rZXlmcmFtZXMgdG9wYmFyLXgge1xuICAgIDAlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgNDUlIHtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxNDVkZWcpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyB0b3BiYXItYmFjayB7XG4gICAgMCUge1xuICAgICAgdG9wOiA2cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICA0NSUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxuICB9XG4gIEAtd2Via2l0LWtleWZyYW1lcyB0b3BiYXItYmFjayB7XG4gICAgMCUge1xuICAgICAgdG9wOiA2cHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzIHRvcGJhci1iYWNrIHtcbiAgICAwJSB7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgNDUlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgdG9wOiAwcHg7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbiAgfVxuICBAa2V5ZnJhbWVzIGJvdHRvbWJhci14IHtcbiAgICAwJSB7XG4gICAgICBib3R0b206IDBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICA0NSUge1xuICAgICAgYm90dG9tOiA2cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQ1ZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgIH1cbiAgfVxuICBALXdlYmtpdC1rZXlmcmFtZXMgYm90dG9tYmFyLXgge1xuICAgIDAlIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgNDUlIHtcbiAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQ1ZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICB9XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzIGJvdHRvbWJhci14IHtcbiAgICAwJSB7XG4gICAgICBib3R0b206IDBweDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICBib3R0b206IDZweDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTE0NWRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgYm90dG9tYmFyLWJhY2sge1xuICAgIDAlIHtcbiAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC13ZWJraXQta2V5ZnJhbWVzIGJvdHRvbWJhci1iYWNrIHtcbiAgICAwJSB7XG4gICAgICBib3R0b206IDZweDtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzIGJvdHRvbWJhci1iYWNrIHtcbiAgICAwJSB7XG4gICAgICBib3R0b206IDZweDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuICBALW1vei1rZXlmcmFtZXMgZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyOSwgMjI5LCAyMjksIDAuMTUpO1xuICB9XG4gIC5uYXZiYXItbmF2IHtcbiAgICBtYXJnaW46IDFweCAwO1xuICB9XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm5hdmJhci1maXhlZC10b3Age1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gICNib2R5Q2xpY2sge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMjMwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuICAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgfVxuICAubmF2YmFyLXRvZ2dsZTpob3ZlciwgLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmJ0bi5kcm9wZG93bi10b2dnbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLm1lZGlhLXBvc3QgLmF1dGhvciB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gIH1cbiAgLm1lZGlhLXBvc3QgLm1lZGlhLWJvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Uge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UuaW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5uYXZiYXItaGVhZGVyIC5jb2xsYXBzZSwgLm5hdmJhci10b2dnbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhci1oZWFkZXIge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5tYWluLXBhbmVsID4gLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5uYXYgLm9wZW4gPiBhLCAubmF2IC5vcGVuID4gYTpmb2N1cywgLm5hdiAub3BlbiA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5mb290ZXIgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogMHB4IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50YWJsZS1mdWxsLXdpZHRoIHtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhcGVyLWRhc2hib2FyZC5zY3NzIl0sInNvdXJjZVJvb3QiOiIifQ==*/ -.select2-container { - box-sizing: border-box; - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; } - .select2-container .select2-selection--single { - box-sizing: border-box; - cursor: pointer; - display: block; - height: 28px; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--single .select2-selection__rendered { - display: block; - padding-left: 8px; - padding-right: 20px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-selection--single .select2-selection__clear { - position: relative; } - .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { - padding-right: 8px; - padding-left: 20px; } - .select2-container .select2-selection--multiple { - box-sizing: border-box; - cursor: pointer; - display: block; - min-height: 32px; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--multiple .select2-selection__rendered { - display: inline-block; - overflow: hidden; - padding-left: 8px; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-search--inline { - float: left; } - .select2-container .select2-search--inline .select2-search__field { - box-sizing: border-box; - border: none; - font-size: 100%; - margin-top: 5px; - padding: 0; } - .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - -.select2-dropdown { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - box-sizing: border-box; - display: block; - position: absolute; - left: -100000px; - width: 100%; - z-index: 1051; } - -.select2-results { - display: block; } - -.select2-results__options { - list-style: none; - margin: 0; - padding: 0; } - -.select2-results__option { - padding: 6px; - user-select: none; - -webkit-user-select: none; } - .select2-results__option[aria-selected] { - cursor: pointer; } - -.select2-container--open .select2-dropdown { - left: 0; } - -.select2-container--open .select2-dropdown--above { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--open .select2-dropdown--below { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-search--dropdown { - display: block; - padding: 4px; } - .select2-search--dropdown .select2-search__field { - padding: 4px; - width: 100%; - box-sizing: border-box; } - .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - .select2-search--dropdown.select2-search--hide { - display: none; } - -.select2-close-mask { - border: 0; - margin: 0; - padding: 0; - display: block; - position: fixed; - left: 0; - top: 0; - min-height: 100%; - min-width: 100%; - height: auto; - width: auto; - opacity: 0; - z-index: 99; - background-color: #fff; - filter: alpha(opacity=0); } - -.select2-hidden-accessible { - border: 0 !important; - clip: rect(0 0 0 0) !important; - height: 1px !important; - margin: -1px !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; } - -.select2-container--default .select2-selection--single { - background-color: #fff; - border: 1px solid #aaa; - border-radius: 4px; } - .select2-container--default .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--default .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; } - .select2-container--default .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--default .select2-selection--single .select2-selection__arrow { - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; } - .select2-container--default .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { - left: 1px; - right: auto; } - -.select2-container--default.select2-container--disabled .select2-selection--single { - background-color: #eee; - cursor: default; } - .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { - display: none; } - -.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--default .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; } - .select2-container--default .select2-selection--multiple .select2-selection__rendered { - box-sizing: border-box; - list-style: none; - margin: 0; - padding: 0 5px; - width: 100%; } - .select2-container--default .select2-selection--multiple .select2-selection__rendered li { - list-style: none; } - .select2-container--default .select2-selection--multiple .select2-selection__placeholder { - color: #999; - margin-top: 5px; - float: left; } - .select2-container--default .select2-selection--multiple .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-top: 5px; - margin-right: 10px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { - color: #999; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #333; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { - float: right; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--default.select2-container--focus .select2-selection--multiple { - border: solid black 1px; - outline: 0; } - -.select2-container--default.select2-container--disabled .select2-selection--multiple { - background-color: #eee; - cursor: default; } - -.select2-container--default.select2-container--disabled .select2-selection__choice__remove { - display: none; } - -.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--default .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; } - -.select2-container--default .select2-search--inline .select2-search__field { - background: transparent; - border: none; - outline: 0; - box-shadow: none; - -webkit-appearance: textfield; } - -.select2-container--default .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--default .select2-results__option[role=group] { - padding: 0; } - -.select2-container--default .select2-results__option[aria-disabled=true] { - color: #999; } - -.select2-container--default .select2-results__option[aria-selected=true] { - background-color: #ddd; } - -.select2-container--default .select2-results__option .select2-results__option { - padding-left: 1em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__group { - padding-left: 0; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option { - margin-left: -1em; - padding-left: 2em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -2em; - padding-left: 3em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -3em; - padding-left: 4em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -4em; - padding-left: 5em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -5em; - padding-left: 6em; } - -.select2-container--default .select2-results__option--highlighted[aria-selected] { - background-color: #5897fb; - color: white; } - -.select2-container--default .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic .select2-selection--single { - background-color: #f7f7f7; - border: 1px solid #aaa; - border-radius: 4px; - outline: 0; - background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); - background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); - background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - .select2-container--classic .select2-selection--single:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--classic .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-right: 10px; } - .select2-container--classic .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--classic .select2-selection--single .select2-selection__arrow { - background-color: #ddd; - border: none; - border-left: 1px solid #aaa; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; - background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); - background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); - background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } - .select2-container--classic .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { - border: none; - border-right: 1px solid #aaa; - border-radius: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - left: 1px; - right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--single { - border: 1px solid #5897fb; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { - background: transparent; - border: none; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; - background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); - background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); - background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); - background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); - background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } - -.select2-container--classic .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; - outline: 0; } - .select2-container--classic .select2-selection--multiple:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--multiple .select2-selection__rendered { - list-style: none; - margin: 0; - padding: 0 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__clear { - display: none; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { - color: #888; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #555; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - float: right; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--multiple { - border: 1px solid #5897fb; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--classic .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; - outline: 0; } - -.select2-container--classic .select2-search--inline .select2-search__field { - outline: 0; - box-shadow: none; } - -.select2-container--classic .select2-dropdown { - background-color: white; - border: 1px solid transparent; } - -.select2-container--classic .select2-dropdown--above { - border-bottom: none; } - -.select2-container--classic .select2-dropdown--below { - border-top: none; } - -.select2-container--classic .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--classic .select2-results__option[role=group] { - padding: 0; } - -.select2-container--classic .select2-results__option[aria-disabled=true] { - color: grey; } - -.select2-container--classic .select2-results__option--highlighted[aria-selected] { - background-color: #3875d7; - color: white; } - -.select2-container--classic .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic.select2-container--open .select2-dropdown { - border-color: #5897fb; } - -/* iCheck plugin Flat skin, orange ------------------------------------ */ -.icheckbox_flat-orange, -.iradio_flat-orange { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(orange.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-orange { - background-position: 0 0; -} - .icheckbox_flat-orange.checked { - background-position: -22px 0; - } - .icheckbox_flat-orange.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-orange.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-orange { - background-position: -88px 0; -} - .iradio_flat-orange.checked { - background-position: -110px 0; - } - .iradio_flat-orange.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-orange.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-orange, - .iradio_flat-orange { - background-image: url(orange@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyLWRhc2hib2FyZC5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19jaGFydGlzdC5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19taXNjLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3NpZGViYXItYW5kLW1haW4tcGFuZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL21peGlucy9fc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2JhZGdlcy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19iYWRnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL21peGlucy9fdHJhbnNwYXJlbmN5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9faW5wdXRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2lucHV0cy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2FsZXJ0cy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3RhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2NoZWNrYm94LXJhZGlvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fbmF2YmFycy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19uYXZiYXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fZm9vdGVycy5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19jaGFydGlzdC5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3Jlc3BvbnNpdmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9wYXBlci1kYXNoYm9hcmQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQ3VESCwwREFBMEQ7QUNvQjFEO0VBQ0ksMkJBQWlDO0NBQ3BDOztBQUNEO0VBQ0ksMkJBQThCO0NBQ2pDOztBQUNEO0VBQ0ksMkJBQWlDO0NBQ3BDOztBQUNEO0VBQ0ksMkJBQWlDO0NBQ3BDOztBQUNEO0VBQ0ksMkJBQWdDO0NBQ25DOztBQ3ZHRDtFQUNJLG1DQUFrQztFQUNsQyxvQ0FBbUM7RUFFbkMsd0RBQXVEO0NBQzFEOztBQUVEO0VBQ0ksaUJGbUo0QjtFRWxKNUIsb0JGaUcrQjtDRWhHbEM7O0FBRUQ7RUFDSSxpQkZrSWdDO0NFakluQzs7QUFDRDtFQUNJLGlCRmdJZ0M7Q0UvSG5DOztBQUNEO0VBQ0ksbUJGOEhrQztFRTdIbEMsaUJBQWdCO0VBQ2hCLGlCRnFJNEI7RUVwSTVCLG9CQUFtQjtDQUN0Qjs7QUFDRDtFQUNJLGlCRnlIZ0M7RUV4SGhDLGlCRmdJNEI7RUUvSDVCLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLGtCRnFIaUM7RUVwSGpDLGlCRjJINEI7RUUxSDVCLG1CQUFrQjtFQUNsQixvQkFBbUI7Q0FDdEI7O0FBQ0Q7RUFDSSxpQkZnSGdDO0VFL0doQyxpQkZxSDRCO0VFcEg1QiwwQkFBeUI7Q0FDNUI7O0FBQ0Q7RUFDSSxnQkY0RytCO0VFM0cvQixtQkZzSGdDO0NFckhuQzs7QUFFRDtFQUNJLGVGZGdDO0VFZWhDLGlCRjJHNEI7RUUxRzVCLG1CRmdIZ0M7Q0UvR25DOztBQUVEO0VBQ0ksZUFBYztDQUNqQjs7QUFDRDtFQUNJLDBCQUF5QjtDQUM1Qjs7QUFDRDtFQUNJLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLGVGakNnQztDRWtDbkM7O0FBQ0Q7RUFDSSxlRnJCZ0M7Q0VzQm5DOztBQUNEO0VBQ0ksZUZoQmdDO0NFaUJuQzs7QUFDRDtFQUNJLGVGdkJnQztDRXdCbkM7O0FBQ0Q7RUFDSSxlRmxCZ0M7Q0VtQm5DOztBQUNEO0VBQ0ksZUZoQmdDO0NFaUJuQzs7QUFDRDtFQUNJLGVBQWM7Q0FDakI7O0FBQ0Q7RUFDSSxlRjNDZ0M7Q0U0Q25DOztBQUNEO0VBQ0ksZUY1Q2dDO0NFNkNuQzs7QUFDRDtFQUNJLGVGdkNnQztDRXdDbkM7O0FBQ0Q7RUFDSSxlRjlDZ0M7Q0UrQ25DOztBQUNEO0VBQ0ksZUZ6Q2dDO0NFMENuQzs7QUFDRDtFQUNJLGVGdkNnQztDRXdDbkM7O0FBQ0Q7RUFFUSxlRjVENEI7Q0U2RC9COztBQUhMO0VBS1EsZUZ2RDRCO0NFd0QvQjs7QUFOTDtFQVFRLGVGOUQ0QjtDRStEL0I7O0FBVEw7RUFXUSxlRnpENEI7Q0UwRC9COztBQVpMO0VBY1EsZUZ2RDRCO0NFd0QvQjs7QUFHTDs7O0VBR0ksZUYzRmdDO0VFNEZoQyxpQkY4QjRCO0NFN0IvQjs7QUM3SEQsK0JBQStCO0FBQy9CO0VBQ0ksZUhBZ0I7RUdDaEIsZ0JIcUkrQjtFR3BJL0IsdUNBQXNDO0NBS3pDOztBQVJEO0VBS1Esa0JBQWlCO0VBQ2pCLG1CQUFrQjtDQUNyQjs7QUFFTDtFQUNFLGVIeUNrQztDR25DbkM7O0FBUEQ7RUFJSyxlSHdDK0I7RUd2Qy9CLHNCQUFxQjtDQUN2Qjs7QUFHSDs7Ozs7RUFLSSxzQkFBb0I7Q0FDdkI7O0FBQ0Q7Ozs7RUFJSSxzQkFBc0I7RUFDdEIsMkNBQTBDO0VBQzFDLG1DQUFrQztDQUNyQzs7QUFFRCx1Q0FBdUM7QUFDdkM7Ozs7O0VDWkkscUNKMEp3RDtFSXRKeEQsNkJKc0p3RDtDR3hJM0Q7O0FBRUQ7O0VDcEJJLHNDSjBNcUM7RUl0TXJDLDhCSnNNcUM7Q0duTHhDOztBQUVEO0VDekJJLHNDSjBNcUM7RUl0TXJDLDhCSnNNcUM7Q0cvS3hDOztBQUNEO0VBQ0ksWUFBVztFQUNYLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLDZCQUE0QjtDQUMvQjs7QUFFRDtFQUNJLGlCQUFnQjtDQUNuQjs7QUFDRDtFQUNJLHNCSGxEZ0M7Q0dtRG5DOztBQUNEO0VBQ0ksbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixjQUFhO0NBQ2hCOztBRXRFRDtFQUNJLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sVUFBUztFQUNULFFBQU87RUFDUCxXQUFVO0VBQ1YsdUJBQXNCO0VBQ3RCLG1DQUFrQztDQXNCckM7O0FBN0JEO0VBU1EsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWixXQUFVO0VBQ1YsbURMZ0I0QjtVS2hCNUIsMkNMZ0I0QjtDS2YvQjs7QUFoQkw7RUFrQlEsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixhQUFZO0VBQ1osWUFBVztFQUNYLGVBQWM7RUFDZCxPQUFNO0VBQ04sUUFBTztFQUNQLHVCQUFzQjtFQUN0QixtQ0FBa0M7Q0FDckM7O0FBR0w7O0VBRUksYUFBWTtFQUNaLGVBQWM7RUFDZCxpQkFBZ0I7Q0EwSW5COztBQTlJRDs7RUFPUSxrQkFBaUI7RUFDakIsZUFBYztDQWtCakI7O0FBMUJMOztFQVdZLFlBQVc7RUFDWCxnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixrQkFBaUI7Q0FDcEI7O0FBZlQ7O0VBa0JZLDBCQUF5QjtFQUN6QixpQkwrTHdCO0VLOUx4QixlQUFjO0VBQ2QsZ0JMeUZ1QjtFS3hGdkIsbUJBQWtCO0VBQ2xCLGlCTHNHb0I7RUtyR3BCLGtCQUFpQjtDQUNwQjs7QUF6QlQ7O0VBNkJRLGlCQUFnQjtDQTBFbkI7O0FBdkdMOztFQWlDZ0IsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFFbkIsWUFBVztDQUNkOztBQXRDYjs7RUF5Q2dCLFdBQVU7Q0FDYjs7QUExQ2I7O0VBNkNnQixlTC9Cb0I7RUtnQ3BCLFdBQVU7Q0F1QmI7O0FBckViOztFQWlEb0IsaUNMaERnQjtFS2lEaEIsbUNBQWtDO0VBQ2xDLHNDQUFxQztFQUNyQyxZQUFXO0VBQ1gsc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsU0FBUTtDQUNYOztBQXpEakI7O0VBNERvQixpQ0x5SFc7RUt4SFgsbUNBQWtDO0VBQ2xDLHNDQUFxQztFQUNyQyxZQUFXO0VBQ1gsc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsU0FBUTtDQUNYOztBQXBFakI7O0VBd0VnQixvQ0FBbUM7RUFDbkMseURBQXdEO0VBQ3hELG1CQUFrQjtDQUNyQjs7QUEzRWI7O0VBOEVnQixhQUFZO0VBQ1osa0JBQWlCO0NBQ3BCOztBQWhGYjs7RUFtRmdCLGdCQUFlO0NBQ2xCOztBQXBGYjs7RUF3RlksVUFBUztFQUNULGtCQUFpQjtFQUNqQixnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQiwwQkFBeUI7Q0FDNUI7O0FBN0ZUOztFQWdHWSxnQkFBZTtFQUNmLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLFlBQVc7RUFDWCxtQkFBa0I7Q0FDckI7O0FBdEdUOzs7RUEyR1EsZUFBYztFQUNkLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsWUFBVztFQUNYLGFBQVk7RUFDWixPQUFNO0VBQ04sUUFBTztFQUNQLFdBQVU7RUFDVixvQkx6SCtCO0NLMEhsQzs7QUNqSkQ7Ozs7O0VBRUMsMEJOcUJrQztDTXBCckM7O0FBRUU7OztFQUNJLCtDTmlDZTtDTXhCbEI7O0FBUEc7OztFQUNJLGVOOEJXO0NNN0JkOztBQUVEOzs7RUFDSSxlTjBCVztDTXpCZDs7QUFLSzs7O0VBQ0UsZU5tQk87Q01sQlY7O0FBRUw7OztFQUNJLHdDTmVXO0NNZGQ7O0FBekJMOzs7RUFFQywwQk53QmtDO0NNdkJyQzs7QUFFRTs7RUFDSSxrRE5FNEI7Q01PL0I7O0FBUEc7O0VBQ0ksZU5Ed0I7Q01FM0I7O0FBRUQ7O0VBQ0ksZU5Md0I7Q01NM0I7O0FBS0s7O0VBQ0UsZU5ab0I7Q01hdkI7O0FBRUw7O0VBQ0ksMkNOaEJ3QjtDTWlCM0I7O0FBU2M7O0VBQ1AsZU5Rb0I7RU1QcEIsV0FBVTtDQUNiOztBQUhVOztFQUNQLGVOZ0JvQjtFTWZwQixXQUFVO0NBQ2I7O0FBSFU7O0VBQ1AsZU5Zb0I7RU1YcEIsV0FBVTtDQUNiOztBQUhVOztFQUNQLGVOb0JvQjtFTW5CcEIsV0FBVTtDQUNiOztBQUhVOztFQUNQLGVOeUJvQjtFTXhCcEIsV0FBVTtDQUNiOztBRHdJYjtFQUNJLDBCTG9DMkI7RUtuQzNCLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsYUFBWTtFQUNaLDBCTCtENEM7RUs5RDVDLGlCQUFnQjtDQWNuQjs7QUFwQkQ7RUFTUSxtQkFBa0I7RUFDbEIsK0JBQThCO0NBQ2pDOztBQVhMO0VBY1EseUNBQXdDO0NBQzNDOztBQWZMO0VBa0JRLGlCQUFnQjtDQUNuQjs7QUFHTDs7RUFFSSxlQUFjO0VBQ2QsaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWix3Q0FBdUM7RUFDdkMsZ0NBQStCO0VBQy9CLHFDQUFvQztFQUNwQyw2QkFBNEI7RUFDNUIsa0RBQWlEO0VBQ2pELDBDQUF5QztFQUN6QyxrQ0FBaUM7Q0FDcEM7O0FFaE5ELGtDQUFrQztBQUNsQztFQUNFLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsMEJBQXlCO0VBQ3pCLG9CUG1KdUI7RU9sSnZCLGtCQUFpQjtFQUNqQiw4QlArQnNDO0VPOUJ0QyxrQlA0R2dCO0VPM0doQixtQkFBa0I7RUFDbEIsbUJQZ0hnQztDTy9HakM7O0FBRUQ7RUFDRSxzQkFBcUI7Q0FJdEI7O0FBTEQ7RUFHSSxpQkFBZ0I7Q0FDakI7O0FBR0g7RUNuQkksc0JSdUNtQjtFUXRDbkIsZVJzQ21CO0NPbEJ0Qjs7QUFFRDtFQ3ZCSSxzQlIyQ2dDO0VRMUNoQyxlUjBDZ0M7Q09sQm5DOztBQUVEO0VDM0JJLHNCUm1EZ0M7RVFsRGhDLGVSa0RnQztDT3RCbkM7O0FBRUQ7RUMvQkksc0JSK0NnQztFUTlDaEMsZVI4Q2dDO0NPZG5DOztBQUVEO0VDbkNJLHNCUnVEZ0M7RVF0RGhDLGVSc0RnQztDT2xCbkM7O0FBRUQ7RUN2Q0ksc0JSNERnQztFUTNEaEMsZVIyRGdDO0NPbkJuQzs7QUFFRDtFQzNDSSxzQlJRZ0M7RVFQaEMsZVJPZ0M7Q09xQ25DOztBRTlDRDs7RUFFSSxvQlQ0RytCO0VTM0cvQiwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGtCVEc0QjtFU0Y1Qiw4QlRpQ29DO0VTaENwQyxnQlRrSStCO0VTakkvQixpQlRxSjRCO0VTbko1QixrQlR3RWdDO0VVL0VsQyxzQlZzQ3FCO0VVckNyQixlVnFDcUI7RUloQm5CLHFDS1ppRDtFTGdCakQsNkJLaEJpRDtDQWdCcEQ7O0FDdkJDOzs7Ozs7OztFQUtFLDBCVjhCbUI7RVU3Qm5CLGdDVlJzQztFVVN0QyxzQlY0Qm1CO0NVeEJwQjs7QUFIQzs7Ozs7Ozs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FBT0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNRSw4QlZVa0M7RVVUbEMsc0JWV2lCO0NVVmxCOztBQUlIOztFQUNFLGVWMUJnQztFVTJCaEMsMEJWSW1CO0VXckNyQixXRGtDb0I7RUMvQnBCLDJCQUFRO0NEOENQOztBQWJDOzs7Ozs7OztFQUtJLDBCVkY0QjtFVUc1QixlVnBDNEI7RVVxQzVCLHNCVko0QjtDVUsvQjs7QUFFRDs7RUFDSSwwQlZ6QzRCO0NVMEMvQjs7QUFJRDs7Ozs7Ozs7RUFLSSw4QlZ0QmdDO0VVdUJoQyxlVm5CNEI7Q1VvQi9COztBQUVEOztFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIOztFQUNJLDBCVjlCaUI7Q1UrQnBCOztBRHZFSDs7O0VBZ0JRLHNCQUFxQjtDQUN4Qjs7QUFqQkw7Ozs7OztFTFdFLHlCS1UrQjtFTFR2QixpQktTdUI7RUFDeEIsc0JBQXFCO0NBQ3pCOztBQXZCTDs7RUEwQlEsYVRzRDJCO0NTckQ5Qjs7QUFHTDs7OztFQUlJLGtCQUFpQjtDQUNwQjs7QUFJRDtFQ3JDRSxzQlYwQ2tDO0VVekNsQyxlVnlDa0M7Q1NMbUY7O0FBQXZIOzs7RUM3QkksMEJWa0NnQztFVWpDaEMsZ0NWUnNDO0VVU3RDLHNCVmdDZ0M7Q1U1QmpDOztBQUhDOzs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FEd0JMOzs7Ozs7Ozs7Ozs7O0VDWE0sOEJWVWtDO0VVVGxDLHNCVmU4QjtDVWQvQjs7QURTTDtFQ0pJLGVWMUJnQztFVTJCaEMsMEJWUWdDO0VXekNsQyxXRGtDb0I7RUMvQnBCLDJCQUFRO0NEOENQOztBRGJIOzs7RUNLUSwwQlZFNEI7RVVENUIsZVZwQzRCO0VVcUM1QixzQlZBNEI7Q1VDL0I7O0FBRUQ7RUFDSSwwQlZ6QzRCO0NVMEMvQjs7QURaTDs7O0VDcUJRLDhCVnRCZ0M7RVV1QmhDLGVWZjRCO0NVZ0IvQjs7QUFFRDtFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIO0VBQ0ksMEJWMUI4QjtDVTJCakM7O0FEL0JIO0VDdENFLHNCVjhDa0M7RVU3Q2xDLGVWNkNrQztDU1JtRjs7QUFBdkg7OztFQzlCSSwwQlZzQ2dDO0VVckNoQyxnQ1ZSc0M7RVVTdEMsc0JWb0NnQztDVWhDakM7O0FBSEM7OztFQUNJLDJDVlhrQztDVVlyQzs7QUR5Qkw7Ozs7Ozs7Ozs7Ozs7RUNaTSw4QlZVa0M7RVVUbEMsc0JWbUI4QjtDVWxCL0I7O0FEVUw7RUNMSSxlVjFCZ0M7RVUyQmhDLDBCVllnQztFVzdDbEMsV0RrQ29CO0VDL0JwQiwyQkFBUTtDRDhDUDs7QURaSDs7O0VDSVEsMEJWTTRCO0VVTDVCLGVWcEM0QjtFVXFDNUIsc0JWSTRCO0NVSC9COztBQUVEO0VBQ0ksMEJWekM0QjtDVTBDL0I7O0FEWEw7OztFQ29CUSw4QlZ0QmdDO0VVdUJoQyxlVlg0QjtDVVkvQjs7QUFFRDtFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIO0VBQ0ksMEJWdEI4QjtDVXVCakM7O0FEOUJIO0VDdkNFLHNCVmtEa0M7RVVqRGxDLGVWaURrQztDU1gwRTs7QUFBOUc7OztFQy9CSSwwQlYwQ2dDO0VVekNoQyxnQ1ZSc0M7RVVTdEMsc0JWd0NnQztDVXBDakM7O0FBSEM7OztFQUNJLDJDVlhrQztDVVlyQzs7QUQwQkw7Ozs7Ozs7Ozs7Ozs7RUNiTSw4QlZVa0M7RVVUbEMsc0JWdUI4QjtDVXRCL0I7O0FEV0w7RUNOSSxlVjFCZ0M7RVUyQmhDLDBCVmdCZ0M7RVdqRGxDLFdEa0NvQjtFQy9CcEIsMkJBQVE7Q0Q4Q1A7O0FEWEg7OztFQ0dRLDBCVlU0QjtFVVQ1QixlVnBDNEI7RVVxQzVCLHNCVlE0QjtDVVAvQjs7QUFFRDtFQUNJLDBCVnpDNEI7Q1UwQy9COztBRFZMOzs7RUNtQlEsOEJWdEJnQztFVXVCaEMsZVZQNEI7Q1VRL0I7O0FBRUQ7RUFDSSwwQlZ4RDRCO0NVeUQvQjs7QUFHSDtFQUNJLDBCVmxCOEI7Q1VtQmpDOztBRDdCSDtFQ3hDRSxzQlZzRGtDO0VVckRsQyxlVnFEa0M7Q1NkbUY7O0FBQXZIOzs7RUNoQ0ksMEJWOENnQztFVTdDaEMsZ0NWUnNDO0VVU3RDLHNCVjRDZ0M7Q1V4Q2pDOztBQUhDOzs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FEMkJMOzs7Ozs7Ozs7Ozs7O0VDZE0sOEJWVWtDO0VVVGxDLHNCVjJCOEI7Q1UxQi9COztBRFlMO0VDUEksZVYxQmdDO0VVMkJoQywwQlZvQmdDO0VXckRsQyxXRGtDb0I7RUMvQnBCLDJCQUFRO0NEOENQOztBRFZIOzs7RUNFUSwwQlZjNEI7RVViNUIsZVZwQzRCO0VVcUM1QixzQlZZNEI7Q1VYL0I7O0FBRUQ7RUFDSSwwQlZ6QzRCO0NVMEMvQjs7QURUTDs7O0VDa0JRLDhCVnRCZ0M7RVV1QmhDLGVWSDRCO0NVSS9COztBQUVEO0VBQ0ksMEJWeEQ0QjtDVXlEL0I7O0FBR0g7RUFDSSwwQlZkOEI7Q1VlakM7O0FENUJIO0VDekNFLHNCVjJEa0M7RVUxRGxDLGVWMERrQztDU2xCZ0Y7O0FBQXBIOzs7RUNqQ0ksMEJWbURnQztFVWxEaEMsZ0NWUnNDO0VVU3RDLHNCVmlEZ0M7Q1U3Q2pDOztBQUhDOzs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FENEJMOzs7Ozs7Ozs7Ozs7O0VDZk0sOEJWVWtDO0VVVGxDLHNCVmdDOEI7Q1UvQi9COztBRGFMO0VDUkksZVYxQmdDO0VVMkJoQywwQlZ5QmdDO0VXMURsQyxXRGtDb0I7RUMvQnBCLDJCQUFRO0NEOENQOztBRFRIOzs7RUNDUSwwQlZtQjRCO0VVbEI1QixlVnBDNEI7RVVxQzVCLHNCVmlCNEI7Q1VoQi9COztBQUVEO0VBQ0ksMEJWekM0QjtDVTBDL0I7O0FEUkw7OztFQ2lCUSw4QlZ0QmdDO0VVdUJoQyxlVkU0QjtDVUQvQjs7QUFFRDtFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIO0VBQ0ksMEJWVDhCO0NVVWpDOztBRDNCSDtFQzFDRSxzQlZPa0M7RVVObEMsZVZNa0M7Q1M4RG5DOztBQ2xFQzs7RUFLRSwwQlZEZ0M7RVVFaEMsZ0NWUnNDO0VVU3RDLHNCVkhnQztDVU9qQzs7QUFIQzs7RUFDSSwyQ1ZYa0M7Q1VZckM7O0FBT0Q7Ozs7Ozs7RUFNRSw4QlZVa0M7RVVUbEMsc0JWcEI4QjtDVXFCL0I7O0FBSUg7RUFDRSxlVjFCZ0M7RVUyQmhDLDBCVjNCZ0M7RVdObEMsV0RrQ29CO0VDL0JwQiwyQkFBUTtDRDhDUDs7QUFiQzs7RUFLSSwwQlZuQzRCO0VVb0M1QixlVnBDNEI7RVVxQzVCLHNCVnJDNEI7Q1VzQy9COztBQUVEO0VBQ0ksMEJWekM0QjtDVTBDL0I7O0FBSUQ7O0VBS0ksOEJWdEJnQztFVXVCaEMsZVZwRDRCO0NVcUQvQjs7QUFFRDtFQUNJLDBCVnhENEI7Q1V5RC9COztBQUdIO0VBQ0ksMEJWN0Q4QjtDVThEakM7O0FEM0JIO0VBS1EsZVRUZTtDU1VsQjs7QUFOTDs7RUFXUywwQlQ5QzJCO0VTK0MzQixlVGhCYztDU2lCbEI7O0FBYkw7RUFnQlEsZVRwQmU7Q1NxQmxCOztBQWpCTDtFQW9CUSxlVHRCNEI7Q1N1Qi9COztBQXJCTDtFQXlCUSw4QkFBNkI7Q0FDaEM7O0FBR0w7RUV0RUUsYUYwRXlCO0VFdkV6QiwwQkFBUTtDRndFTDs7QUFFTDtFQUNJLFVUNUUwQjtFUzZFMUIsa0JURGdDO0NTTW5DOztBQVBEO0VBS1EsYVRMMkI7Q1NNOUI7O0FBRUw7RUNaRyxnQlZnRWdDO0VVL0RoQyxvQlZrQ2dDO0VVakNoQyxtQlZZZ0M7RVNBaEMsaUJUaUU2QjtDU2hFL0I7O0FDWEU7RUFDSSxtQlZTNEI7Q1VSL0I7O0FEVUo7RUNoQkcsZ0JWOERnQztFVTdEaEMsb0JWZ0NnQztFVS9CaEMsa0JWZWdDO0NTQ2xDOztBQ2RFO0VBQ0ksa0JWWTRCO0NVWC9COztBRGFKO0VDbkJHLGdCVjZEZ0M7RVU1RGhDLG9CVmdDZ0M7RVUvQmhDLGlCVmtCZ0M7Q1NDbEM7O0FDakJFO0VBQ0ksaUJWZTRCO0NVZC9COztBRGdCSjtFQUNJLGlCQUFnQjtDQUNuQjs7QUFFRDtFQUNJLFlBQVc7Q0FDZDs7QUFDRDtFQUNJLGlCQUFnQjtDQUNuQjs7QUFDRDtFQUNJLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsaUJBQWdCO0VBQ2hCLFdBQVU7Q0FDYjs7QUdqSEQ7RUFDSSxnQkFBZTtFQUNmLGFBQVk7Q0FDZjs7QUFFRDtFQ0NHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NDVDs7QUFDRDtFQ0ZHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NJVDs7QUFDRDtFQ0xHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NPVDs7QUFDRDtFQ1JHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NVVDs7QUFFRDtFQUNJLGVBQWM7RUFDZCxZQUFXO0VBQ1gsZ0JabUgrQjtFWWxIL0IsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsbUJaK0YrQjtFWTlGL0I7dURBQ21EO0VBQ25ELHVGQUFzRjtFQUV0RiwrRUFBc0U7RUFBdEUsdUVBQXNFO0VBQXRFLDRHQUFzRTtFQzdCdEUsa0JiZ0ZnQztFYS9FaEMsYWIrSCtCO0VZaEcvQjs7Ozs7OztnQ0FPNEI7Q0FzRC9COztBQTVFRDtFQXlCVywwQlpqQ3lCO0VZbUN6QixzQkFBcUI7RUFDcEIsaUNBQWdDO0VBQ2hDO2lEQUNxQztDQUM1Qzs7QUFFRDs7OztFUnhDRix5QlE0QzhCO0VSM0N0QixpQlEyQ3NCO0NBQzNCOztBQUVEO0VBQ0ksMEJadkI0QjtFWXdCNUIsZVpaNEI7Q1lnQi9COztBQU5EO0VBSVMsMEJaZHVCO0NZZTNCOztBQUVMO0VBQ0ksMEJaeEQ0QjtDWXlEL0I7O0FBQ0Q7RUFDSSwwQlpsQzRCO0VZbUM1QixlWlQ0QjtDWWEvQjs7QUFORDtFQUlTLDBCWlh1QjtDWVkzQjs7QUFFTDtFQUNJLDBCWmxFNEI7Q1ltRS9COztBQTNETDtFQThEUSxtQlp5QzJCO0VZeEMzQixnQlp1RDJCO0VZdEQzQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxTQUFRO0VBQ1IsdUJBQXNCO0NBQ3pCOztBQXJFTDtFQXVFUywwQlp6RTJCO0NZMEUvQjs7QUFDRDtFQUNJLGlDQUFnQztDQUNuQzs7QUFHTDtFQUNJLGFBQVk7RUFDWixtQlpSK0I7RVlTL0IsZ0JBQWU7RUFDZix1QkFBc0I7RUFDdEIsbUJBQWtCO0NBQ3JCOztBQUVEO0VBRVEsZVo3QzRCO0NZOEMvQjs7QUFFTDtFQUVRLGVaL0Q0QjtDWWdFL0I7O0FBSUw7RUFDSSwwQlpuRmdDO0VZb0ZoQyxvQkFBbUI7RUFDbkIsbUJaQytCO0NZZWxDOztBQWRHOztFQUVJLDBCWmxINEI7Q1ltSC9COztBQUNEO0VBQ0ksZVpqRTRCO0NZa0UvQjs7QUFDRDtFQUNJLGVaakY0QjtDWWtGL0I7O0FBQ0Q7O0VBRUksMEJaNUg0QjtDWTZIL0I7O0FBRUw7RUFFUSwwQloxSDRCO0NZMkgvQjs7QUFFTDtFQUNJLG9CQUFtQjtDQUN0Qjs7QUFDRDtFQUVRLDBCWnBINEI7Q1lxSC9COztBQUVMOzs7O0VBSUkscUJBQW9CO0NBQ3ZCOztBQUNEOzs7O0VBSUksb0JBQW1CO0NBQ3RCOztBQUNEO0VBQ0ksMEJacElnQztFWXFJaEMsb0JBQW1CO0VDN0pwQixlYjBCaUM7RVc3QmxDLFdFSW1CO0VGRG5CLDJCQUFRO0NDK0pUOztBQUNEO0VDaEtHLGViMEJpQztFVzdCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0NrS1Q7O0FBQ0Q7RUNuS0csZWJ5QmlDO0VXNUJsQyxXRUltQjtFRkRuQiwyQkFBUTtDQ3FLVDs7QUFDRDtFQ3RLRyxlYnlCaUM7RVc1QmxDLFdFSW1CO0VGRG5CLDJCQUFRO0NDd0tUOztBQUNEO0VDektHLGVieUJpQztFVzVCbEMsV0VJbUI7RUZEbkIsMkJBQVE7Q0MyS1Q7O0FBQ0Q7RUFDSSxrQlo3SzRCO0VZOEs1QixrQlpuR2dDO0NZb0duQzs7QUFDRDtFQUNJLHNCWnhKZ0M7Q1l5Sm5DOztBQUVEO0VBQ0ksZUFBYztDQUNqQjs7QUFDRDtFQUNJLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLGFBQVk7Q0FDZjs7QUVqTUQ7RUFDSSxVQUFTO0VBQ1QsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZ0JBQWU7Q0F5Q2xCOztBQXZDRztFQUNJLG1CQUFrQjtDQUVyQjs7QUFDRDtFQUNJLGlCQUFnQjtFQUNoQixRQUFPO0VBQ1AsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixVQUFTO0VBQ1QsWUFBVztFQUNYLFdBQVU7Q0FDYjs7QUFDRDtFQUNJLFVBQVM7Q0FDWjs7QUF0Qkw7RUF5QlEsZ0JBQWU7RUFDZixlQUFjO0VBQ2QsV0FBVTtFQUNWLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1Isa0JBQWlCO0NBQ3BCOztBQS9CTDtFQWtDUSxlQUFjO0VBQ2QsZUFBYztDQUNqQjs7QUFwQ0w7RUF1Q1EsNkJBQTRCO0VBQzVCLG1CZGdGMkI7Q2MvRTlCOztBQXpDTDtFQTRDUSxtQkFBa0I7Q0FDckI7O0FBRUw7RUFDSSwwQmRxSzJCO0VjcEszQixlZEtnQztDY0puQzs7QUFDRDtFQUNJLDBCZGtLMkI7RWNqSzNCLGVkSGdDO0NjSW5DOztBQUNEO0VBQ0ksMEJkK0oyQjtFYzlKM0IsZWRDZ0M7Q2NBbkM7O0FBQ0Q7RUFDSSwwQmQ0SjJCO0VjM0ozQixlZEVnQztDY0RuQzs7QUM5REQ7Ozs7OztFQU1ZLDhCZlV3QjtDZVQzQjs7QUFQVDtFQVVPLHVCQUFzQjtFQUN0QixrQmZ3SThCO0Vldkk5QixpQmY4SXlCO0NlN0k1Qjs7QUFiSjs7RUFpQk8sY0FBYTtFQUNiLG9CQUFtQjtFQUNuQixXQUFVO0VBQ1YsWUFBVztDQUNkOztBQXJCSjs7Ozs7O0VBNEJPLGNBQWE7RUFDYix1QkFBc0I7Q0FDekI7O0FBOUJKO0VBaUNPLGlCQUFnQjtDQUNuQjs7QUFsQ0o7RUFvQ08sZ0JBQWU7RUFDZixpQmZxSHlCO0VlcEh6QixnQkFBZTtFQUNmLGtCQUFpQjtDQUNwQjs7QUF4Q0o7RUEwQ1EsaUJmbUh3QjtFZWxIeEIsa0Jmd0c2QjtFZXZHN0Isa0JBQWlCO0VBQ2pCLGtCQUFpQjtDQUNwQjs7QUE5Q0w7RUFvRFksa0JBQWlCO0VBQ2pCLG1CQUFrQjtDQUNyQjs7QUF0RFQ7RUEwRFEsbUJBQWtCO0NBQ3JCOztBQUVMO0VBRVEsdUJBQXNCO0NBQ3pCOztBQUhMO0VBS1EsMEJmckQ0QjtDZXNEL0I7O0FBTkw7Ozs7OztFQWFRLGtCQUFpQjtDQUNwQjs7QUMzRUwscUNBQXFDO0FBQ3JDOztFQUVJLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLCtDQUE4QztFQUM5Qyx1Q0FBc0M7RUFDdEMsZ0JoQmdJK0I7RWdCL0gvQixvQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLGVoQlRnQjtFZ0JVaEIsZ0JBQWU7Q0ErQmxCOztBQTFDRDs7RUFjTSxlaEJiYztFZ0JjZCxlQUFjO0VBQ2QsYUFBWTtFQUNaLFFBQU87RUFDUCxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLGdCQUFlO0VBQ2YsZ0JBQWU7RUFDZiwrQ0FBOEM7RUFDOUMsdUNBQXNDO0VBRXJDLGFBQVk7Q0FDZDs7QUE3Qkw7O0VBa0NZLFdBQVU7Q0FDYjs7QUFuQ1Q7O0VBdUNRLHlCQUF3QjtFQUN4QixjQUFhO0NBQ2hCOztBQUdMOztFQUdRLG1CQUFrQjtDQUNyQjs7QUFHTDs7OztFQUlFLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsUUFBTztFQUNQLE9BQU07RUFDTiw4QkFBNkI7RUFDN0IsVUFBUztFTDFEVCxXSzJEa0I7RUx4RGxCLDJCQUFRO0NLeURUOztBQUNEOztFTDdERSxXSytEa0I7RUw1RGxCLHlCQUFRO0NLNkRUOztBQUNEOztFQUVFLHNDQUFxQztFQUNyQyw4QkFBNkI7Q0FDOUI7O0FBQ0Q7O0VMdEVFLFdLd0VpQjtFTHJFakIseUJBQVE7Q0tzRVQ7O0FBQ0Q7O0VMMUVFLFdLNEVrQjtFTHpFbEIsMkJBQVE7Q0swRVQ7O0FBS0Q7O0VBRUUsV0FBVTtFQUNWLHlCQUF3QjtDQUN6Qjs7QUFDRDs7RUFFRSxXQUFVO0VBQ1YsMkJBQTBCO0VBRTFCLHNDQUFxQztFQUNyQyw4QkFBNkI7Q0FDOUI7O0FBQ0Q7O0VBRUUsZ0JBQWU7RUFDZixlaEJ0RWtDO0NnQnVFbkM7O0FBQ0Q7O0VBRUUsZWhCMUVrQztDZ0IyRW5DOztBQUNEOztFQUVFLFdBQVU7RUFDViwyQkFBMEI7Q0FDM0I7O0FBQ0Q7O0VBRUUsV0FBVTtFQUNWLHlCQUF3QjtDQUN6Qjs7QUFDRDs7RUFFRSxlaEJ4RmtDO0NnQnlGbkM7O0FBQ0Q7O0VBRUUsV0FBVTtFQUNWLHlCQUF3QjtDQUN6Qjs7QUFDRDs7RUFFRSxXQUFVO0VBQ1YsZWhCbEdrQztFZ0JtR2xDLDJCQUEwQjtDQUMzQjs7QUNuSUQ7O0VBSVksOEJBQTZCO0NBQ2hDOztBQUdUO0VBQ0ksVWpCSjBCO0VpQksxQixpQkFBZ0I7RUFDaEIsZ0JqQjJJK0I7RWlCMUkvQixXQUFVO0NBc0NiOztBQTFDRDtFQU9RLGVqQk40QjtFaUJPNUIsaUJqQjBJd0I7RWlCekl4QixnQmpCK0trQztFaUI5S2xDLG1CakI2S2tDO0VpQjVLbEMsZ0JqQjBIMkI7Q2lCekg5Qjs7QUFaTDtFQWVhLHFCQUFvQjtFQUNwQixpQmpCK0o2QjtFaUI5SjdCLG1CakI2SjZCO0NpQmpKaEM7O0FBN0JWOztFQXFCZ0Isc0JBQXFCO0VBQ3JCLFVBQVM7Q0FDWjs7QUF2QmI7RUF5QmdCLG1CQUFrQjtFQUNsQixrQkFBaUI7RUFDakIsU0FBUTtDQUNYOztBQTVCYjtFQStCYSxpQmpCb0o0QjtFaUJuSjVCLGtCakJ5Q3VCO0NpQnhDMUI7O0FBakNWO0VBb0NPLGlCakJ3Sm1DO0VpQnZKbkMsZ0JqQjJGNEI7Q2lCMUY5Qjs7QUF0Q0w7RUF3Q1EsZ0JqQjJGMkI7Q2lCMUY5Qjs7QUFHTDtFQUNJLG1CakJxRThCO0VpQnBFOUIsaUJBQWdCO0NBQ25COztBQUVEO0VBQ0ksZWpCakRnQztFaUJrRGhDLDBCakIzRGdDO0VpQjREaEMsaUNqQjdCZ0M7Q2lCK0VuQzs7QUFyREQ7RUFNUSwwQkFBOEI7Q0FDakM7O0FBUEw7RUFVWSxlakIxRHdCO0NpQjJEM0I7O0FBWFQ7Ozs7O0VBa0JZLDhCQUE2QjtFQUM3QixtQkFBa0I7RUFDbEIsZWpCekJ3QjtFV2pEbEMsV00yRTRCO0VOeEU1QiwyQkFBUTtDTXlFRDs7QUF0QlQ7O0VBMEJZLDZCakIvQndCO0VpQmdDeEIsMEJqQmhDd0I7Q2lCa0MzQjs7QUE3QlQ7OztFQWtDWSw4QkFBNkI7RUFDN0IsZWpCeEN3QjtDaUJ5QzNCOztBQXBDVDtFQXVDWSw4QkFBNkI7Q0FDaEM7O0FBeENUO0VBNkNRLGVqQmxENEI7RWlCbUQ1QixzQmpCbkQ0QjtDaUJvRC9COztBQS9DTDs7O0VBbURZLGVqQjVFd0I7Q2lCNkUzQjs7QUFHVDtFYnJHRSx5QmFzR3lCO0VickdqQixpQmFxR2lCO0NBZTFCOztBQWhCRDtFSnJHSSxpQkFBZ0I7RUFDaEIsVUFBUTtFQUNSLFdBQVU7RUFDViw4QkFBNkI7RUlzR3pCLGFBQVk7RUFDWixnQmpCaUMyQjtFaUJoQzNCLG1CakIwQzRCO0VpQnpDNUIsZWpCekY0QjtDaUIwRi9COztBQUNEOztFQUVJLGVqQmxINEI7RWlCbUg1QixVakJ2SHNCO0VpQndIdEIsa0RqQnBINEI7Q2lCcUgvQjs7QUFJTDtFQ2pJSSwwQmxCbU4yQjtDaUJoRjlCOztBQUNEO0VDcElJLDBCbEJvTjJCO0NpQjlFOUI7O0FBQ0Q7RUN2SUksMEJsQnFOMkI7Q2lCNUU5Qjs7QUFDRDtFQzFJSSwwQmxCc04yQjtDaUIxRTlCOztBQUNEO0VDN0lJLDBCbEJ1TjJCO0NpQnhFOUI7O0FBRUQ7RUFDSSxrQkFBaUI7RUFDakIsOEJBQTZCO0VBQzdCLHFDQUFvQztDQUN2Qzs7QUFFRDtFQUNJLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsVWpCdEowQjtDaUJvSzdCOztBQWpCRDtFQU1RLDBCakJySjRCO0NpQnNKL0I7O0FBUEw7O0VBVVEsMEJBQXlCO0NBQzVCOztBQVhMOztFQWVRLDhCQUE2QjtDQUNoQzs7QUFHTDtFTnhLRSxhTTRLeUI7RU56S3pCLDBCQUFRO0NNcUxMOztBQWhCTDtFQVVZLDhCQUE2QjtFTmxMdkMsV01vTDRCO0VOakw1QiwyQkFBUTtDTW1MRDs7QUFkVDtFQW9CUSxlakJ0TDRCO0NpQndML0I7O0FBdEJMO0VBNEJZLGVqQjlMd0I7RWlCZ014QixzQmpCaE13QjtFV05sQyxhTXdNOEI7RU5yTTlCLDBCQUFRO0NNdU1EOztBQWxDVDs7Ozs7Ozs7O0VBOENZLDhCQUE2QjtFQUU3QixtQkFBa0I7RUFFbEIsZWpCcE53QjtFV05sQyxXTTRONEI7RU56TjVCLDJCQUFRO0NNMk5EOztBQXREVDtFQTBEWSw4QkFBNkI7Q0FFaEM7O0FBNURUOzs7OztFQW9FWSw2QmpCdE93QjtFaUJ3T3hCLDBCakJ4T3dCO0NpQjBPM0I7O0FBeEVUOzs7OztFQWdGWSw4QkFBNkI7RUFFN0IsZWpCcFB3QjtFV05sQyxXTTRQNEI7RU56UDVCLDJCQUFRO0NNMlBEOztBQXRGVDtFQTRGUSxlakI5UDRCO0VpQmdRNUIsc0JqQmhRNEI7Q2lCa1EvQjs7QUFoR0w7RUFvR1EsZWpCL080QjtFaUJpUDVCLDBCakJ4UTRCO0VXTmxDLGFNZ1J5QjtFTjdRekIsMEJBQVE7Q00rUUw7O0FBMUdMOzs7Ozs7Ozs7RUFzSFEsc0JqQnhSNEI7RVdObEMsV01nU3dCO0VON1J4QiwyQkFBUTtDTStSTDs7QUVyU0w7RUFDSSw2QkFBNEI7RUFDNUIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtDQXNDcEI7O0FBekNEO0VBTVUsaUJBQWdCO0VBQ2hCLFVBQVM7RUFDVCxXQUFVO0VBQ1Ysb0JBQW1CO0NBa0JwQjs7QUEzQlQ7RUFXb0Isc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLG1CQUFrQjtDQUN6Qjs7QUFoQmI7RUFrQmdCLGVuQmhCSTtFbUJpQkosZUFBYztFQUNkLG1CQUFrQjtDQU1yQjs7QUExQmI7RUF3Qm9CLGVuQmtCZ0I7Q21CakJuQjs7QUF6QmpCO0VBOEJRLGVuQjVCWTtFbUI2QlosbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2Ysb0JBQW1CO0VBQ25CLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsbUJBQWtCO0NBQ3JCOztBQXJDTDtFQXVDUSxlbkJzQjRCO0NtQnJCL0I7O0FDeENMO0VBQ0ksMEJwQllnQztFb0JYaEMsZUFBYztFQUNkLG1CcEJ1SDhCO0VvQnRIOUIsZUFBYztFQUNkLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixjQUFhO0VUTmYsV1NRb0I7RVRMcEIseUJBQVE7RVBLUixrRko2SnNGO0VJNUo5RSwwRUo0SjhFO0NvQjlEdkY7O0FBM0ZHO0VUWkYsV1Nhd0I7RVRWeEIsMkJBQVE7RVNXRixvQkFBbUI7Q0FDdEI7O0FBbEJMO0VBcUJRLDBCcEJQNEI7RW9CUTVCLFlBQVc7Q0FDZDs7QUF2Qkw7RUEwQlEsZXBCTTRCO0VvQkw1QixnQnBCK0cyQjtFb0I5RzNCLG1CcEIyRTRCO0NvQjFFL0I7O0FBR0Q7RUFDRyw2QnBCcUlpQztFSTNKdEMseUJnQnVCNkI7RWhCdEJyQixpQmdCc0JxQjtFaEJzQnpCLG9DSndIZ0M7RUlwSDlCLDRCSm9IOEI7RUl4SWpDLDRCQUFnQztFQUk3QixvQkFBd0I7RUFwQjVCLHFDSjBKd0Q7RUl0SnhELDZCSnNKd0Q7RW9CNUlyRCxrQkFBaUI7Q0FDbkI7O0FBQ0Q7RUFDSSxpQkFBZ0I7Q0FDbkI7O0FBMUNMO0VBNkNPLGVwQjNDYTtFb0I0Q2IsZ0JwQjBGNEI7RW9CekY1QixtQnBCd0Q2QjtFSXZFaEMseUJBQXdCO0VBSXhCLGlCQUFnQjtDZ0JpQmY7O0FBckRMO0VBbURXLGlCQUFnQjtDQUNuQjs7QUFwRFI7RUF1RFEsc0JBQXFCO0NBQ3hCOztBQUVEO0VBQ0ksZ0JBQWU7Q0FDbEI7O0FBNURMO0VBK0RPLDRCcEIyRDJCO0VvQjFEM0IsNkJwQjBEMkI7Q29CekQ3Qjs7QUFqRUw7RUFvRVEsK0JwQnNEMEI7RW9CckQxQixnQ3BCcUQwQjtDb0JwRDdCOztBQUVEO0VBQ0ksaUJBQWdCO0VBQ2hCLHNCQUFxQjtDQUN4Qjs7QUEzRUw7O0VBK0VRLDBCcEJ2Q2U7RW9Cd0NmLGdDcEI3RWtDO0VvQjhFbEMsV0FBVTtFQUNWLHNCQUFxQjtDQUN4Qjs7QUFuRkw7O0VBdUZRLDBCcEIzQzRCO0NvQjRDL0I7O0FBeEZMOztFQTJGUSwwQnBCdkM0QjtDb0J3Qy9COztBQTVGTDs7RUErRlEsMEJwQi9DNEI7Q29CZ0QvQjs7QUFoR0w7O0VBbUdRLDBCcEIzQzRCO0NvQjRDL0I7O0FBcEdMOztFQXVHUSwwQnBCMUM0QjtDb0IyQy9COztBQUtMO0VBQ0ksaUJBQWdCO0NBQ25COztBQUNEO0VBQ0ksa0JBQWlCO0NBQ3BCOztBQ2xIRDtFQUNJLFVBQVM7RUFDVCxtQnJCd0g4QjtFcUJ2SDlCLHVEQUE4QztVQUE5QywrQ0FBOEM7RUFDOUMsMEJBQXlCO0VBQ3pCLGVyQmlQK0I7RXFCaFAvQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLFdBQVU7RUFFViw2QkFBNEI7RUFDNUIsOEJBQTZCO0VBQzdCLDJCQUFzQjtNQUF0Qix1QkFBc0I7RUFDdEIsdUJBQXNCO0NBbUt6Qjs7QUFoTEQ7RUFnQlEsb0JBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxpQkFBZ0I7Q0FDbkI7O0FBbEJMO0VBcUJRLGVBQWM7Q0FDakI7O0FBdEJMO0VBeUJRLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsY0FBYTtFQUNiLDJCQUFnRTtFQUNoRSxtQkFBa0I7RUFDbEIscUNBQW9DO0VBRXBDLDZCQUE0QjtDQUsvQjs7QUFyQ0w7RUFtQ1ksWUFBVztDQUNkOztBQXBDVDtFQXVDUSw2QkFBNEI7Q0FDL0I7O0FBeENMO0VBMENRLHFCQUFvQjtDQUN2Qjs7QUEzQ0w7RUE2Q1EsZ0JyQndHMkI7RXFCdkczQixlckI1Q1k7Q3FCNkNmOztBQS9DTDtFQWtEUSxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtDQUN0Qjs7QUFyREw7RUF3RFEsZ0JyQmtGMkI7RXFCakYzQixVQUFTO0NBQ1o7O0FBMURMOztFQTZEUSxnQnJCMkUyQjtFcUIxRTNCLGlCckI2RndCO0VxQjVGeEIsZXJCL0I0QjtFcUJnQzVCLG1CQUFrQjtDQUlyQjs7QUFwRUw7O0VBa0VZLGdCckJtRnVCO0NxQmxGMUI7O0FBbkVUO0VBdUVRLGdCQUFlO0VBQ2YsbUJBQWtCO0NBQ3JCOztBQXpFTDtFQTRFUSxVckJ2RXNCO0VxQndFdEIsZXJCeUsyQjtFcUJ4SzNCLGlCckI0RXdCO0NxQjNFM0I7O0FBL0VMO0VBaUZRLFlBQVc7RUFDWCxhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixrQkFBaUI7Q0FDcEI7O0FBdEZMO0VBd0ZRLFdBQVU7RUFDVixrQkFBaUI7Q0FVcEI7O0FBbkdMO0VBNEZZLGVBQWM7Q0FDakI7O0FBN0ZUO0VBZ0dZLGdCQUFlO0VBQ2YsbUJBQWtCO0NBQ3JCOztBQWxHVDtFQXFHUSxlQUFjO0VBQ2QsaUJBQWdCO0NBTW5COztBQTVHTDtFQXdHWSxrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZixzQkFBcUI7Q0FDeEI7O0FBM0dUO0VBOEdRLHNCQUFxQjtDQUN4Qjs7QUEvR0w7RUFrSFEsZ0JyQndCMkI7RXFCdkIzQixpQnJCMEN3QjtFcUJ6Q3hCLDBCQUF5QjtDQUM1Qjs7QUFySEw7RUF1SFEsZ0JyQmlCMkI7Q3FCaEI5Qjs7QUF4SEw7RUEySFEsYUFBWTtFQUNaLGFBQVk7RUFDWixPQUFNO0VBQ04sV0FBVTtFQUNWLDBCckJoRzRCO0VxQmlHNUIsWUFBVztFQUNYLG1CQUFrQjtDQUNyQjs7QUFsSUw7RUFxSVEsb0JBQW1CO0VBQ25CLGNBQWE7Q0FDaEI7O0FBdklMOztFQTRJWSxtQkFBa0I7Q0FDckI7O0FBN0lUOztFQWlKWSxvQkFBbUI7Q0FDdEI7O0FBbEpUO0VBc0pRLG1CckI5QjJCO0VxQitCM0IsbUJBQWtCO0NBS3JCOztBQTVKTDtFQTBKWSxtQkFBa0I7Q0FDckI7O0FBM0pUO0VBOEpRLGVBQWM7RUFDZCxpQkFBZ0I7Q0FDbkI7O0FBaEtMO0VBa0tRLGVBQWM7RUFDZCxrQkFBaUI7Q0FJcEI7O0FBdktMO0VBcUtZLFVBQVM7Q0FDWjs7QUF0S1Q7RUEwS1ksa0JBQWlCO0NBSXBCOztBQTlLVDtFQTRLZ0IsaUNyQjlKb0I7Q3FCK0p2Qjs7QUFJYjtFQUVRLDJCQUEwQjtFQUMxQixjQUFhO0VBQ2IsbUJBQWtCO0VBQ2xCLGlCQUFnQjtDQUtuQjs7QUFWTDtFQVFZLFlBQVc7Q0FDZDs7QUFUVDtFQVlRLFVBQVM7RUFDVCxrQkFBaUI7Q0FDcEI7O0FBZEw7RUFnQlEsbUJBQWtCO0VBQ2xCLHFCQUFvQjtFQUNwQixrQkFBaUI7Q0FPcEI7O0FBekJMO0VBb0JZLGVyQjNKd0I7Q3FCK0ozQjs7QUF4QlQ7RUFzQmdCLGVyQmdEbUI7Q3FCL0N0Qjs7QUF2QmI7RUEyQlEsYUFBWTtFQUNaLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtDQVF0Qjs7QUF2Q0w7RUFrQ1ksMEJyQjFNd0I7Q3FCMk0zQjs7QUFuQ1Q7RUFxQ1ksMEJyQmlDdUI7Q3FCaEMxQjs7QUF0Q1Q7RUF5Q1EsaUJBQWdCO0VBQ2hCLGtCQUFpQjtDQUNwQjs7QUEzQ0w7RUE2Q1EsaUJBQWdCO0NBQ25COztBQTlDTDtFQWdEUSxrQkFBaUI7Q0FDcEI7O0FBakRMO0VBcURZLGNBQWE7RUFDYixhQUFZO0NBQ2Y7O0FBSVQ7RUFFUSxjQUFhO0VBQ2Isa0JBQWlCO0NBS3BCOztBQVJMO0VBTVksYUFBWTtDQUNmOztBQUdUOztFQUdRLHVCQUFzQjtDQUN6Qjs7QUFKTDs7RUFNUSxpQkFBZ0I7Q0FDbkI7O0FBRUw7RUFDSSw4QkFBNkI7RUFDN0IseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixpQkFBZ0I7Q0FLbkI7O0FBUkQ7RUFNUSxtQkFBa0I7Q0FDckI7O0FDcEpIO0VBeERBLHlCckI3QmdDO0VxQjhCaEMsMEJyQjlCZ0M7RXFCK0JoQyxpQnJCOUJrQjtFcUIrQmxCLGVyQjVCcUI7Q3FCbUZwQjs7QUFFRDs7RUFyRUEsZUFBYztFQUNkLHFCQUFvQjtFQUVwQixxQkFBb0I7RUFFcEIsY0FBYTtDQW1FWjs7QUFFRDtFQTlGQSw0QkErRm9DO0VBN0ZwQyx5QkE2Rm9DO0VBNUZwQyxzQkE0Rm9DO0VBM0ZwQyw2QkEyRmdEO0VBekZoRCwwQkF5RmdEO0VBeEZoRCw0QkF3RmdEO0VBckY5QyxpQkFBZ0I7RUF1RmhCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQXBHQSw4QkFxR3NDO0VBbkd0QywyQkFtR3NDO0VBbEd0Qyx3QkFrR3NDO0VBakd0Qyw2QkFpR2tEO0VBL0ZsRCwwQkErRmtEO0VBOUZsRCw0QkE4RmtEO0VBM0ZoRCxpQkFBZ0I7RUE2RmhCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQTFHQSw0QkEyR29DO0VBekdwQyx5QkF5R29DO0VBeEdwQyxzQkF3R29DO0VBdkdwQywyQkF1RzhDO0VBckc5Qyx3QkFxRzhDO0VBcEc5QywwQkFvRzhDO0VBL0Y1QyxrQkFBaUI7RUFpR2pCLGlCQUFnQjtDQUNqQjs7QUFFRDtFQWhIQSw0QkFpSG9DO0VBL0dwQyx5QkErR29DO0VBOUdwQyxzQkE4R29DO0VBN0dwQyw2QkE2R2dEO0VBM0doRCwwQkEyR2dEO0VBMUdoRCw0QkEwR2dEO0VBdkc5QyxpQkFBZ0I7RUF5R2hCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQXRIQSw0QkF1SG9DO0VBckhwQyx5QkFxSG9DO0VBcEhwQyxzQkFvSG9DO0VBbkhwQyx5QkFtSDRDO0VBakg1QyxzQkFpSDRDO0VBaEg1Qyx3QkFnSDRDO0VBekcxQyxtQkFBa0I7RUEyR2xCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQTVIQSw4QkE2SHNDO0VBM0h0QywyQkEySHNDO0VBMUh0Qyx3QkEwSHNDO0VBekh0Qyx5QkF5SDhDO0VBdkg5QyxzQkF1SDhDO0VBdEg5Qyx3QkFzSDhDO0VBL0c1QyxtQkFBa0I7RUFpSGxCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQWxJQSw0QkFtSW9DO0VBaklwQyx5QkFpSW9DO0VBaElwQyxzQkFnSW9DO0VBL0hwQyw2QkErSGdEO0VBN0hoRCwwQkE2SGdEO0VBNUhoRCw0QkE0SGdEO0VBekg5QyxpQkFBZ0I7RUEySGhCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQXhJQSw4QkF5SXNDO0VBdkl0QywyQkF1SXNDO0VBdEl0Qyx3QkFzSXNDO0VBckl0Qyw2QkFxSWtEO0VBbklsRCwwQkFtSWtEO0VBbElsRCw0QkFrSWtEO0VBL0hoRCxpQkFBZ0I7RUFpSWhCLG1CQUFrQjtDQUNuQjs7QUFFRDtFQTlJQSwwQkFnSmtDO0VBOUlsQyx1QkE4SWtDO0VBN0lsQyxvQkE2SWtDO0VBNUlsQywyQkE0STRDO0VBMUk1Qyx3QkEwSTRDO0VBekk1QywwQkF5STRDO0VBcEkxQyxrQkFBaUI7RUFzSWpCLGlCQUFnQjtDQUNqQjs7QUFFRDtFQXJKQSwwQkFzSmtDO0VBcEpsQyx1QkFvSmtDO0VBbkpsQyxvQkFtSmtDO0VBbEpsQyw2QkFrSjhDO0VBaEo5QywwQkFnSjhDO0VBL0k5Qyw0QkErSThDO0VBNUk1QyxpQkFBZ0I7RUE4SWhCLGlCQUFnQjtDQUNqQjs7QUFFRDtFQXZIQSwyQnJCN0JnQztFcUI4QmhDLGtCckI1QmlCO0VxQitCZixzQnJCaENtQjtDcUJxSnBCOztBQUVEO0VBbEhBLG1CckIvQmtCO0VxQmdDbEIsc0JyQjlCb0I7Q3FCaUpuQjs7QUFFRDtFQWpIQSxXQUFVO0VBQ1Ysa0JyQnZDaUI7Q3FCeUpoQjs7QUFFRDtFQTVHQSxhQUFZO0VBQ1osa0JyQjFDbUI7Q3FCdUpsQjs7QUFFRDtFQTNHQSxXQUFVO0VBQ1YsbUJyQjVDaUI7Q3FCd0poQjs7QUFFRDtFQTFHQSxXQUFVO0VBQ1YsbUJyQjlDbUI7Q3FCeUpsQjs7QUF2R0Q7RUFDRSxnQnRCcERnQztDc0JxRGpDOztBQUVEO0VBQ0UsY3RCeERnQztDc0J5RGpDOztBQU5EO0VBQ0UsZ0J0QmhEZ0M7Q3NCaURqQzs7QUFFRDtFQUNFLGN0QnBEZ0M7Q3NCcURqQzs7QUFORDtFQUNFLGdCdEIzQ2dDO0NzQjRDakM7O0FBRUQ7RUFDRSxjdEIvQ2dDO0NzQmdEakM7O0FBTkQ7RUFDRSxnQnRCeERnQztDc0J5RGpDOztBQUVEO0VBQ0UsY3RCNURnQztDc0I2RGpDOztBQU5EO0VBQ0UsZ0J0QjVEZ0M7Q3NCNkRqQzs7QUFFRDtFQUNFLGN0QmhFZ0M7Q3NCaUVqQzs7QUFORDtFQUNFLGlDdEJwRGdDO0NzQnFEakM7O0FBRUQ7RUFDRSwrQnRCeERnQztDc0J5RGpDOztBQU5EO0VBQ0UsaUN0QnhEZ0M7Q3NCeURqQzs7QUFFRDtFQUNFLCtCdEI1RGdDO0NzQjZEakM7O0FBTkQ7RUFDRSxnQ3RCaERnQztDc0JpRGpDOztBQUVEO0VBQ0UsOEJ0QnBEZ0M7Q3NCcURqQzs7QUFORDtFQUNFLCtCdEIzQ2dDO0NzQjRDakM7O0FBRUQ7RUFDRSw2QnRCL0NnQztDc0JnRGpDOztBQU5EO0VBQ0UsaUN0QjVEZ0M7Q3NCNkRqQzs7QUFFRDtFQUNFLCtCdEJoRWdDO0NzQmlFakM7O0FBTkQ7RUFDRSxpQ3RCcERnQztDc0JxRGpDOztBQUVEO0VBQ0UsK0J0QnhEZ0M7Q3NCeURqQzs7QUFORDtFQUNFLGlDdEJ4RGdDO0NzQnlEakM7O0FBRUQ7RUFDRSwrQnRCNURnQztDc0I2RGpDOztBQU5EO0VBQ0UsZ0N0QmhEZ0M7Q3NCaURqQzs7QUFFRDtFQUNFLDhCdEJwRGdDO0NzQnFEakM7O0FBTkQ7RUFDRSwrQnRCM0NnQztDc0I0Q2pDOztBQUVEO0VBQ0UsNkJ0Qi9DZ0M7Q3NCZ0RqQzs7QUFORDtFQUNFLGlDdEI1RGdDO0NzQjZEakM7O0FBRUQ7RUFDRSwrQnRCaEVnQztDc0JpRWpDOztBQW1IRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHFCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHVCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHNCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHVCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULHNCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQXVNRztFQS9OSixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFlBSDZDO0NBa094Qzs7QUE3Tkw7RUFDRSxlQUFjO0VBQ2QsWUFBVztFQUNYLFlBQVc7RUFDWCxTQUFRO0VBQ1IsVUFBUztFQUNULG9CQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVztDQUNaOztBQUVDO0VBQ0EsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztDQUNSOztBQ3pCSDtFQUNJO0lBQ0ksaUJBQWdCO0dBQ25CO0VBQ0Q7SUFDSSxpQkFBZ0I7SUFDaEIsb0JBQW1CO0lBQ25CLGtCQUFpQjtJQUNqQixtQkFBa0I7R0FDckI7RUFDRDtJQUNJLGNBQWE7R0FDaEI7RUFDRDs7SUFFSSxnREFBdUM7WUFBdkMsd0NBQXVDO0lBQ3ZDLGtIQUF5RztJQUF6RywwR0FBeUc7R0FDNUc7RUFDRDtJQUNJLDhDQUFxQztZQUFyQyxzQ0FBcUM7R0FDeEM7RUFFRDtJQUNJLGtDdkJUNEI7SXVCVTVCLG9DQUF3QztJQUN4QyxxQ0FBeUM7SUFDekMsWUFBVztJQUNYLHNCQUFxQjtJQUNyQixtQkFBa0I7SUFDbEIsWUFBVztJQUNYLFdBQVU7R0FDYjtFQUNEO0lBQ0ksa0N2QnBCNEI7SXVCcUI1QixvQ0FBd0M7SUFDeEMscUNBQXlDO0lBQ3pDLFlBQVc7SUFDWCxzQkFBcUI7SUFDckIsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxXQUFVO0dBQ2I7RUFFRDtJQUNJLFlBQVc7SUFDWCxXQUFVO0dBQ2I7RUFFRDtJQUNJLFlBQVc7SUFDWCxXQUFVO0dBQ2I7RUFFRDtJQUVRLGtCQUFpQjtHQUNwQjtFQUdMO0lBR1MsZUFBYztHQUNmO0VBSVI7SUFDSSx5QkFBd0I7R0FDM0I7RUFFRDtJQUdZLGFBQVk7R0FDZjtFQUpUO0lBTVksbUJBQWtCO0dBQ3JCO0VBUFQ7SUFTWSxvQkFBbUI7R0FDdEI7Q0NxdUdaOztBRGh1R0QsNkNBQTZDO0FBRTdDO0VBQ0k7SUFDSSxjQUFhO0dBQ2hCO0VBRUQ7SUFDSSxZQUFXO0dBQ2Q7RUFDRDtJQUNJLGtCQUFpQjtJQUNqQixzQ0FBcUM7R0FDeEM7RUFDRDtJQUNLLG1CQUFrQjtHQUN0QjtFQUNEO0lBQ0ksZUFBYztHQUNqQjtFQUNEO0luQjFEQywwQ0FBNkM7SUFJMUMsa0NBQW9DO0lBNUJ4QyxvRW1Cb0ZvRTtJbkJoRnBFLDREbUJnRm9FO0lBQ2pFLFFBQU87SUFDUCx3QkFBdUI7R0FDekI7RUFDRDtJQUNLLFFBQU87SUFDTixZQUFXO0luQjFGakIsb0VtQjJGc0U7SW5CdkZ0RSw0RG1CdUZzRTtJQUNqRSxtQkFBa0I7R0FDdEI7RUFDRDs7O0lBR0kseUJBQXdCO0dBQzNCO0VBRUQ7SUFDSSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLGVBQWM7R0FDakI7RUFFRDtJQUNJLGdCQUFlO0lBQ2YsZUFBYztJQUNkLE9BQU07SUFDTixhQUFZO0lBQ1osYUFBWTtJQUNaLFNBQVE7SUFDUixjQUFhO0lBQ2Isb0JBQW1CO0lBQ25CLHVCQUFzQjtJQUN0QixvQkFBbUI7SUFDbkIsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsZ0JBQWU7SW5CaEdsQiw0Q0FBNkM7SUFJMUMsb0NBQW9DO0lBNUJ4QyxvRW1CMkhxRTtJbkJ2SHJFLDREbUJ1SHFFO0dBNEdwRTtFQTdIRDtJQW9CUSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLG1CQUFrQjtJQUNsQixhQUFZO0lBQ1osa0R2QjNId0I7WXVCMkh4QiwwQ3ZCM0h3QjtHdUI0SDNCO0VBekJMO0lBNEJRLGNBQWE7SUFDYixxQkFBcUM7R0FtRXhDO0VBaEdMO0lBa0NnQixnQkFBZTtJQUNmLGV2QjdIRztJdUI4SEgsMEJBQXlCO0lBQ3pCLGlCQUFnQjtJQUNoQixnQnZCOUJlO0l1QitCZixtQnZCVGdCO0l1QlVoQixnQkFBZTtHQXlCbEI7RUFqRWI7SUE0Q29CLGV2QnBJWTtHdUJxSWY7RUE3Q2pCOzs7SUFtRG9CLHNCQUFxQjtHQUN4QjtFQXBEakI7SUF1RG9CLGFBQVk7SUFDWixtQkFBa0I7SUFDbEIsVUFBUztHQUNaO0VBMURqQjtJQTZEb0IsZ0JBQWU7SUFDZixtQkFBa0I7SUFDbEIsa0JBQWlCO0dBQ3BCO0VBaEVqQjtJQXNFb0IsbUJBQWtCO0lBQ2xCLGdDdkIxS1k7SXVCMktaLG1DQUFrQztJQUNsQyxzQ0FBcUM7SUFDckMsWUFBVztJQUNYLG1CdkJuR1c7SXVCb0dYLFVBQVM7SUFDVCxVQUFTO0dBQ1o7RUE5RWpCO0lBaUZvQixtQkFBa0I7SUFDbEIsZ0N2QkRPO0l1QkVQLG1DQUFrQztJQUNsQyxzQ0FBcUM7SUFDckMsWUFBVztJQUNYLG1CdkI5R1c7SXVCK0dYLFdBQVU7SUFDVixVQUFTO0dBQ1o7RUF6RmpCO0lBbUdRLE9BQU07SUFDTixRQUFPO0lBQ1AsYUFBWTtJQUNaLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsMEJ2QnZCbUI7SXVCd0JuQiw2SkFBNkg7SUFBN0gseUhBQTZIO0lBQzdILGVBQWM7SUFDZCxZQUFXO0lBQ1gsV0FBVTtHQUNiO0VBN0dMO0laeEhBLE9BQU07SUFDTixRQUFPO0lBQ1AsYUFBWTtJQUNaLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsd0NBQXlDO0lBQ3pDLGVBQWM7SUFDZCxZQUFXO0lBQ1gsV0FBVTtHWWdPTDtFQWhITDtJQW1IUSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGtCQUFpQjtJQUNqQixxQkFBb0I7R0FDdkI7RUF2SEw7SUEwSFEsWUFBVztJQUNYLGVBQWM7R0FDakI7RUFFTDtJbkJoTkMsMENBQTZDO0lBSTFDLGtDQUFvQztHbUI4TXZDO0VBQ0Q7SUFDSSxhQUFZO0dBQ2Y7RUFDRDtJQUNJLFFBQU87SW5Cdk5WLDZDQUE2QztJQUkxQyxxQ0FBb0M7R21CcU52QztFQUNEO0lBQ00sZUFBYztJQUNkLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsZUFBYztHQUNuQjtFQUVEO0lBQ0kseUJBQXdCO0lBQ3hCLFlBQVc7SUFDWCxhQUFZO0dBQ2Y7RUFDRDs7O0lBR0UsK0JBQThCO0dBQy9CO0VBQ0Q7SUFDRSxTQUFRO0luQjFMVCwrQ0FBd0M7SUFFeEMsZ0NBQXlCO0lBQ3pCLHNDQUFxQztJQUVyQyw4QkFBNkI7R21CdUw3QjtFQUNEO0lBQ0UsV0FBVTtHQUNYO0VBQ0Q7SUFDRSxZQUFXO0luQmpNWixrREFBd0M7SUFFeEMsbUNBQXlCO0lBQ3pCLHNDQUFxQztJQUVyQyw4QkFBNkI7R21COEw3QjtFQUNEO0lBQ0UsU0FBUTtJbkJyTVQsNENBQXdDO0lBRXhDLDZCQUF5QjtJQUN6QixzQ0FBcUM7SUFFckMsOEJBQTZCO0dtQmtNN0I7RUFDRDtJQUNFLFdBQVU7R0FDWDtFQUNEO0lBQ0UsWUFBVztJbkI1TVosK0NBQXdDO0lBRXhDLGdDQUF5QjtJQUN6QixzQ0FBcUM7SUFFckMsOEJBQTZCO0dtQnlNN0I7RW5Cck1EO0lBQ0U7TUFBSSxTQUFRO01BQUcsZ0NBQXVCO2NBQXZCLHdCQUF1QjtLb0JxOEd2QztJcEJwOEdDO01BQUssU0FBUTtNQUFHLGtDQUF5QjtjQUF6QiwwQkFBeUI7S29CdzhHMUM7SXBCdjhHQztNQUFLLGtDQUF5QjtjQUF6QiwwQkFBeUI7S29CMDhHL0I7SXBCejhHQztNQUFNLGtDQUF5QjtjQUF6QiwwQkFBeUI7S29CNDhHaEM7R0FDRjtFcEIzOEdDO0lBQ0U7TUFBSSxTQUFRO01BQUcsZ0NBQStCO0tvQis4Ry9DO0lwQjk4R0M7TUFBSyxTQUFRO01BQUcsa0NBQWlDO0tvQms5R2xEO0lwQmo5R0M7TUFBSyxrQ0FBaUM7S29CbzlHdkM7SXBCbjlHQztNQUFPLGtDQUFpQztLb0JzOUd6QztHQUNGO0VwQjU4R0M7SUFDRTtNQUFLLFNBQVE7TUFBRyxrQ0FBeUI7Y0FBekIsMEJBQXlCO0tvQmcrRzFDO0lwQi85R0M7TUFBTSxrQ0FBeUI7Y0FBekIsMEJBQXlCO0tvQmsrR2hDO0lwQmorR0M7TUFBTSxnQ0FBdUI7Y0FBdkIsd0JBQXVCO0tvQm8rRzlCO0lwQm4rR0M7TUFBTyxTQUFRO01BQUcsNkJBQW9CO2NBQXBCLHFCQUFvQjtLb0J1K0d2QztHQUNGO0VwQnIrR0M7SUFDRTtNQUFLLFNBQVE7TUFBRyxrQ0FBaUM7S29CeStHbEQ7SXBCeCtHQztNQUFNLGtDQUFpQztLb0IyK0d4QztJcEIxK0dDO01BQU0sZ0NBQStCO0tvQjYrR3RDO0lwQjUrR0M7TUFBTyxTQUFRO01BQUcsNkJBQTRCO0tvQmcvRy9DO0dBQ0Y7RXBCcitHQztJQUNFO01BQUksWUFBVztNQUFHLGdDQUF1QjtjQUF2Qix3QkFBdUI7S29CeS9HMUM7SXBCeC9HQztNQUFLLFlBQVc7TUFBRyxtQ0FBMEI7Y0FBMUIsMkJBQTBCO0tvQjQvRzlDO0lwQjMvR0M7TUFBSyxtQ0FBMEI7Y0FBMUIsMkJBQTBCO0tvQjgvR2hDO0lwQjcvR0M7TUFBTSxtQ0FBMEI7Y0FBMUIsMkJBQTBCO0tvQmdnSGpDO0dBQ0Y7RXBCLy9HQztJQUNFO01BQUksWUFBVztNQUFHLGdDQUErQjtLb0JtZ0hsRDtJcEJsZ0hDO01BQUssWUFBVztNQUFHLG1DQUFrQztLb0JzZ0h0RDtJcEJyZ0hDO01BQUssbUNBQWtDO0tvQndnSHhDO0lwQnZnSEM7TUFBTSxtQ0FBa0M7S29CMGdIekM7R0FDRjtFcEJoZ0hDO0lBQ0U7TUFBSyxZQUFXO01BQUUsbUNBQTBCO2NBQTFCLDJCQUEwQjtLb0JvaEg3QztJcEJuaEhDO01BQU0saUNBQXdCO2NBQXhCLHlCQUF3QjtLb0JzaEgvQjtJcEJyaEhDO01BQU0saUNBQXdCO2NBQXhCLHlCQUF3QjtLb0J3aEgvQjtJcEJ2aEhDO01BQU8sWUFBVztNQUFFLDZCQUFvQjtjQUFwQixxQkFBb0I7S29CMmhIekM7R0FDRjtFcEIxaEhDO0lBQ0U7TUFBSSxZQUFXO01BQUUsbUNBQWtDO0tvQjhoSHBEO0lwQjdoSEM7TUFBSyxpQ0FBZ0M7S29CZ2lIdEM7SXBCL2hIQztNQUFLLGlDQUFnQztLb0JraUh0QztJcEJqaUhDO01BQU0sWUFBVztNQUFFLDZCQUE0QjtLb0JxaUhoRDtHQUNGO0VEcjZHQztJQUNFO01BQUksV0FBVTtLQ3c3R2Y7SUR2N0dDO01BQU0sV0FBVTtLQzA3R2pCO0dBQ0Y7RURyN0dDO0lBQ0U7TUFBSSxXQUFVO0tDZzhHZjtJRC83R0M7TUFBTSxXQUFVO0tDazhHakI7R0FDRjtFRGg4R0M7SUFDSSw0Q0FBMkM7R0FDOUM7RUFFRDtJQUNJLGNBQWE7R0FDaEI7RUFFRDtJQUNJLGNBQWE7R0FRaEI7RUFURDtJQU1ZLDhCQUE2QjtHQUNoQztFQUlUO0lBQ0ksb0NBQW1DO0dBQ3RDO0VBQ0Q7SUFDSSxhQUFZO0lBQ1osWUFBVztJQUNYLGdCQUFlO0lBQ2YsV0FBVTtJQUNWLE9BQU07SUFDTixXQUFVO0lBQ1YsYUFBWTtJQUNaLFlBQVc7SUFDWCxjQUFhO0lBQ2IsbUJBQWtCO0dBQ3JCO0VBQ0Q7SUFDSSxpQkFBZ0I7R0FDbkI7RUFDRDtJQUNJLHlDQUF3QztHQUMzQztFQUNEO0lBQ0ksaUJBQWdCO0dBQ25CO0VBQ0Q7SUFDSSxXQUFVO0lBQ1YsdUJBQXNCO0lBQ3RCLGVBQWM7SUFDZCxvQkFBbUI7R0FDdEI7RUFDRDtJQUNJLFlBQVc7R0FDZDtFQUVEO0lBQ0ksd0JBQXVCO0dBQzFCO0VBQ0Q7SUFDSSxlQUFjO0dBQ2pCO0VBQ0Q7SUFDSSwwQkFBd0I7R0FDM0I7RUFDRDtJQUNJLFlBQVU7R0FDYjtFQUNEO0lBQ0ksaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxZQUFXO0lBQ1gsY0FBYTtJQUNiLDhCQUE2QjtJQUM3QixVQUFTO0lBQ1QseUJBQXdCO0lBQ3hCLGlCQUFnQjtHQUNuQjtFQUVEO0lBQ0ksZ0JBQWU7SUFDZixpQkFBZ0I7R0FDbkI7RUFDRDtJQUlRLDhCQUE2QjtHQUNoQztFQUlMO0lBQ0ksa0JBQWlCO0lBQ2pCLFlBQVc7R0FDZDtDQ203R0o7O0FEOTZHRDtFQUNJO0lBQ0ksbUJBQWtCO0lBQ2xCLG9CQUFtQjtHQUN0QjtFQUNEO0lBQ0ksa0JBQWlCO0dBQ3BCO0NDaTdHSjs7QUQ3NkdEO0VBQ0k7SUFDSSxZQUFXO0lBQ1gsb0JBQW1CO0lBQ25CLDBCQUF5QjtJQUN6QixtQkFBa0I7SUFDbEIsbUJBQWtCO0lBQ2xCLDZDQUE0QztJQUM1QyxrQ0FBaUM7R0FDcEM7Q0NnN0dKIiwiZmlsZSI6Ii9hc3NldHMvYWRtaW4vdmVuZG9yL3BhcGVyLWRhc2hib2FyZC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUGFwZXIgRGFzaGJvYXJkIC0gdjEuMS4yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAqIFByb2R1Y3QgUGFnZTogaHR0cDovL3d3dy5jcmVhdGl2ZS10aW0uY29tL3Byb2R1Y3QvcGFwZXItZGFzaGJvYXJkXG4gKiBDb3B5cmlnaHQgMjAxNyBDcmVhdGl2ZSBUaW0gKGh0dHA6Ly93d3cuY3JlYXRpdmUtdGltLmNvbSlcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL2NyZWF0aXZldGltb2ZmaWNpYWwvcGFwZXItZGFzaGJvYXJkL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQpXG5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiAqL1xuXG5cbkBpbXBvcnQgXCJwYXBlci92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJwYXBlci9taXhpbnNcIjtcblxuQGltcG9ydCBcInBhcGVyL3R5cG9ncmFwaHlcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJwYXBlci9taXNjXCI7XG5AaW1wb3J0IFwicGFwZXIvc2lkZWJhci1hbmQtbWFpbi1wYW5lbFwiO1xuQGltcG9ydCBcInBhcGVyL2JhZGdlc1wiO1xuQGltcG9ydCBcInBhcGVyL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJwYXBlci9pbnB1dHNcIjtcblxuQGltcG9ydCBcInBhcGVyL2FsZXJ0c1wiO1xuQGltcG9ydCBcInBhcGVyL3RhYmxlc1wiO1xuXG5AaW1wb3J0IFwicGFwZXIvY2hlY2tib3gtcmFkaW9cIjtcbkBpbXBvcnQgXCJwYXBlci9uYXZiYXJzXCI7XG5AaW1wb3J0IFwicGFwZXIvZm9vdGVyc1wiO1xuXG4vLyBGYW5jeSBTdHVmZlxuXG5AaW1wb3J0IFwicGFwZXIvZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJwYXBlci9jYXJkc1wiO1xuQGltcG9ydCBcInBhcGVyL2NoYXJ0aXN0XCI7XG5AaW1wb3J0IFwicGFwZXIvcmVzcG9uc2l2ZVwiO1xuXG5cblxuXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyLWRhc2hib2FyZC5zY3NzIiwiJHBocHZtcy1ibHVlOiAgICAgICAgICAgICAgICAjMDY3ZWMxICFkZWZhdWx0O1xuXG4kZm9udC1jb2xvcjogIzRiNDc0MyAhZGVmYXVsdDtcbiRmaWxsLWZvbnQtY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcblxuJG5vbmU6ICAgICAgICAgICAgICAgICAgICAgICAwICAgIWRlZmF1bHQ7XG4kYm9yZGVyLXRoaW46ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItdGhpY2s6ICAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kd2hpdGUtY29sb3I6ICAgICAgICAgICAgICAgICNGRkZGRkYgIWRlZmF1bHQ7XG4kd2hpdGUtYmc6ICAgICAgICAgICAgICAgICAgICNGRkZGRkYgIWRlZmF1bHQ7XG5cbiRzbW9rZS1iZzogICAgICAgICAgICAgICAgICAgI0Y1RjVGNSAhZGVmYXVsdDtcbiRwYWxlLWJnOiAgICAgICAgICAgICAgICAgICAgI0ZGRkNGNSAhZGVmYXVsdDtcbiRtZWRpdW0tcGFsZS1iZzogICAgICAgICAgICAgI0YxRUFFMCAhZGVmYXVsdDtcblxuJHRhYmxlLWxpbmUtY29sb3I6ICAgICAgICAgICAjQ0NDNUI5ICFkZWZhdWx0O1xuJG11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAjYTQ5ZTkzICFkZWZhdWx0O1xuXG4kYmxhY2stYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMzAsMzAsMzAsLjk3KSAhZGVmYXVsdDtcblxuJGJsYWNrLWNvbG9yOiAgICAgICAgICAgICAgICAjMzMzMzMzICFkZWZhdWx0O1xuJGJsYWNrLWhyOiAgICAgICAgICAgICAgICAgICAjNDQ0NDQ0ICFkZWZhdWx0O1xuXG4kd2hpdGUtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICNGRkZGRkYgIWRlZmF1bHQ7XG4vLyRibGFjay1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgIzIxMjEyMCAhZGVmYXVsdDtcbi8vJGJsYWNrLWJhY2tncm91bmQtY29sb3I6ICAgICAgICAjMWEyOTMyICFkZWZhdWx0O1xuJGJsYWNrLWJhY2tncm91bmQtY29sb3I6ICAgICAgICAjMGMxNDE5ICFkZWZhdWx0O1xuXG5cbiRsaWdodC1ncmF5OiAgICAgICAgICAgICAgICAgI0UzRTNFMyAhZGVmYXVsdDtcbiRtZWRpdW0tZ3JheTogICAgICAgICAgICAgICAgI0RERERERCAhZGVmYXVsdDtcbiRkYXJrLWdyYXk6ICAgICAgICAgICAgICAgICAgIzlBOUE5QSAhZGVmYXVsdDtcblxuJGdyYXktaW5wdXQtYmc6ICAgICAgICAgICAgICAjZmZmY2Y1ICFkZWZhdWx0O1xuJGRhbmdlci1pbnB1dC1iZzogICAgICAgICAgICAjRkZDMEE0ICFkZWZhdWx0O1xuJHN1Y2Nlc3MtaW5wdXQtYmc6ICAgICAgICAgICAjQUJGM0NCICFkZWZhdWx0O1xuJG90aGVyLW1lZGl1bS1ncmF5OiAgICAgICAgICAjQTQ5RTkzICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGRlZmF1bHQtY29sb3I6ICMyZjJkMmEgIWRlZmF1bHQ7IC8vIzY2NjE1QiAhZGVmYXVsdDtcbiRkZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgIzY2NjE1QiAhZGVmYXVsdDtcbiRkZWZhdWx0LXN0YXRlcy1jb2xvcjogICAgICAgIzQwM0QzOSAhZGVmYXVsdDtcblxuJHByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjN0E5RTlGICFkZWZhdWx0O1xuJHByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAjN0E5RTlGICFkZWZhdWx0O1xuJHByaW1hcnktc3RhdGVzLWNvbG9yOiAgICAgICAjNDI3Qzg5ICFkZWZhdWx0O1xuXG4kc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICM3QUMyOUEgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICM3QUMyOUEgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1zdGF0ZXMtY29sb3I6ICAgICAgICM0MkEwODQgIWRlZmF1bHQ7XG5cbiRpbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgIzY4QjNDOCAhZGVmYXVsdDtcbiRpbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgIzY4QjNDOCAhZGVmYXVsdDtcbiRpbmZvLXN0YXRlcy1jb2xvcjogICAgICAgICAgIzMwOTFCMiAhZGVmYXVsdDtcblxuJHdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjRjNCQjQ1ICFkZWZhdWx0O1xuJHdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAjRjNCQjQ1ICFkZWZhdWx0O1xuJHdhcm5pbmctc3RhdGVzLWNvbG9yOiAgICAgICAjQkI5OTJGICFkZWZhdWx0O1xuXG5cbiRkYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI0VCNUUyOCAhZGVmYXVsdDtcbiRkYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgI0VCNUUyOCAhZGVmYXVsdDtcbiRkYW5nZXItc3RhdGVzLWNvbG9yOiAgICAgICAgI0IzM0MxMiAhZGVmYXVsdDtcblxuXG4kbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM2NjY2NjYgIWRlZmF1bHQ7XG5cblxuLyogICAgICBsaWdodCBjb2xvcnMgLSB1c2VkIGZvciBzZWxlY3QgZHJvcGRvd24gICAgICAgICAqL1xuXG4kbGlnaHQtYmx1ZTogICAgICAgICAgICAgICAgIHJnYmEoJHByaW1hcnktY29sb3IsIC4yKTtcbiRsaWdodC1henVyZTogICAgICAgICAgICAgICAgcmdiYSgkaW5mby1jb2xvciwgLjIpO1xuJGxpZ2h0LWdyZWVuOiAgICAgICAgICAgICAgICByZ2JhKCRzdWNjZXNzLWNvbG9yLCAuMik7XG4kbGlnaHQtb3JhbmdlOiAgICAgICAgICAgICAgIHJnYmEoJHdhcm5pbmctY29sb3IsIC4yKTtcbiRsaWdodC1yZWQ6ICAgICAgICAgICAgICAgICAgcmdiYSgkZGFuZ2VyLWNvbG9yLCAuMik7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgICAgICA3cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgICAgIDE4cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXJvdW5kLXZlcnRpY2FsOiAgICAgICAgOXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctcm91bmQtaG9yaXpvbnRhbDogICAgIDE4cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNpbXBsZS12ZXJ0aWNhbDogICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc2ltcGxlLWhvcml6b250YWw6ICAgIDE4cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAgICAxMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogICAgIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhYmVsLXZlcnRpY2FsOiAgICAgICAgMnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFiZWwtaG9yaXpvbnRhbDogICAgIDEycHggIWRlZmF1bHQ7XG5cbi8vIHBhZGRpbmcgZm9yIGxpbmtzIGluc2lkZSBkcm9wZG93biBtZW51XG4kcGFkZGluZy1kcm9wZG93bi12ZXJ0aWNhbDogICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1kcm9wZG93bi1ob3Jpem9udGFsOiAgIDE1cHggIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbGFyZ2UtdmVydGljYWw6ICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJG1hcmdpbi1iYXNlLXZlcnRpY2FsOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbi8vIGJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnNcbiRib3JkZXItcmFkaXVzLWJ0bi1zbWFsbDogICAgICAyNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtYnRuLWJhc2U6ICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1idG4tbGFyZ2U6ICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vLyBDcmlzdGluYTogYW0gc2NoaW1iYXQgYWljaSBzaSBzLWF1IG1vZGlmaWNhdCBpbnB1dHVyaWxlXG4kbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgMCAwIDEwcHggMCAhZGVmYXVsdDtcbiRib3JkZXI6IDFweCBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWV4dHJhLXNtYWxsOiAwLjEyNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXRpbnk6ICAgICAgICAgICAwLjE4NzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1leHRyZW1lOiAgICAgICAgNnB4ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1sYXJnZS10b3A6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgJGJvcmRlci1yYWRpdXMtbGFyZ2UgMCAwICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2UtYm90dG9tOiAgIDAgMCAkYm9yZGVyLXJhZGl1cy1sYXJnZSAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcblxuJGJ0bi1yb3VuZC1yYWRpdXM6ICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRoZWlnaHQtYmFzZTogICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuXG4kYnRuLWljb24tZm9udC1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJGJ0bi1pY29uLXNpemU6IDU2cHggIWRlZmF1bHQ7XG4kYnRuLWljb24tc2l6ZS1taW5pOiAzNnB4ICFkZWZhdWx0O1xuJGJ0bi1pY29uLWZvbnQtc2l6ZS1taW5pOiAxNHB4ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUteHM6ICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLW1lZGl1bTogICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgICAgICAxOHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZS1uYXZiYXI6ICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgICAgICAzLjJlbSAgICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICAgICAgIDIuNmVtICAgICAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgICAgICAxLjgyNWVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICAgICAgIDEuNWVtICAgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICAgICAgMS4yNWVtICAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgICAgICAwLjllbSAgICFkZWZhdWx0O1xuJGZvbnQtcGFyYWdyYXBoOiAgICAgICAgICAgICAgIDE2cHggICAgIWRlZmF1bHQ7XG4kZm9udC1zaXplLW5hdmJhcjogICAgICAgICAgICAgMTZweCAgICAhZGVmYXVsdDtcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgICAgICAxMnB4ICAgICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1taW5pOiAwLjcxNDJlbSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pOiAgICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICA2MDAgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWdlbmVyYWw6ICAgICAgICAgIDEuNGVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDU0cHggIWRlZmF1bHQ7XG5cblxuJGJvcmRlci1yYWRpdXMtdG9wOiAgICAgICAgMTBweCAxMHB4IDAgMCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWJvdHRvbTogICAgIDAgMCAxMHB4IDEwcHggIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zaGFkb3c6ICAgICAgICAgIDAgMnB4IHJnYmEoMTcsIDE2LCAxNSwgMC4xKSwgMCAycHggMTBweCByZ2JhKDE3LCAxNiwgMTUsIDAuMSk7XG5cbiRnZW5lcmFsLXRyYW5zaXRpb24tdGltZTogIDMwMG1zICFkZWZhdWx0O1xuXG4kc2xvdy10cmFuc2l0aW9uLXRpbWU6ICAgICAgICAgICAzMDBtcyAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb29yZGluYXRlczogICAgICAyOXB4IC01MHB4ICFkZWZhdWx0O1xuXG4kZmFzdC10cmFuc2l0aW9uLXRpbWU6ICAgICAgICAgICAxNTBtcyAhZGVmYXVsdDtcbiRzZWxlY3QtY29vcmRpbmF0ZXM6ICAgICAgICAgNTAlIC00MHB4ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1saW5lYXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1iZXppZXI6ICAgICAgICAgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNjEsIDAuNywgMSkgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1lYXNlOiAgICAgICAgICAgZWFzZSAwcztcblxuJG5hdmJhci1wYWRkaW5nLWE6ICAgICAgICAgICAgICAgMTBweCAxNXB4O1xuJG5hdmJhci1tYXJnaW4tYTogICAgICAgICAgICAgICAgMTVweCAgMHB4O1xuXG4kcGFkZGluZy1zb2NpYWwtYTogICAgICAgICAgICAgICAxMHB4ICA1cHg7XG5cbiRuYXZiYXItbWFyZ2luLWEtYnRuOiAgICAgICAgICAgIDE1cHggM3B4O1xuJG5hdmJhci1tYXJnaW4tYS1idG4tcm91bmQ6ICAgICAgMTZweCAzcHg7XG5cblxuJG5hdmJhci1wYWRkaW5nLWJyYW5kOiAgICAgICAgICAgMjBweCAxNXB4O1xuJG5hdmJhci1tYXJnaW4tYnJhbmQ6ICAgICAgICAgICAgIDVweCAgMHB4O1xuXG4kbmF2YmFyLW1hcmdpbi1icmFuZC1pY29uczogICAgICAxMnB4IGF1dG87XG5cbiRuYXZiYXItbWFyZ2luLWJ0bjogICAgICAgICAgICAgIDE1cHggIDNweDtcblxuJGhlaWdodC1pY29uOlx0XHRcdFx0XHQgNjRweCAhZGVmYXVsdDtcbiR3aWR0aC1pY29uOlx0XHRcdFx0XHQgNjRweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWljb246XHRcdFx0XHRcdCAxMnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtaWNvbjpcdFx0ICAgICAxNXB4ICFkZWZhdWx0O1xuXG5cbiR3aGl0ZS1uYXZiYXI6ICAgICAgICAgICAgICByZ2JhKCNGRkZGRkYsIC45Nik7XG4kYmx1ZS1uYXZiYXI6ICAgICAgICAgICAgICAgcmdiYSgjMzRBQ0RDLCAuOTgpO1xuJGF6dXJlLW5hdmJhcjogICAgICAgICAgICAgIHJnYmEoIzVCQ0FGRiwgLjk4KTtcbiRncmVlbi1uYXZiYXI6ICAgICAgICAgICAgICByZ2JhKCM0Q0Q5NjQsIC45OCk7XG4kb3JhbmdlLW5hdmJhcjogICAgICAgICAgICAgcmdiYSgjRkY5NTAwLCAuOTgpO1xuJHJlZC1uYXZiYXI6ICAgICAgICAgICAgICAgIHJnYmEoI0ZGNEM0MCwgLjk4KTtcblxuJGJnLW51ZGU6ICAgICAgICAgICAgICAgI2ViZWZmMiAhZGVmYXVsdDtcbiRiZy1wcmltYXJ5OiAgICAgICAgICAgICM4RUNGRDUgIWRlZmF1bHQ7XG4kYmctaW5mbzogICAgICAgICAgICAgICAjN0NFNEZFICFkZWZhdWx0O1xuJGJnLXN1Y2Nlc3M6ICAgICAgICAgICAgIzhFRjNDNSAhZGVmYXVsdDtcbiRiZy13YXJuaW5nOiAgICAgICAgICAgICNGRkUyOEMgIWRlZmF1bHQ7XG4kYmctZGFuZ2VyOiAgICAgICAgICAgICAjRkY4RjVFICFkZWZhdWx0O1xuXG4kdG9wYmFyLXg6ICAgICAgICAgICAgIHRvcGJhci14ICFkZWZhdWx0O1xuJHRvcGJhci1iYWNrOiAgICAgICAgICB0b3BiYXItYmFjayAhZGVmYXVsdDtcbiRib3R0b21iYXIteDogICAgICAgICAgYm90dG9tYmFyLXggIWRlZmF1bHQ7XG4kYm90dG9tYmFyLWJhY2s6ICAgICAgIGJvdHRvbWJhci1iYWNrICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1saW5lYXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1iZXppZXI6ICAgICAgICAgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNjEsIDAuNywgMSkgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1lYXNlOiAgICAgICAgICAgZWFzZSAwcztcbiR0cmFuc2l0aW9uLWVhc2UtaW46ICAgICAgICAgICAgICBlYXNlLWluICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZWFzZS1vdXQ6ICAgICAgICAgICAgIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4kZ2VuZXJhbC10cmFuc2l0aW9uLXRpbWU6ICAzMDBtcyAhZGVmYXVsdDtcblxuJHNsb3ctdHJhbnNpdGlvbi10aW1lOiAgICAgICAgICAgMzcwbXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29vcmRpbmF0ZXM6ICAgICAgMjlweCAtNTBweCAhZGVmYXVsdDtcblxuJGZhc3QtdHJhbnNpdGlvbi10aW1lOiAgICAgICAgICAgMTUwbXMgIWRlZmF1bHQ7XG5cbiR1bHRyYS1mYXN0LXRyYW5zaXRpb24tdGltZTogICAgIDEwMG1zICAhZGVmYXVsdDtcblxuJHNlbGVjdC1jb29yZGluYXRlczogICAgICAgICA1MCUgLTQwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXplcm86ICAgICAgICAgICAgICAgICAgIDBweCAhZGVmYXVsdDtcblxuJHNpZGViYXItd2lkdGg6ICAgICAgICAgICAgICAgY2FsYygxMDAlIC0gMjYwcHgpICFkZWZhdWx0O1xuJG1lZGl1bS1kYXJrLWdyYXk6ICAgICAgICAgICAjQUFBQUFBICFkZWZhdWx0O1xuXG4vL3ZhcmlhYmxlcyB1c2VkIGluIGNhcmRzXG4kY2FyZC1ibGFjay1jb2xvcjogICAgICAgICAgIzI1MjQyMiAhZGVmYXVsdDtcbiRjYXJkLW11dGVkLWNvbG9yOiAgICAgICAgICAjY2NjNWI5ICFkZWZhdWx0O1xuXG5cbi8vdmFyaWFibGVzIHVzZWQgZm9yIHNpZGViYXJcbiRzaWRlYmFyLWJhY2tncm91bmQtZGFyay1ibHVlOiAjNTA2MzY3O1xuXG4kc2lkZWJhci1iYWNrZ3JvdW5kLWJsdWU6ICAgICAgI2I4ZDhkOCAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvbnQtYmx1ZTogICAgICAgICAgICAjNTA2NTY4ICFkZWZhdWx0O1xuJHNpZGViYXItc3VidGl0bGUtYmx1ZTogICAgICAgICM3YTllOWYgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWJhY2tncm91bmQtZ3JlZW46ICAgICAgI2Q1ZTVhMyAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvbnQtZ3JlZW46ICAgICAgICAgICAgIzYwNzczZCAhZGVmYXVsdDtcbiRzaWRlYmFyLXN1YnRpdGxlLWdyZWVuOiAgICAgICAgIzkyYWM1NiAhZGVmYXVsdDtcblxuJHNpZGViYXItYmFja2dyb3VuZC15ZWxsb3c6ICAgICAgI2ZmZTI4YyAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvbnQteWVsbG93OiAgICAgICAgICAgICNiMjU4MjUgIWRlZmF1bHQ7XG4kc2lkZWJhci1zdWJ0aXRsZS15ZWxsb3c6ICAgICAgICAjZDg4NzE1ICFkZWZhdWx0O1xuXG4kc2lkZWJhci1iYWNrZ3JvdW5kLWJyb3duOiAgICAgICNkNmMxYWIgIWRlZmF1bHQ7XG4kc2lkZWJhci1mb250LWJyb3duOiAgICAgICAgICAgICM3NTQ0MmUgIWRlZmF1bHQ7XG4kc2lkZWJhci1zdWJ0aXRsZS1icm93bjogICAgICAgICNhNDdlNjUgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWJhY2tncm91bmQtcHVycGxlOiAgICAgICNiYWE5YmEgIWRlZmF1bHQ7XG4kc2lkZWJhci1mb250LXB1cnBsZTogICAgICAgICAgICAjM2EyODNkICFkZWZhdWx0O1xuJHNpZGViYXItc3VidGl0bGUtcHVycGxlOiAgICAgICAgIzVhMjgzZCAhZGVmYXVsdDtcblxuJHNpZGViYXItYmFja2dyb3VuZC1vcmFuZ2U6ICAgICAgI2ZmOGY1ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvbnQtb3JhbmdlOiAgICAgICAgICAgICM3NzI1MTAgIWRlZmF1bHQ7XG4kc2lkZWJhci1zdWJ0aXRsZS1vcmFuZ2U6ICAgICAgICAjZTk1ZTM3ICFkZWZhdWx0O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fdmFyaWFibGVzLnNjc3MiLCIvLyBTY2FsZXMgZm9yIHJlc3BvbnNpdmUgU1ZHIGNvbnRhaW5lcnNcbiRjdC1zY2FsZXM6ICgoMSksICgxNS8xNiksICg4LzkpLCAoNS82KSwgKDQvNSksICgzLzQpLCAoMi8zKSwgKDUvOCksICgxLzEuNjE4KSwgKDMvNSksICg5LzE2KSwgKDgvMTUpLCAoMS8yKSwgKDIvNSksICgzLzgpLCAoMS8zKSwgKDEvNCkpICFkZWZhdWx0O1xuJGN0LXNjYWxlcy1uYW1lczogKGN0LXNxdWFyZSwgY3QtbWlub3Itc2Vjb25kLCBjdC1tYWpvci1zZWNvbmQsIGN0LW1pbm9yLXRoaXJkLCBjdC1tYWpvci10aGlyZCwgY3QtcGVyZmVjdC1mb3VydGgsIGN0LXBlcmZlY3QtZmlmdGgsIGN0LW1pbm9yLXNpeHRoLCBjdC1nb2xkZW4tc2VjdGlvbiwgY3QtbWFqb3Itc2l4dGgsIGN0LW1pbm9yLXNldmVudGgsIGN0LW1ham9yLXNldmVudGgsIGN0LW9jdGF2ZSwgY3QtbWFqb3ItdGVudGgsIGN0LW1ham9yLWVsZXZlbnRoLCBjdC1tYWpvci10d2VsZnRoLCBjdC1kb3VibGUtb2N0YXZlKSAhZGVmYXVsdDtcblxuLy8gQ2xhc3MgbmFtZXMgdG8gYmUgdXNlZCB3aGVuIGdlbmVyYXRpbmcgQ1NTXG4kY3QtY2xhc3MtY2hhcnQ6IGN0LWNoYXJ0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWNoYXJ0LWxpbmU6IGN0LWNoYXJ0LWxpbmUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtYmFyOiBjdC1jaGFydC1iYXIgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzOiBjdC1ob3Jpem9udGFsLWJhcnMgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtcGllOiBjdC1jaGFydC1waWUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtZG9udXQ6IGN0LWNoYXJ0LWRvbnV0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWxhYmVsOiBjdC1sYWJlbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1zZXJpZXM6IGN0LXNlcmllcyAhZGVmYXVsdDtcbiRjdC1jbGFzcy1saW5lOiBjdC1saW5lICFkZWZhdWx0O1xuJGN0LWNsYXNzLXBvaW50OiBjdC1wb2ludCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1hcmVhOiBjdC1hcmVhICFkZWZhdWx0O1xuJGN0LWNsYXNzLWJhcjogY3QtYmFyICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLXBpZTogY3Qtc2xpY2UtcGllICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLWRvbnV0OiBjdC1zbGljZS1kb251dCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ncmlkOiBjdC1ncmlkICFkZWZhdWx0O1xuJGN0LWNsYXNzLXZlcnRpY2FsOiBjdC12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ob3Jpem9udGFsOiBjdC1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGN0LWNsYXNzLXN0YXJ0OiBjdC1zdGFydCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1lbmQ6IGN0LWVuZCAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHJhdGlvXG4kY3QtY29udGFpbmVyLXJhdGlvOiAoMS8xLjYxOCkgIWRlZmF1bHQ7XG5cbi8vIFRleHQgc3R5bGVzIGZvciBsYWJlbHNcbiRjdC10ZXh0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCkgIWRlZmF1bHQ7XG4kY3QtdGV4dC1zaXplOiAwLjllbSAhZGVmYXVsdDtcbiRjdC10ZXh0LWFsaWduOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGN0LXRleHQtanVzdGlmeTogZmxleC1zdGFydCAhZGVmYXVsdDtcbiRjdC10ZXh0LWxpbmUtaGVpZ2h0OiAxO1xuXG4vLyBHcmlkIHN0eWxlc1xuJGN0LWdyaWQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSAhZGVmYXVsdDtcbiRjdC1ncmlkLWRhc2hhcnJheTogMnB4ICFkZWZhdWx0O1xuJGN0LWdyaWQtd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8gTGluZSBjaGFydCBwcm9wZXJ0aWVzXG4kY3QtbGluZS13aWR0aDogNHB4ICFkZWZhdWx0O1xuJGN0LWxpbmUtZGFzaGFycmF5OiBmYWxzZSAhZGVmYXVsdDtcbiRjdC1wb2ludC1zaXplOiAxMHB4ICFkZWZhdWx0O1xuLy8gTGluZSBjaGFydCBwb2ludCwgY2FuIGJlIGVpdGhlciByb3VuZCBvciBzcXVhcmVcbiRjdC1wb2ludC1zaGFwZTogcm91bmQgIWRlZmF1bHQ7XG4vLyBBcmVhIGZpbGwgdHJhbnNwYXJlbmN5IGJldHdlZW4gMCBhbmQgMVxuJGN0LWFyZWEtb3BhY2l0eTogMC43ICFkZWZhdWx0O1xuXG4vLyBCYXIgY2hhcnQgYmFyIHdpZHRoXG4kY3QtYmFyLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBEb251dCB3aWR0aCAoSWYgZG9udXQgd2lkdGggaXMgdG8gYmlnIGl0IGNhbiBjYXVzZSBpc3N1ZXMgd2hlcmUgdGhlIHNoYXBlIGdldHMgZGlzdG9ydGVkKVxuJGN0LWRvbnV0LXdpZHRoOiA2MHB4ICFkZWZhdWx0O1xuXG4vLyBJZiBzZXQgdG8gdHJ1ZSBpdCB3aWxsIGluY2x1ZGUgdGhlIGRlZmF1bHQgY2xhc3NlcyBhbmQgZ2VuZXJhdGUgQ1NTIG91dHB1dC4gSWYgeW91J3JlIHBsYW5uaW5nIHRvIHVzZSB0aGUgbWl4aW5zIHlvdVxuLy8gc2hvdWxkIHNldCB0aGlzIHByb3BlcnR5IHRvIGZhbHNlXG4kY3QtaW5jbHVkZS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiB0aGlzIGlzIHNldCB0byB0cnVlIHRoZSBDU1Mgd2lsbCBjb250YWluIGNvbG9yZWQgc2VyaWVzLiBZb3UgY2FuIGV4dGVuZCBvciBjaGFuZ2UgdGhlIGNvbG9yIHdpdGggdGhlXG4vLyBwcm9wZXJ0aWVzIGJlbG93XG4kY3QtaW5jbHVkZS1jb2xvcmVkLXNlcmllczogJGN0LWluY2x1ZGUtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gSWYgc2V0IHRvIHRydWUgdGhpcyB3aWxsIGluY2x1ZGUgYWxsIHJlc3BvbnNpdmUgY29udGFpbmVyIHZhcmlhdGlvbnMgdXNpbmcgdGhlIHNjYWxlcyBkZWZpbmVkIGF0IHRoZSB0b3Agb2YgdGhlIHNjcmlwdFxuJGN0LWluY2x1ZGUtYWx0ZXJuYXRpdmUtcmVzcG9uc2l2ZS1jb250YWluZXJzOiAkY3QtaW5jbHVkZS1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBTZXJpZXMgbmFtZXMgYW5kIGNvbG9ycy4gVGhpcyBjYW4gYmUgZXh0ZW5kZWQgb3IgY3VzdG9taXplZCBhcyBkZXNpcmVkLiBKdXN0IGFkZCBtb3JlIHNlcmllcyBhbmQgY29sb3JzLlxuJGN0LXNlcmllcy1uYW1lczogKGEsIGIsIGMsIGQsIGUsIGYsIGcsIGgsIGksIGosIGssIGwsIG0sIG4sIG8pICFkZWZhdWx0O1xuJGN0LXNlcmllcy1jb2xvcnM6IChcbiAgJGluZm8tY29sb3IsXG4gICR3YXJuaW5nLWNvbG9yLFxuICAkZGFuZ2VyLWNvbG9yLFxuICAkc3VjY2Vzcy1jb2xvcixcbiAgJHByaW1hcnktY29sb3IsXG4gIHJnYmEoJGluZm8tY29sb3IsLjgpLFxuICByZ2JhKCRzdWNjZXNzLWNvbG9yLC44KSxcbiAgcmdiYSgkd2FybmluZy1jb2xvciwuOCksXG4gIHJnYmEoJGRhbmdlci1jb2xvciwuOCksXG4gIHJnYmEoJHByaW1hcnktY29sb3IsLjgpLFxuICByZ2JhKCRpbmZvLWNvbG9yLC42KSxcbiAgcmdiYSgkc3VjY2Vzcy1jb2xvciwuNiksXG4gIHJnYmEoJHdhcm5pbmctY29sb3IsLjYpLFxuICByZ2JhKCRkYW5nZXItY29sb3IsLjYpLFxuICByZ2JhKCRwcmltYXJ5LWNvbG9yLC42KVxuICBcbikgIWRlZmF1bHQ7XG5cbi8vIFBhcGVyIEtpdCBDb2xvcnNcblxuLmN0LWJsdWV7XG4gICAgc3Ryb2tlOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xufVxuLmN0LWF6dXJle1xuICAgIHN0cm9rZTogJGluZm8tY29sb3IgIWltcG9ydGFudDtcbn1cbi5jdC1ncmVlbntcbiAgICBzdHJva2U6ICRzdWNjZXNzLWNvbG9yICFpbXBvcnRhbnQ7XG59XG4uY3Qtb3Jhbmdle1xuICAgIHN0cm9rZTogJHdhcm5pbmctY29sb3IgIWltcG9ydGFudDtcbn1cbi5jdC1yZWR7XG4gICAgc3Ryb2tlOiAkZGFuZ2VyLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2NoYXJ0aXN0LnNjc3MiLCJoMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1LCBoNiwgLmg2LCBwLCAubmF2YmFyLCAuYnJhbmQsIGEsIC50ZC1uYW1lLCB0ZHtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC8vZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBcIkhlbHZldGljYVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIixcIkhlbHZldGljYSBOZXVlXCIsQXJpYWwsc2Fucy1zZXJpZjtcbn1cblxuaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICBtYXJnaW46ICRtYXJnaW4tbGFyZ2UtdmVydGljYWwgMCAkbWFyZ2luLWJhc2UtdmVydGljYWw7XG59XG5cbmgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTtcbn1cbmgyLCAuaDJ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWgyO1xufVxuaDMsIC5oM3tcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaDM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgIG1hcmdpbjogMjBweCAwIDEwcHg7XG59XG5oNCwgLmg0e1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbn1cbmg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuaDYsIC5oNntcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaDY7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxucHtcbiAgICBmb250LXNpemU6ICRmb250LXBhcmFncmFwaDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWdlbmVyYWw7XG59XG5cbmgxIHNtYWxsLCBoMiBzbWFsbCwgaDMgc21hbGwsIGg0IHNtYWxsLCBoNSBzbWFsbCwgaDYgc21hbGwsIC5oMSBzbWFsbCwgLmgyIHNtYWxsLCAuaDMgc21hbGwsIC5oNCBzbWFsbCwgLmg1IHNtYWxsLCAuaDYgc21hbGwsIGgxIC5zbWFsbCwgaDIgLnNtYWxsLCBoMyAuc21hbGwsIGg0IC5zbWFsbCwgaDUgLnNtYWxsLCBoNiAuc21hbGwsIC5oMSAuc21hbGwsIC5oMiAuc21hbGwsIC5oMyAuc21hbGwsIC5oNCAuc21hbGwsIC5oNSAuc21hbGwsIC5oNiAuc21hbGwge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1nZW5lcmFsO1xufVxuXG5oMSBzbWFsbCwgaDIgc21hbGwsIGgzIHNtYWxsLCBoMSAuc21hbGwsIGgyIC5zbWFsbCwgaDMgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDYwJTtcbn1cbi50aXRsZS11cHBlcmNhc2V7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmJsb2NrcXVvdGV7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuYmxvY2txdW90ZSBzbWFsbHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udGV4dC1tdXRlZHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xufVxuLnRleHQtcHJpbWFyeSwgLnRleHQtcHJpbWFyeTpob3ZlcntcbiAgICBjb2xvcjogJHByaW1hcnktc3RhdGVzLWNvbG9yO1xufVxuLnRleHQtaW5mbywgLnRleHQtaW5mbzpob3ZlcntcbiAgICBjb2xvcjogJGluZm8tc3RhdGVzLWNvbG9yO1xufVxuLnRleHQtc3VjY2VzcywgLnRleHQtc3VjY2Vzczpob3ZlcntcbiAgICBjb2xvcjogJHN1Y2Nlc3Mtc3RhdGVzLWNvbG9yO1xufVxuLnRleHQtd2FybmluZywgLnRleHQtd2FybmluZzpob3ZlcntcbiAgICBjb2xvcjogJHdhcm5pbmctc3RhdGVzLWNvbG9yO1xufVxuLnRleHQtZGFuZ2VyLCAudGV4dC1kYW5nZXI6aG92ZXJ7XG4gICAgY29sb3I6ICRkYW5nZXItc3RhdGVzLWNvbG9yO1xufVxuLmdseXBoaWNvbntcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbnN0cm9uZ3tcbiAgICBjb2xvcjogJGRlZmF1bHQtc3RhdGVzLWNvbG9yO1xufVxuLmljb24tcHJpbWFyeXtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG4uaWNvbi1pbmZve1xuICAgIGNvbG9yOiAkaW5mby1jb2xvcjtcbn1cbi5pY29uLXN1Y2Nlc3N7XG4gICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xufVxuLmljb24td2FybmluZ3tcbiAgICBjb2xvcjogJHdhcm5pbmctY29sb3I7XG59XG4uaWNvbi1kYW5nZXJ7XG4gICAgY29sb3I6ICRkYW5nZXItY29sb3I7XG59XG4uY2hhcnQtbGVnZW5ke1xuICAgIC50ZXh0LXByaW1hcnksIC50ZXh0LXByaW1hcnk6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgLnRleHQtaW5mbywgLnRleHQtaW5mbzpob3ZlcntcbiAgICAgICAgY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgIH1cbiAgICAudGV4dC1zdWNjZXNzLCAudGV4dC1zdWNjZXNzOmhvdmVye1xuICAgICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuICAgIC50ZXh0LXdhcm5pbmcsIC50ZXh0LXdhcm5pbmc6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgICB9XG4gICAgLnRleHQtZGFuZ2VyLCAudGV4dC1kYW5nZXI6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyLWNvbG9yO1xuICAgIH1cbn1cblxuLmRlc2NyaXB0aW9uLFxuLmNhcmQtZGVzY3JpcHRpb24sXG4uZm9vdGVyLWJpZyBwIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fdHlwb2dyYXBoeS5zY3NzIiwiLyogICAgIEdlbmVyYWwgb3ZlcndyaXRlICAgICAqL1xuYm9keXtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdNdWxpJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLndyYXBwZXJ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuYXtcbiAgY29sb3I6ICRpbmZvLWNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXN7XG4gICAgIGNvbG9yOiAkaW5mby1zdGF0ZXMtY29sb3I7XG4gICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5hOmZvY3VzLCBhOmFjdGl2ZSxcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyLFxuc2VsZWN0OjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXRbdHlwZT1cImZpbGVcIl0gPiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVye1xuICAgIG91dGxpbmU6MCAhaW1wb3J0YW50O1xufVxuLnVpLXNsaWRlci1oYW5kbGU6Zm9jdXMsXG4ubmF2YmFyLXRvZ2dsZSxcbmlucHV0OmZvY3VzLFxuYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lIDogMCAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggMCAjMjE5NmYzO1xufVxuXG4vKiAgICAgICAgICAgQW5pbWF0aW9ucyAgICAgICAgICAgICAgKi9cbi5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4udGFnc2lucHV0LFxuLm5hdmJhcixcbi5uYXZiYXIgLmFsZXJ0e1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGdlbmVyYWwtdHJhbnNpdGlvbi10aW1lLCAkdHJhbnNpdGlvbi1saW5lYXIpO1xufVxuXG4uc2lkZWJhciAubmF2IGEsXG4udGFibGUgPiB0Ym9keSA+IHRyIC50ZC1hY3Rpb25zIC5idG57XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZmFzdC10cmFuc2l0aW9uLXRpbWUsICR0cmFuc2l0aW9uLWVhc2UtaW4pO1xufVxuXG4uYnRue1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHVsdHJhLWZhc3QtdHJhbnNpdGlvbi10aW1lLCAkdHJhbnNpdGlvbi1lYXNlLWluKTtcbn1cbi5mYXtcbiAgICB3aWR0aDogMjFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmEtYmFzZXtcbiAgICBmb250LXNpemU6IDEuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXRvcHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuaHJ7XG4gICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLXBhbGUtYmc7XG59XG4ud3JhcHBlcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19taXNjLnNjc3MiLCIvLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7IC8vIElFMTArXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbi8vIEJveCBzaXppbmdcbkBtaXhpbiBib3gtc2l6aW5nKCRib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR0aW1lLCAkdHlwZSl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgJHRpbWUgJHR5cGU7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgJHRpbWUgJHR5cGU7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsICR0aW1lICR0eXBlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgJHRpbWUgJHR5cGU7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0aW1lICR0eXBlO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1ub25lKCl7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAgIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcbiAgICAtby10cmFuc2l0aW9uOiBub25lO1xuICAgIC1tcy10cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc2NhbGUoJHZhbHVlKXtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCR2YWx1ZSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgkdmFsdWUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCR2YWx1ZSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCR2YWx1ZSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHZhbHVlKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS10cmFuc2xhdGUteCgkdmFsdWUpe1xuICAgICAtd2Via2l0LXRyYW5zZm9ybTogIHRyYW5zbGF0ZTNkKCR2YWx1ZSwgMCwgMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdmFsdWUsIDAsIDApO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR2YWx1ZSwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR2YWx1ZSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHZhbHVlLCAwLCAwKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGNvb3JkaW5hdGVzKXtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJGNvb3JkaW5hdGVzO1xuICAgICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRjb29yZGluYXRlcztcbiAgICAgICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogJGNvb3JkaW5hdGVzO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJGNvb3JkaW5hdGVzO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkY29vcmRpbmF0ZXM7XG59XG5cbkBtaXhpbiBpY29uLWdyYWRpZW50ICgkdG9wLWNvbG9yLCAkYm90dG9tLWNvbG9yKXtcbiAgICBiYWNrZ3JvdW5kOiAkdG9wLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AtY29sb3IgMCUsICRib3R0b20tY29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwkdG9wLWNvbG9yKSwgY29sb3Itc3RvcCgxMDAlLCRib3R0b20tY29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAkdG9wLWNvbG9yIDAlLCRib3R0b20tY29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AtY29sb3IgMCUsJGJvdHRvbS1jb2xvciAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AtY29sb3IgMCUsJGJvdHRvbS1jb2xvciAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgJHRvcC1jb2xvciAwJSwkYm90dG9tLWNvbG9yIDEwMCUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTUwJSAxNTAlO1xufVxuXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRleHRlcm4tY29sb3IsICRjZW50ZXItY29sb3Ipe1xuICAgIGJhY2tncm91bmQ6ICRleHRlcm4tY29sb3I7XG4gICAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAkY2VudGVyLWNvbG9yIDAlLCAkZXh0ZXJuLWNvbG9yIDEwMCUpOyAvKiBGRjMuNisgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCRjZW50ZXItY29sb3IpLCBjb2xvci1zdG9wKDEwMCUsJGV4dGVybi1jb2xvcikpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICRjZW50ZXItY29sb3IgMCUsJGV4dGVybi1jb2xvciAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAkY2VudGVyLWNvbG9yIDAlLCRleHRlcm4tY29sb3IgMTAwJSk7IC8qIE9wZXJhIDEyKyAqL1xuICAgIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAkY2VudGVyLWNvbG9yIDAlLCRleHRlcm4tY29sb3IgMTAwJSk7IC8qIElFMTArICovXG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkY2VudGVyLWNvbG9yIDAlLCRleHRlcm4tY29sb3IgMTAwJSk7IC8qIFczQyAqL1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTUwJSA0NTAlO1xufVxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gcm90YXRlLTE4MCgpe1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Mik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbkBtaXhpbiBiYXItYW5pbWF0aW9uKCR0eXBlKXtcbiAgICAgLXdlYmtpdC1hbmltYXRpb246ICR0eXBlIDUwMG1zIGxpbmVhciAwcztcbiAgICAgLW1vei1hbmltYXRpb246ICR0eXBlIDUwMG1zIGxpbmVhciAwcztcbiAgICAgYW5pbWF0aW9uOiAkdHlwZSA1MDBtcyAwcztcbiAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG59XG5cbkBtaXhpbiB0b3BiYXIteC1yb3RhdGlvbigpe1xuICAgIEBrZXlmcmFtZXMgdG9wYmFyLXgge1xuICAgICAgMCUge3RvcDogMHB4OyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgNDUlIHt0b3A6IDZweDsgdHJhbnNmb3JtOiByb3RhdGUoMTQ1ZGVnKTsgfVxuICAgICAgNzUlIHt0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpOyB9XG4gICAgICAxMDAlIHt0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgfVxuICAgIEAtd2Via2l0LWtleWZyYW1lcyB0b3BiYXIteCB7XG4gICAgICAwJSB7dG9wOiAwcHg7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAgIDQ1JSB7dG9wOiA2cHg7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTQ1ZGVnKTsgfVxuICAgICAgNzUlIHstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7IH1cbiAgICAgIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgICB9XG4gICAgQC1tb3ota2V5ZnJhbWVzIHRvcGJhci14IHtcbiAgICAgIDAlIHt0b3A6IDBweDsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgNDUlIHt0b3A6IDZweDsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxNDVkZWcpOyB9XG4gICAgICA3NSUgey1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKTsgfVxuICAgICAgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAgIH1cbn1cblxuQG1peGluIHRvcGJhci1iYWNrLXJvdGF0aW9uKCl7XG4gICAgQGtleWZyYW1lcyB0b3BiYXItYmFjayB7XG4gICAgICAwJSB7IHRvcDogNnB4OyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgICA0NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gICAgICA3NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICAgICAgMTAwJSB7IHRvcDogMHB4OyB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAgIH1cbiAgICBcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgdG9wYmFyLWJhY2sge1xuICAgICAgMCUgeyB0b3A6IDZweDsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgICA0NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgICAgIDc1JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICAgIDEwMCUgeyB0b3A6IDBweDsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAgIH1cbiAgICBcbiAgICBALW1vei1rZXlmcmFtZXMgdG9wYmFyLWJhY2sge1xuICAgICAgMCUgeyB0b3A6IDZweDsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgICA0NSUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgICAgIDc1JSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICAgIDEwMCUgeyB0b3A6IDBweDsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAgIH1cbn1cblxuQG1peGluIGJvdHRvbWJhci14LXJvdGF0aW9uKCl7XG4gICAgQGtleWZyYW1lcyBib3R0b21iYXIteCB7XG4gICAgICAwJSB7Ym90dG9tOiAwcHg7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgICAgIDQ1JSB7Ym90dG9tOiA2cHg7IHRyYW5zZm9ybTogcm90YXRlKC0xNDVkZWcpO31cbiAgICAgIDc1JSB7dHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZyk7fVxuICAgICAgMTAwJSB7dHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7fVxuICAgIH1cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgYm90dG9tYmFyLXgge1xuICAgICAgMCUge2JvdHRvbTogMHB4OyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgICAgIDQ1JSB7Ym90dG9tOiA2cHg7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0NWRlZyk7fVxuICAgICAgNzUlIHstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO31cbiAgICAgIDEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7fVxuICAgIH1cbiAgICBALW1vei1rZXlmcmFtZXMgYm90dG9tYmFyLXgge1xuICAgICAgMCUge2JvdHRvbTogMHB4OyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgICAgIDQ1JSB7Ym90dG9tOiA2cHg7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTE0NWRlZyk7fVxuICAgICAgNzUlIHstbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO31cbiAgICAgIDEwMCUgey1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7fVxuICAgIH1cbn1cblxuQG1peGluIGJvdHRvbWJhci1iYWNrLXJvdGF0aW9ue1xuICAgIEBrZXlmcmFtZXMgYm90dG9tYmFyLWJhY2sge1xuICAgICAgMCUgeyBib3R0b206IDZweDt0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTt9XG4gICAgICA0NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7fVxuICAgICAgNzUlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO31cbiAgICAgIDEwMCUgeyBib3R0b206IDBweDt0cmFuc2Zvcm06IHJvdGF0ZSgwKTt9XG4gICAgfVxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBib3R0b21iYXItYmFjayB7XG4gICAgICAwJSB7Ym90dG9tOiA2cHg7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTt9XG4gICAgICA0NSUgey13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpO31cbiAgICAgIDc1JSB7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7fVxuICAgICAgMTAwJSB7Ym90dG9tOiAwcHg7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTt9XG4gICAgfVxuICAgIEAtbW96LWtleWZyYW1lcyBib3R0b21iYXItYmFjayB7XG4gICAgICAwJSB7Ym90dG9tOiA2cHg7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTt9XG4gICAgICA0NSUgey1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpO31cbiAgICAgIDc1JSB7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7fVxuICAgICAgMTAwJSB7Ym90dG9tOiAwcHg7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTt9XG4gICAgfVxuXG59XG5cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwiLnNpZGViYXJ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAuc2lkZWJhci13cmFwcGVye1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAyNjBweDtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwcHggMHB4IDBweCAkbWVkaXVtLWdyYXk7XG4gICAgfVxuICAgIC5zaWRlYmFyLWJhY2tncm91bmR7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG5cbn1cbi5zaWRlYmFyLFxuLm9mZi1jYW52YXMtc2lkZWJhcntcbiAgICB3aWR0aDogMjYwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcblxuICAgIC5sb2dve1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDBweDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG5cbiAgICAgICAgcHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW1wbGUtdGV4dHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAkcGFkZGluZy16ZXJvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdntcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBsaXtcbiAgICAgICAgICAgID4gYXtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgPiBhe1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlID4gYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAkYmctbnVkZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYS5tZW51IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwe1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGl7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3Jle1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJhY2tncm91bmQ6ICAkd2hpdGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmLFxuICAgICZbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYmFja2dyb3VuZC1jb2xvcigkd2hpdGUtYmFja2dyb3VuZC1jb2xvciwgJGRlZmF1bHQtY29sb3IpO1xuICAgIH1cbiAgICAmW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJde1xuICAgICAgICBAaW5jbHVkZSBzaWRlYmFyLWJhY2tncm91bmQtY29sb3IoJGJsYWNrLWJhY2tncm91bmQtY29sb3IsICR3aGl0ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cInByaW1hcnlcIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYWN0aXZlLWNvbG9yKCRwcmltYXJ5LWNvbG9yKTtcbiAgICB9XG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cImluZm9cIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYWN0aXZlLWNvbG9yKCRpbmZvLWNvbG9yKTtcbiAgICB9XG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cInN1Y2Nlc3NcIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYWN0aXZlLWNvbG9yKCRzdWNjZXNzLWNvbG9yKTtcbiAgICB9XG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cIndhcm5pbmdcIl17XG4gICAgICAgIEBpbmNsdWRlIHNpZGViYXItYWN0aXZlLWNvbG9yKCR3YXJuaW5nLWNvbG9yKTtcbiAgICB9XG4gICAgJltkYXRhLWFjdGl2ZS1jb2xvcj1cImRhbmdlclwiXXtcbiAgICAgICAgQGluY2x1ZGUgc2lkZWJhci1hY3RpdmUtY29sb3IoJGRhbmdlci1jb2xvcik7XG4gICAgfVxuXG59XG5cbi5tYWluLXBhbmVse1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1udWRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogJHNpZGViYXItd2lkdGg7XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgID4gLmNvbnRlbnR7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTVweDtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMTIzcHgpO1xuICAgIH1cblxuICAgID4gLmZvb3RlcntcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG5cbiAgICAubmF2YmFye1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLnNpZGViYXIsXG4ubWFpbi1wYW5lbHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCxib3R0b207XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC4ycywuMnM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzLC4ycztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIsbGluZWFyO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIsbGluZWFyO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX3NpZGViYXItYW5kLW1haW4tcGFuZWwuc2NzcyIsIkBtaXhpbiBzaWRlYmFyLWJhY2tncm91bmQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsICRmb250LWNvbG9yKXtcbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3Jle1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG5cdH1cblxuICAgIC5sb2dve1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkZm9udC1jb2xvciwuMyk7XG5cbiAgICAgICAgcHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW1wbGUtdGV4dHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZ7XG4gICAgICAgIGxpOm5vdCguYWN0aXZlKXtcbiAgICAgICAgICAgID4gYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb250LWNvbG9yLC4yKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbkBtaXhpbiBzaWRlYmFyLWFjdGl2ZS1jb2xvcigkZm9udC1jb2xvcil7XG4gICAgLm5hdntcbiAgICAgICAgbGl7XG4gICAgICAgICAgICAmLmFjdGl2ZSA+IGF7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL21peGlucy9fc2lkZWJhci5zY3NzIiwiLyogICAgICAgICAgIGJhZGdlcyAgICAgICAgICAgICAqL1xuLmJhZGdlIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbWluaTtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0cmFuc3BhcmVudC1iZztcbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWV4dHJlbWU7XG59XG5cbi5iYWRnZS1pY29uIHtcbiAgcGFkZGluZzogMC40ZW0gMC41NWVtO1xuICBpIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICB9XG59XG5cbi5iYWRnZS1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgYmFkZ2UtY29sb3IoJGRlZmF1bHQtY29sb3IpO1xufVxuXG4uYmFkZ2UtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJhZGdlLWNvbG9yKCRwcmltYXJ5LWNvbG9yKTtcbn1cblxuLmJhZGdlLWluZm8ge1xuICBAaW5jbHVkZSBiYWRnZS1jb2xvcigkaW5mby1jb2xvcik7XG59XG5cbi5iYWRnZS1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYmFkZ2UtY29sb3IoJHN1Y2Nlc3MtY29sb3IpO1xufVxuXG4uYmFkZ2Utd2FybmluZyB7XG4gIEBpbmNsdWRlIGJhZGdlLWNvbG9yKCR3YXJuaW5nLWNvbG9yKTtcbn1cblxuLmJhZGdlLWRhbmdlciB7XG4gIEBpbmNsdWRlIGJhZGdlLWNvbG9yKCRkYW5nZXItY29sb3IpO1xufVxuXG4uYmFkZ2UtbmV1dHJhbCB7XG4gIEBpbmNsdWRlIGJhZGdlLWNvbG9yKCR3aGl0ZS1jb2xvcik7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19iYWRnZXMuc2NzcyIsIkBtaXhpbiBiYWRnZS1jb2xvcigkY29sb3IpIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2JhZGdlcy5zY3NzIiwiLmJ0bixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRue1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJ0bi1iYXNlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXRoaWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFuc3BhcmVudC1iZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWk7XG4gICAgXG4gICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgXG4gICAgQGluY2x1ZGUgYnRuLXN0eWxlcygkZGVmYXVsdC1jb2xvciwgJGRlZmF1bHQtc3RhdGVzLWNvbG9yKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmYXN0LXRyYW5zaXRpb24tdGltZSwgbGluZWFyKTtcbiAgICBcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXN7XG4gICAgICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAmLmJ0bi1pY29ue1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsO1xuICAgIH0gXG59XG5cbi5idG4tZ3JvdXAgLmJ0biArIC5idG4sIFxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCwgXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLCBcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXB7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG59XG5cbi8vIEFwcGx5IHRoZSBtaXhpbiB0byB0aGUgYnV0dG9uc1xuLy8uYnRuLWRlZmF1bHQgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCRkZWZhdWx0LWNvbG9yLCAkZGVmYXVsdC1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LCAuYnRuLXByaW1hcnkgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCRwcmltYXJ5LWNvbG9yLCAkcHJpbWFyeS1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLCAuYnRuLXN1Y2Nlc3MgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCRzdWNjZXNzLWNvbG9yLCAkc3VjY2Vzcy1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLCAuYnRuLWluZm8gICAgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCRpbmZvLWNvbG9yLCAkaW5mby1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLCAuYnRuLXdhcm5pbmcgeyBAaW5jbHVkZSBidG4tc3R5bGVzKCR3YXJuaW5nLWNvbG9yLCAkd2FybmluZy1zdGF0ZXMtY29sb3IpOyB9XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIsIC5idG4tZGFuZ2VyICB7IEBpbmNsdWRlIGJ0bi1zdHlsZXMoJGRhbmdlci1jb2xvciwgJGRhbmdlci1zdGF0ZXMtY29sb3IpOyB9XG4uYnRuLW5ldXRyYWwgeyBcbiAgICBAaW5jbHVkZSBidG4tc3R5bGVzKCR3aGl0ZS1jb2xvciwgJHdoaXRlLWNvbG9yKTtcbiAgICBcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXN7XG4gICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvcjtcbiAgICB9XG4gICAgXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZXtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvcjtcbiAgICB9ICAgIFxuICAgIFxuICAgICYuYnRuLWZpbGx7XG4gICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvcjtcbiAgICB9XG4gICAgJi5idG4tZmlsbDpob3ZlcixcbiAgICAmLmJ0bi1maWxsOmZvY3Vze1xuICAgICAgICBjb2xvcjogJGRlZmF1bHQtc3RhdGVzLWNvbG9yO1xuICAgIH1cbiAgICBcbiAgICAmLmJ0bi1zaW1wbGU6YWN0aXZlLFxuICAgICYuYnRuLXNpbXBsZS5hY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cblxuLmJ0bntcbiAgICAgJjpkaXNhYmxlZCxcbiAgICAgJltkaXNhYmxlZF0sXG4gICAgICYuZGlzYWJsZWR7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoLjUpO1xuICAgIH1cbn1cbi5idG4tc2ltcGxle1xuICAgIGJvcmRlcjogJG5vbmU7XG4gICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgXG4gICAgJi5idG4taWNvbntcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDtcbiAgICB9XG59XG4uYnRuLWxne1xuICAgQGluY2x1ZGUgYnRuLXNpemUoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRib3JkZXItcmFkaXVzLWJ0bi1sYXJnZSwgJGxpbmUtaGVpZ2h0LXNtYWxsKTtcbiAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuLmJ0bi1zbXtcbiAgICBAaW5jbHVkZSBidG4tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGJvcmRlci1yYWRpdXMtYnRuLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwpOyAgICBcbn1cbi5idG4teHMge1xuICAgIEBpbmNsdWRlIGJ0bi1zaXplKCRwYWRkaW5nLXhzLXZlcnRpY2FsLCAkcGFkZGluZy14cy1ob3Jpem9udGFsLCAkZm9udC1zaXplLXhzLCAkYm9yZGVyLXJhZGl1cy1idG4tc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCk7XG59XG4uYnRuLXdkIHtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xufVxuXG4uYnRuLWdyb3VwLnNlbGVjdHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5idG4tZ3JvdXAuc2VsZWN0IC5idG57XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5idG4tZ3JvdXAuc2VsZWN0IC5jYXJldHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICByaWdodDogOHB4O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fYnV0dG9ucy5zY3NzIiwiLy8gTWl4aW4gZm9yIGdlbmVyYXRpbmcgbmV3IHN0eWxlc1xuQG1peGluIGJ0bi1zdHlsZXMoJGJ0bi1jb2xvciwgJGJ0bi1zdGF0ZXMtY29sb3IpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYnRuLWNvbG9yO1xuICBjb2xvcjogJGJ0bi1jb2xvcjtcbiAgXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1jb2xvcjtcbiAgICBjb2xvcjogJGZpbGwtZm9udC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRidG4tY29sb3I7XG4gICAgLmNhcmV0e1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkZmlsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuICBcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFuc3BhcmVudC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJGJ0bi1jb2xvcjtcbiAgICB9XG4gIH1cbiAgXG5cbiAgJi5idG4tZmlsbCB7XG4gICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWNvbG9yO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7ICBcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSxcbiAgICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXN0YXRlcy1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnRuLXN0YXRlcy1jb2xvcjtcbiAgICB9XG4gICAgXG4gICAgLmNhcmV0e1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgfVxuICB9XG4gIFxuICAmLmJ0bi1zaW1wbGUge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSxcbiAgICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHJhbnNwYXJlbnQtYmc7XG4gICAgICAgIGNvbG9yOiAkYnRuLXN0YXRlcy1jb2xvcjtcbiAgICB9XG4gICAgXG4gICAgLmNhcmV0e1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgfVxuICB9ICBcbiAgXG4gIC5jYXJldHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidG4tY29sb3I7XG4gIH1cbn1cblxuXG5AbWl4aW4gYnRuLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRib3JkZXIsICRsaW5lLWhlaWdodCl7XG4gICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICBib3JkZXItcmFkaXVzOiAkYm9yZGVyO1xuICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBcbiAgICYuYnRuLXNpbXBsZXtcbiAgICAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCArIDIgJHBhZGRpbmctaG9yaXpvbnRhbDsgXG4gICB9XG4gICAgXG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogI3thbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKX07XG59XG5cbkBtaXhpbiBibGFjay1maWx0ZXIoJG9wYWNpdHkpe1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywxNywxNywkb3BhY2l0eSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB6LWluZGV4OiAxOyBcbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL21peGlucy9fdHJhbnNwYXJlbmN5LnNjc3MiLCJpbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2w6LW1vei1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7XG4gICBAaW5jbHVkZSBwbGFjZWhvbGRlcigkbWVkaXVtLWdyYXksMSk7XG59XG4uZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuODQ2O1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAvKi13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTsqL1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIC13ZWJraXQtYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xuICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcbiAgICBAaW5jbHVkZSBpbnB1dC1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGhlaWdodC1iYXNlKTtcblxuICAgIC8qYmFja2dyb3VuZC1jb2xvcjogJGdyYXktaW5wdXQtYmc7XG4gICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAwcztcbiAgICBAaW5jbHVkZSBpbnB1dC1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGhlaWdodC1iYXNlKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpOyovXG5cbiAgICAmOmZvY3Vze1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtYmc7XG4gICAgICAgICAgIC8vQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMTk2ZjM7XG4gICAgICAgICAgICAvKi13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICMyMTk2ZjM7Ki9cbiAgICB9XG5cbiAgICAuaGFzLXN1Y2Nlc3MgJixcbiAgICAuaGFzLWVycm9yICYsXG4gICAgLmhhcy1zdWNjZXNzICY6Zm9jdXMsXG4gICAgLmhhcy1lcnJvciAmOmZvY3Vze1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIH1cblxuICAgIC5oYXMtc3VjY2VzcyAme1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1pbnB1dC1iZztcbiAgICAgICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICAmLmJvcmRlci1pbnB1dHtcbiAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGFzLXN1Y2Nlc3MgJjpmb2N1c3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWJnO1xuICAgIH1cbiAgICAuaGFzLWVycm9yICZ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXItaW5wdXQtYmc7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyLWNvbG9yO1xuICAgICAgICAmLmJvcmRlci1pbnB1dHtcbiAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFuZ2VyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oYXMtZXJyb3IgJjpmb2N1c3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWJnO1xuICAgIH1cblxuICAgICYgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNre1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAmLmJvcmRlci1pbnB1dHtcbiAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1saW5lLWNvbG9yO1xuICAgIH1cbiAgICAub3BlbiAme1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5pbnB1dC1sZ3tcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5oYXMtZXJyb3J7XG4gICAgLmZvcm0tY29udHJvbC1mZWVkYmFjaywgLmNvbnRyb2wtbGFiZWx7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyLWNvbG9yO1xuICAgIH1cbn1cbi5oYXMtc3VjY2Vzc3tcbiAgICAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuY29udHJvbC1sYWJlbHtcbiAgICAgICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgIH1cbn1cblxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWlucHV0LWJnO1xuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAgIC5oYXMtc3VjY2VzcyAmLFxuICAgIC5oYXMtZXJyb3IgJntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgIH1cbiAgICAuaGFzLWVycm9yIC5mb3JtLWNvbnRyb2w6Zm9jdXMgKyAme1xuICAgICAgICBjb2xvcjogJGRhbmdlci1jb2xvcjtcbiAgICB9XG4gICAgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXMgKyAme1xuICAgICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuICAgIC5mb3JtLWNvbnRyb2w6Zm9jdXMgKyAmLFxuICAgIC5mb3JtLWNvbnRyb2w6Zm9jdXMgfiAme1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgfVxufVxuLmJvcmRlci1pbnB1dHtcbiAgICAuaW5wdXQtZ3JvdXAtYWRkb257XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICR0YWJsZS1saW5lLWNvbG9yO1xuICAgIH1cbn1cbi5pbnB1dC1ncm91cHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLmlucHV0LWdyb3VwW2Rpc2FibGVkXXtcbiAgICAuaW5wdXQtZ3JvdXAtYWRkb257XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBib3JkZXItcmlnaHQ6IDAgbm9uZTtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWxlZnQ6IDAgbm9uZTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSwgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoJGRhcmstZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdOjotbW96LXBsYWNlaG9sZGVye1xuICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoJGRhcmstZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdOi1tb3otcGxhY2Vob2xkZXJ7XG4gICBAaW5jbHVkZSBwbGFjZWhvbGRlcigkbWVkaXVtLWdyYXksMSk7XG59XG4uZm9ybS1jb250cm9sW2Rpc2FibGVkXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntcbiAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRtZWRpdW0tZ3JheSwxKTtcbn1cbi5pbnB1dC1ncm91cC1idG4gLmJ0bntcbiAgICBib3JkZXItd2lkdGg6ICRib3JkZXItdGhpbjtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1yb3VuZC12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG59XG4uaW5wdXQtZ3JvdXAtYnRuIC5idG4tZGVmYXVsdDpub3QoLmJ0bi1maWxsKXtcbiAgICBib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbn1cblxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bntcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cbnRleHRhcmVhLmZvcm0tY29udHJvbHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIHJlc2l6ZTogbm9uZTtcbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9faW5wdXRzLnNjc3MiLCJAbWl4aW4gaW5wdXQtc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGhlaWdodCl7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3IsICRvcGFjaXR5KXtcbiAgIGNvbG9yOiAkY29sb3I7XG4gICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xufVxuXG5AbWl4aW4gbGlnaHQtZm9ybSgpe1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOjA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19pbnB1dHMuc2NzcyIsIi5hbGVydHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIFxuICAgIC5jb250YWluZXIgJntcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIFxuICAgIH1cbiAgICAubmF2YmFyICZ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogODVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICAgIC5uYXZiYXI6bm90KC5uYXZiYXItdHJhbnNwYXJlbnQpICZ7XG4gICAgICAgIHRvcDogNzBweDtcbiAgICB9XG4gICAgXG4gICAgc3BhbltkYXRhLW5vdGlmeT1cImljb25cIl17XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY2xvc2UgfiBzcGFue1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA4OSU7XG4gICAgfVxuICAgIFxuICAgICZbZGF0YS1ub3RpZnk9XCJjb250YWluZXJcIl17XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgfVxuICAgIFxuICAgICYuYWxlcnQtd2l0aC1pY29ue1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDY1cHg7XG4gICAgfVxufVxuLmFsZXJ0LWluZm97XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWluZm87XG4gICAgY29sb3I6ICRpbmZvLXN0YXRlcy1jb2xvcjtcbn1cbi5hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctc3VjY2VzcztcbiAgICBjb2xvcjogJHN1Y2Nlc3Mtc3RhdGVzLWNvbG9yO1xufVxuLmFsZXJ0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy13YXJuaW5nO1xuICAgIGNvbG9yOiAkd2FybmluZy1zdGF0ZXMtY29sb3I7XG59XG4uYWxlcnQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFuZ2VyO1xuICAgIGNvbG9yOiAkZGFuZ2VyLXN0YXRlcy1jb2xvcjtcbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fYWxlcnRzLnNjc3MiLCIudGFibGV7XG4gICAgdGhlYWQsXG4gICAgdGJvZHksXG4gICAgdGZvb3R7XG4gICAgICAgIHRyID4gdGgsXG4gICAgICAgIHRyID4gdGR7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRhYmxlLWxpbmUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICA+IHRoZWFkID4gdHIgPiB0aHtcbiAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTtcbiAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICAgfVxuXG4gICAucmFkaW8sXG4gICAuY2hlY2tib3h7XG4gICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgd2lkdGg6IDE1cHg7XG4gICB9XG4gICA+IHRoZWFkID4gdHIgPiB0aCxcbiAgID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgPiB0Zm9vdCA+IHRyID4gdGgsXG4gICA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgPiB0Zm9vdCA+IHRyID4gdGR7XG4gICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgfVxuXG4gICAudGgtZGVzY3JpcHRpb257XG4gICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgIH1cbiAgIC50ZC1wcmljZXtcbiAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICB9XG4gICAudGQtdG90YWx7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWg1O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAudGQtYWN0aW9ucyAuYnRue1xuXG4gICAgICAgICYuYnRuLXNtLFxuICAgICAgICAmLmJ0bi14c3tcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiB0Ym9keSA+IHRye1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuLnRhYmxlLXN0cmlwZWR7XG4gICAgdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbGUtYmc7XG4gICAgfVxuICAgID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgID4gdGhlYWQgPiB0ciA+IHRkLFxuICAgID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgID4gdGZvb3QgPiB0ciA+IHRke1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDhweDtcbiAgICB9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fdGFibGVzLnNjc3MiLCIvKiAgICAgIENoZWNrYm94IGFuZCByYWRpbyAgICAgICAgICovXG4uY2hlY2tib3gsXG4ucmFkaW8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4yNXMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4yNXMgbGluZWFyO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmljb25zIHtcbiAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3Isb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICBvcGFjaXR5OiAuNTA7XG4gICAgfVxuXG5cbiAgICAmLmNoZWNrZWR7XG4gICAgICAgIC5pY29uc3tcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dHtcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmNoZWNrYm94LFxuLnJhZGlve1xuICAgIGxhYmVse1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgfVxufVxuXG4uY2hlY2tib3ggLmljb25zIC5maXJzdC1pY29uLFxuLnJhZGlvIC5pY29ucyAuZmlyc3QtaWNvbixcbi5jaGVja2JveCAuaWNvbnMgLnNlY29uZC1pY29uLFxuLnJhZGlvIC5pY29ucyAuc2Vjb25kLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xufVxuLmNoZWNrYm94IC5pY29ucyAuc2Vjb25kLWljb24sXG4ucmFkaW8gLmljb25zIC5zZWNvbmQtaWNvbiB7XG4gIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG59XG4uY2hlY2tib3g6aG92ZXIsXG4ucmFkaW86aG92ZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbn1cbi5jaGVja2JveDpob3ZlciAuZmlyc3QtaWNvbixcbi5yYWRpbzpob3ZlciAuZmlyc3QtaWNvbiB7XG4gQGluY2x1ZGUgb3BhY2l0eSgwKTtcbn1cbi5jaGVja2JveDpob3ZlciAuc2Vjb25kLWljb24sXG4ucmFkaW86aG92ZXIgLnNlY29uZC1pY29uIHtcbiBAaW5jbHVkZSBvcGFjaXR5ICgxKTtcbn1cbi5jaGVja2JveC5jaGVja2VkLFxuLnJhZGlvLmNoZWNrZWQge1xuLy8gICBjb2xvcjogJGluZm8tY29sb3I7XG59XG4uY2hlY2tib3guY2hlY2tlZCAuZmlyc3QtaWNvbixcbi5yYWRpby5jaGVja2VkIC5maXJzdC1pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuLmNoZWNrYm94LmNoZWNrZWQgLnNlY29uZC1pY29uLFxuLnJhZGlvLmNoZWNrZWQgLnNlY29uZC1pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4vLyAgIGNvbG9yOiAkaW5mby1jb2xvcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG59XG4uY2hlY2tib3guZGlzYWJsZWQsXG4ucmFkaW8uZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG59XG4uY2hlY2tib3guZGlzYWJsZWQgLmljb25zLFxuLnJhZGlvLmRpc2FibGVkIC5pY29ucyB7XG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG59XG4uY2hlY2tib3guZGlzYWJsZWQgLmZpcnN0LWljb24sXG4ucmFkaW8uZGlzYWJsZWQgLmZpcnN0LWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cbi5jaGVja2JveC5kaXNhYmxlZCAuc2Vjb25kLWljb24sXG4ucmFkaW8uZGlzYWJsZWQgLnNlY29uZC1pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuLmNoZWNrYm94LmRpc2FibGVkLmNoZWNrZWQgLmljb25zLFxuLnJhZGlvLmRpc2FibGVkLmNoZWNrZWQgLmljb25zIHtcbiAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbn1cbi5jaGVja2JveC5kaXNhYmxlZC5jaGVja2VkIC5maXJzdC1pY29uLFxuLnJhZGlvLmRpc2FibGVkLmNoZWNrZWQgLmZpcnN0LWljb24ge1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG4uY2hlY2tib3guZGlzYWJsZWQuY2hlY2tlZCAuc2Vjb25kLWljb24sXG4ucmFkaW8uZGlzYWJsZWQuY2hlY2tlZCAuc2Vjb25kLWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2NoZWNrYm94LXJhZGlvLnNjc3MiLCIubmF2IHtcbiAgICA+IGxpe1xuICAgICAgICA+IGE6aG92ZXIsXG4gICAgICAgID4gYTpmb2N1c3tcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuLm5hdmJhcntcbiAgICBib3JkZXI6ICRub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW5hdmJhcjtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgLm5hdmJhci1icmFuZHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDs7XG4gICAgICAgIG1hcmdpbjogJG5hdmJhci1tYXJnaW4tYnJhbmQ7XG4gICAgICAgIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy1icmFuZDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlLW5hdmJhcjtcbiAgICB9XG4gICAgLm5hdmJhci1uYXZ7XG4gICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG4gICAgICAgICAgICAgbWFyZ2luOiAkbmF2YmFyLW1hcmdpbi1hO1xuICAgICAgICAgICAgIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy1hO1xuXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICAgICA+IGxpID4gYS5idG57XG4gICAgICAgICAgICAgbWFyZ2luOiAkbmF2YmFyLW1hcmdpbi1hLWJ0bjtcbiAgICAgICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bntcbiAgICAgICBtYXJnaW46ICRuYXZiYXItbWFyZ2luLWJ0bjtcbiAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICB9XG4gICAgLmJ0bi1zaW1wbGV7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW07XG4gICAgfVxufVxuXG4ubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnV7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQge1xuICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBocHZtcy1ibHVlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbiAgICAuYnJhbmR7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdmJhci1uYXZ7XG4gICAgICAgID4gbGkgPiBhOm5vdCguYnRuKXtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5hY3RpdmUgPiBhLFxuICAgICAgICA+IC5hY3RpdmUgPiBhOm5vdCguYnRuKTpob3ZlcixcbiAgICAgICAgPiAuYWN0aXZlID4gYTpub3QoLmJ0bik6Zm9jdXMsXG4gICAgICAgID4gbGkgPiBhOm5vdCguYnRuKTpob3ZlcixcbiAgICAgICAgPiBsaSA+IGE6bm90KC5idG4pOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmRyb3Bkb3duID4gYTpob3ZlciAuY2FyZXQsXG4gICAgICAgID4gLmRyb3Bkb3duID4gYTpmb2N1cyAuY2FyZXQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGluZm8tY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW5mby1jb2xvcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgPiAub3BlbiA+IGEsXG4gICAgICAgID4gLm9wZW4gPiBhOmhvdmVyLFxuICAgICAgICA+IC5vcGVuID4gYTpmb2N1c3tcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGU6aG92ZXIsLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICY6bm90KC5uYXZiYXItdHJhbnNwYXJlbnQpIC5idG4tZGVmYXVsdDpob3ZlcntcbiAgICAgICAgY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRpbmZvLWNvbG9yO1xuICAgIH1cbiAgICAmOm5vdCgubmF2YmFyLXRyYW5zcGFyZW50KSAuYnRuLW5ldXRyYWwsXG4gICAgJjpub3QoLm5hdmJhci10cmFuc3BhcmVudCkgLmJ0bi1uZXV0cmFsOmhvdmVyLFxuICAgICY6bm90KC5uYXZiYXItdHJhbnNwYXJlbnQpIC5idG4tbmV1dHJhbDphY3RpdmV7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgfVxufVxuXG4ubmF2YmFyLWZvcm17XG4gICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgLmZvcm0tY29udHJvbHtcbiAgICAgICAgQGluY2x1ZGUgbGlnaHQtZm9ybSgpO1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1uYXZiYXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtZ2VuZXJhbDtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cbiAgICAubmF2YmFyLXRyYW5zcGFyZW50ICYgLmZvcm0tY29udHJvbCxcbiAgICBbY2xhc3MqPVwibmF2YmFyLWN0XCJdICYgLmZvcm0tY29udHJvbHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAkbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLWNvbG9yLC42KTtcbiAgICB9XG5cbn1cblxuLm5hdmJhci1jdC1wcmltYXJ5e1xuICAgIEBpbmNsdWRlIG5hdmJhci1jb2xvcigkYmctcHJpbWFyeSk7XG59XG4ubmF2YmFyLWN0LWluZm97XG4gICAgQGluY2x1ZGUgbmF2YmFyLWNvbG9yKCRiZy1pbmZvKTtcbn1cbi5uYXZiYXItY3Qtc3VjY2Vzc3tcbiAgICBAaW5jbHVkZSBuYXZiYXItY29sb3IoJGJnLXN1Y2Nlc3MpO1xufVxuLm5hdmJhci1jdC13YXJuaW5ne1xuICAgIEBpbmNsdWRlIG5hdmJhci1jb2xvcigkYmctd2FybmluZyk7XG59XG4ubmF2YmFyLWN0LWRhbmdlcntcbiAgICBAaW5jbHVkZSBuYXZiYXItY29sb3IoJGJnLWRhbmdlcik7XG59XG5cbi5uYXZiYXItdHJhbnNwYXJlbnR7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ubmF2YmFyLXRvZ2dsZXtcbiAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgYm9yZGVyOiAkbm9uZTtcblxuICAgIC5pY29uLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICB9XG4gICAgIC5uYXZiYXItY29sbGFwc2UsXG4gICAgIC5uYXZiYXItZm9ybSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpob3ZlcixcbiAgICAmLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50LCBbY2xhc3MqPVwibmF2YmFyLWN0XCJde1xuXG4gICAgLm5hdmJhci1icmFuZHtcblxuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KC45KTtcblxuICAgICAgICAmOmZvY3VzLFxuXG4gICAgICAgICY6aG92ZXJ7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5uYXZiYXItYnJhbmQ6bm90KFtjbGFzcyo9XCJ0ZXh0XCJdKXtcblxuICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuXG4gICAgfVxuXG4gICAgLm5hdmJhci1uYXZ7XG5cbiAgICAgICAgPiBsaSA+IGE6bm90KC5idG4pe1xuXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjgpO1xuXG4gICAgICAgIH1cblxuICAgICAgICA+IC5hY3RpdmUgPiBhOm5vdCguYnRuKSxcblxuICAgICAgICA+IC5hY3RpdmUgPiBhOmhvdmVyOm5vdCguYnRuKSxcblxuICAgICAgICA+IC5hY3RpdmUgPiBhOmZvY3VzOm5vdCguYnRuKSxcblxuICAgICAgICA+IGxpID4gYTpob3Zlcjpub3QoLmJ0biksXG5cbiAgICAgICAgPiBsaSA+IGE6Zm9jdXM6bm90KC5idG4pe1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAubmF2ID4gbGkgPiBhLmJ0bjpob3ZlcntcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmRyb3Bkb3duID4gYSAuY2FyZXQsXG5cbiAgICAgICAgPiAuZHJvcGRvd24gPiBhOmhvdmVyIC5jYXJldCxcblxuICAgICAgICA+IC5kcm9wZG93biA+IGE6Zm9jdXMgLmNhcmV0e1xuXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgPiAub3BlbiA+IGEsXG5cbiAgICAgICAgPiAub3BlbiA+IGE6aG92ZXIsXG5cbiAgICAgICAgPiAub3BlbiA+IGE6Zm9jdXMge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYnRuLWRlZmF1bHR7XG5cbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1jb2xvcjtcblxuICAgIH1cblxuICAgIC5idG4tZGVmYXVsdC5idG4tZmlsbHtcblxuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSguOSk7XG5cbiAgICB9XG5cbiAgICAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6aG92ZXIsXG5cbiAgICAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6Zm9jdXMsXG5cbiAgICAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6YWN0aXZlLFxuXG4gICAgLmJ0bi1kZWZhdWx0LmJ0bi1maWxsLmFjdGl2ZSxcblxuICAgIC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWZpbGwuYnRuLWRlZmF1bHR7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGUtY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcblxuICAgIH1cblxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fbmF2YmFycy5zY3NzIiwiQG1peGluIG5hdmJhci1jb2xvcigkY29sb3Ipe1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGNlbnRlci1pdGVtKCl7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvbWl4aW5zL19uYXZiYXJzLnNjc3MiLCIuZm9vdGVye1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG5hdiB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhOm5vdCguYnRuKXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtc3RhdGVzLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29weXJpZ2h0e1xuICAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46IDE1cHggM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuaGVhcnR7XG4gICAgICAgIGNvbG9yOiAkZGFuZ2VyLWNvbG9yO1xuICAgIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2Zvb3RlcnMuc2NzcyIsIi5kcm9wZG93bi1tZW51e1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWxlLWJnO1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWV4dHJlbWU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiA5MDAwOyAgXG4gICAgXG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTsgXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tc2hhZG93KTtcbiAgICAgICAgXG4vLyAgICAgdGhlIHN0eWxlIGZvciBvcGVuaW5nIGRyb3Bkb3ducyBvbiBtb2JpbGUgZGV2aWNlczsgZm9yIHRoZSBkZXNrdG9wIHZlcnNpb24gY2hlY2sgdGhlIF9yZXNwb25zaXZlLnNjc3MgZmlsZSAgICBcbiAgICAub3BlbiAme1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH0gICAgXG4gICAgXG4gICAgLmRpdmlkZXJ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tcGFsZS1iZztcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kcm9wZG93bi1oZWFkZXJ7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWRyb3Bkb3duLXZlcnRpY2FsICRwYWRkaW5nLWRyb3Bkb3duLWhvcml6b250YWw7XG4gICAgfVxuICAgIFxuLy8gICAgIHRoZSBzdHlsZSBmb3IgdGhlIGRyb3Bkb3duIG1lbnUgdGhhdCBhcHBlYXJzIHVuZGVyIHNlbGVjdCwgaXQgaXMgZGlmZmVyZW50IGZyb20gdGhlIGRlZmF1bHQgb25lXG4gICAgLnNlbGVjdCAme1xuICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJvdHRvbTsgXG4gICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRzZWxlY3QtY29vcmRpbmF0ZXMpO1xuICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1zY2FsZSgxKTtcbiAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmYXN0LXRyYW5zaXRpb24tdGltZSwgJHRyYW5zaXRpb24tbGluZWFyKTtcbiAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICB9XG4gICAgLnNlbGVjdC5vcGVuICZ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuICAgIFxuICAgID4gbGkgPiBhIHtcbiAgICAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgcGFkZGluZzogJHBhZGRpbmctZHJvcGRvd24tdmVydGljYWwgJHBhZGRpbmctZHJvcGRvd24taG9yaXpvbnRhbDtcbiAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vbmUoKTtcbiAgICAgICBcbiAgICAgICBpbWd7XG4gICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgfVxuICAgIH1cbiAgICA+IGxpID4gYTpmb2N1c3tcbiAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idG4tZ3JvdXAuc2VsZWN0ICZ7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgPiBsaTpmaXJzdC1jaGlsZCA+IGF7XG4gICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICB9XG4gICAgXG4gICAgPiBsaTpsYXN0LWNoaWxkID4gYXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWV4dHJlbWU7XG4gICAgfVxuICAgIFxuICAgIC5zZWxlY3QgJiA+IGxpOmZpcnN0LWNoaWxkID4gYXtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgIH1cbiAgICBcbiAgICA+IGxpID4gYTpob3ZlcixcbiAgICA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xuICAgICAgICBjb2xvcjogJGZpbGwtZm9udC1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmLmRyb3Bkb3duLXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsXG4gICAgJi5kcm9wZG93bi1wcmltYXJ5ID4gbGkgPiBhOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgJi5kcm9wZG93bi1pbmZvID4gbGkgPiBhOmhvdmVyLFxuICAgICYuZHJvcGRvd24taW5mbyA+IGxpID4gYTpmb2N1c3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm8tY29sb3I7XG4gICAgfVxuICAgICYuZHJvcGRvd24tc3VjY2VzcyA+IGxpID4gYTpob3ZlcixcbiAgICAmLmRyb3Bkb3duLXN1Y2Nlc3MgPiBsaSA+IGE6Zm9jdXN7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgIH1cbiAgICAmLmRyb3Bkb3duLXdhcm5pbmcgPiBsaSA+IGE6aG92ZXIsXG4gICAgJi5kcm9wZG93bi13YXJuaW5nID4gbGkgPiBhOmZvY3Vze1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgICB9XG4gICAgJi5kcm9wZG93bi1kYW5nZXIgPiBsaSA+IGE6aG92ZXIsXG4gICAgJi5kcm9wZG93bi1kYW5nZXIgPiBsaSA+IGE6Zm9jdXN7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXItY29sb3I7XG4gICAgfVxuXG59XG5cbi8vZml4IGJ1ZyBmb3IgdGhlIHNlbGVjdCBpdGVtcyBpbiBidG4tZ3JvdXAgXG4uYnRuLWdyb3VwLnNlbGVjdHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJ0bi1ncm91cC5zZWxlY3Qub3BlbntcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2Ryb3Bkb3duLnNjc3MiLCIuY2FyZHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtZXh0cmVtZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAycHggcmdiYSgyMDQsIDE5NywgMTg1LCAwLjUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgY29sb3I6ICRjYXJkLWJsYWNrLWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgIC5jYXJkLWJsb2NrIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjZjk2MzMyO1xuICAgIH1cblxuICAgIC5pbWFnZXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWV4dHJlbWUgJGJvcmRlci1yYWRpdXMtZXh0cmVtZSAwIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50e1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTBweCAxNXB4O1xuICAgIH1cbiAgICAuaGVhZGVye1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMDtcbiAgICB9XG4gICAgLmRlc2NyaXB0aW9ue1xuICAgICAgICBmb250LXNpemU6ICRmb250LXBhcmFncmFwaDtcbiAgICAgICAgY29sb3I6ICRmb250LWNvbG9yO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjU3ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICBoNntcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jYXRlZ29yeSxcbiAgICBsYWJlbHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1wYXJhZ3JhcGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLnRpdGxle1xuICAgICAgICBtYXJnaW46ICRub25lO1xuICAgICAgICBjb2xvcjogJGNhcmQtYmxhY2stY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgfVxuICAgIC5hdmF0YXJ7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICAgIC5mb290ZXJ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAgIC5sZWdlbmR7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGhye1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdGF0c3tcbiAgICAgICAgY29sb3I6ICNhOWE5YTk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGl7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyIGRpdntcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5hdXRob3J7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuYXV0aG9yIGl7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIH1cblxuICAgICYuY2FyZC1zZXBhcmF0b3I6YWZ0ZXJ7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5jdC1jaGFydHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMzBweDtcbiAgICAgICAgaGVpZ2h0OiAyNDVweDtcbiAgICB9XG5cbiAgICAudGFibGV7XG4gICAgICAgIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aGVhZCB0aDpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoZWFkIHRoOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFsZXJ0e1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5hbGVydC13aXRoLWljb257XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDY1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmljb24tYmlne1xuICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgbWluLWhlaWdodDogNjRweDtcbiAgICB9XG4gICAgLm51bWJlcnN7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bC50ZWFtLW1lbWJlcnN7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tcGFsZS1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5jYXJkLXVzZXJ7XG4gICAgLmltYWdle1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWFnZS1wbGFpbntcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMTBweDtcbiAgICB9XG4gICAgLmF1dGhvcntcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTY1cHg7XG4gICAgICAgIC50aXRsZXtcbiAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1zdGF0ZXMtY29sb3I7XG4gICAgICAgICAgICBzbWFsbHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNhcmQtbXV0ZWQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmF2YXRhcntcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAmLmJvcmRlci13aGl0ZXtcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmLmJvcmRlci1ncmF5e1xuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgJGNhcmQtbXV0ZWQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRpdGxle1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG4gICAgLmRlc2NyaXB0aW9ue1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbiAgICAuY29udGVudHtcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgfVxuXG4gICAgJi5jYXJkLXBsYWlue1xuICAgICAgICAuYXZhdGFye1xuICAgICAgICAgICAgaGVpZ2h0OiAxOTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmQtbWFwe1xuICAgIC5tYXB7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAgID4gZGl2e1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuLmNhcmQtdXNlcixcbi5jYXJkLXByaWNle1xuICAgIC5mb290ZXJ7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDEwcHg7XG4gICAgfVxuICAgIGhye1xuICAgICAgICBtYXJnaW46IDVweCAxNXB4O1xuICAgIH1cbn1cbi5jYXJkLXBsYWlue1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC5pbWFnZXtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvYWRtaW4vdmVuZG9yL3Nhc3MvcGFwZXIvX2NhcmRzLnNjc3MiLCJAbWl4aW4gY3QtcmVzcG9uc2l2ZS1zdmctY29udGFpbmVyKCR3aWR0aDogMTAwJSwgJHJhdGlvOiAkY3QtY29udGFpbmVyLXJhdGlvKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcmF0aW8gKiAxMDAlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQG1peGluIGN0LWFsaWduLWp1c3RpZnkoJGN0LXRleHQtYWxpZ246ICRjdC10ZXh0LWFsaWduLCAkY3QtdGV4dC1qdXN0aWZ5OiAkY3QtdGV4dC1qdXN0aWZ5KSB7XG4gIC13ZWJraXQtYm94LWFsaWduOiAkY3QtdGV4dC1hbGlnbjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJGN0LXRleHQtYWxpZ247XG4gIC1tcy1mbGV4LWFsaWduOiAkY3QtdGV4dC1hbGlnbjtcbiAgYWxpZ24taXRlbXM6ICRjdC10ZXh0LWFsaWduO1xuICAtd2Via2l0LWJveC1wYWNrOiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJGN0LXRleHQtanVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazogJGN0LXRleHQtanVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAvLyBGYWxsYmFjayB0byB0ZXh0LWFsaWduIGZvciBub24tZmxleCBicm93c2Vyc1xuICBAaWYoJGN0LXRleHQtanVzdGlmeSA9PSAnZmxleC1zdGFydCcpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9IEBlbHNlIGlmICgkY3QtdGV4dC1qdXN0aWZ5ID09ICdmbGV4LWVuZCcpIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBjdC1mbGV4KCkge1xuICAvLyBGYWxsYmFjayB0byBibG9ja1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3I6ICRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplOiAkY3QtdGV4dC1zaXplLCAkY3QtdGV4dC1saW5lLWhlaWdodDogJGN0LXRleHQtbGluZS1oZWlnaHQpIHtcbiAgZmlsbDogJGN0LXRleHQtY29sb3I7XG4gIGNvbG9yOiAkY3QtdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAkY3QtdGV4dC1zaXplO1xuICBsaW5lLWhlaWdodDogJGN0LXRleHQtbGluZS1oZWlnaHQ7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1ncmlkKCRjdC1ncmlkLWNvbG9yOiAkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGg6ICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheSkge1xuICBzdHJva2U6ICRjdC1ncmlkLWNvbG9yO1xuICBzdHJva2Utd2lkdGg6ICRjdC1ncmlkLXdpZHRoO1xuXG4gIEBpZiAoJGN0LWdyaWQtZGFzaGFycmF5KSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJGN0LWdyaWQtZGFzaGFycmF5O1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydC1wb2ludCgkY3QtcG9pbnQtc2l6ZTogJGN0LXBvaW50LXNpemUsICRjdC1wb2ludC1zaGFwZTogJGN0LXBvaW50LXNoYXBlKSB7XG4gIHN0cm9rZS13aWR0aDogJGN0LXBvaW50LXNpemU7XG4gIHN0cm9rZS1saW5lY2FwOiAkY3QtcG9pbnQtc2hhcGU7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1saW5lKCRjdC1saW5lLXdpZHRoOiAkY3QtbGluZS13aWR0aCwgJGN0LWxpbmUtZGFzaGFycmF5OiAkY3QtbGluZS1kYXNoYXJyYXkpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtbGluZS13aWR0aDtcblxuICBAaWYgKCRjdC1saW5lLWRhc2hhcnJheSkge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRjdC1saW5lLWRhc2hhcnJheTtcbiAgfVxufVxuXG5AbWl4aW4gY3QtY2hhcnQtYXJlYSgkY3QtYXJlYS1vcGFjaXR5OiAkY3QtYXJlYS1vcGFjaXR5KSB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbC1vcGFjaXR5OiAkY3QtYXJlYS1vcGFjaXR5O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtYmFyKCRjdC1iYXItd2lkdGg6ICRjdC1iYXItd2lkdGgpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtYmFyLXdpZHRoO1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtZG9udXQoJGN0LWRvbnV0LXdpZHRoOiAkY3QtZG9udXQtd2lkdGgpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtZG9udXQtd2lkdGg7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1zZXJpZXMtY29sb3IoJGNvbG9yKSB7XG4gIC4jeyRjdC1jbGFzcy1wb2ludH0sIC4jeyRjdC1jbGFzcy1saW5lfSwgLiN7JGN0LWNsYXNzLWJhcn0sIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dH0ge1xuICAgIHN0cm9rZTogJGNvbG9yO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLXNsaWNlLXBpZX0sIC4jeyRjdC1jbGFzcy1hcmVhfSB7XG4gICAgZmlsbDogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydCgkY3QtY29udGFpbmVyLXJhdGlvOiAkY3QtY29udGFpbmVyLXJhdGlvLCAkY3QtdGV4dC1jb2xvcjogJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemU6ICRjdC10ZXh0LXNpemUsICRjdC1ncmlkLWNvbG9yOiAkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGg6ICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheSwgJGN0LXBvaW50LXNpemU6ICRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGU6ICRjdC1wb2ludC1zaGFwZSwgJGN0LWxpbmUtd2lkdGg6ICRjdC1saW5lLXdpZHRoLCAkY3QtYmFyLXdpZHRoOiAkY3QtYmFyLXdpZHRoLCAkY3QtZG9udXQtd2lkdGg6ICRjdC1kb251dC13aWR0aCwgJGN0LXNlcmllcy1uYW1lczogJGN0LXNlcmllcy1uYW1lcywgJGN0LXNlcmllcy1jb2xvcnM6ICRjdC1zZXJpZXMtY29sb3JzKSB7XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemUpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWxpbmV9IC4jeyRjdC1jbGFzcy1sYWJlbH0sXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9IC4jeyRjdC1jbGFzcy1sYWJlbH0ge1xuICAgIEBpbmNsdWRlIGN0LWZsZXgoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtZW5kKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IGVuZDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgY2VudGVyKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIC8vQGluY2x1ZGUgY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemUsIGNlbnRlciwgJGN0LXZlcnRpY2FsLXRleHQtanVzdGlmeSk7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShjZW50ZXIsIGZsZXgtZW5kKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IGVuZDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShjZW50ZXIsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogZW5kO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWdyaWR9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1ncmlkKCRjdC1ncmlkLWNvbG9yLCAkY3QtZ3JpZC13aWR0aCwgJGN0LWdyaWQtZGFzaGFycmF5KTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1wb2ludH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LXBvaW50KCRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGUpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxpbmV9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1saW5lKCRjdC1saW5lLXdpZHRoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1hcmVhfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtYXJlYSgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWJhcn0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWJhcigkY3QtYmFyLXdpZHRoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWRvbnV0KCRjdC1kb251dC13aWR0aCk7XG4gIH1cblxuICBAaWYgJGN0LWluY2x1ZGUtY29sb3JlZC1zZXJpZXMge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRvIGxlbmd0aCgkY3Qtc2VyaWVzLW5hbWVzKSB7XG4gICAgICAuI3skY3QtY2xhc3Mtc2VyaWVzfS0je250aCgkY3Qtc2VyaWVzLW5hbWVzLCAkaSArIDEpfSB7XG4gICAgICAgICRjb2xvcjogbnRoKCRjdC1zZXJpZXMtY29sb3JzLCAkaSArIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGN0LWNoYXJ0LXNlcmllcy1jb2xvcigkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgJGN0LWluY2x1ZGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGN0LWNoYXJ0KCk7XG5cbiAgQGlmICRjdC1pbmNsdWRlLWFsdGVybmF0aXZlLXJlc3BvbnNpdmUtY29udGFpbmVycyB7XG4gICAgQGZvciAkaSBmcm9tIDAgdG8gbGVuZ3RoKCRjdC1zY2FsZXMtbmFtZXMpIHtcbiAgICAgIC4je250aCgkY3Qtc2NhbGVzLW5hbWVzLCAkaSArIDEpfSB7XG4gICAgICAgIEBpbmNsdWRlIGN0LXJlc3BvbnNpdmUtc3ZnLWNvbnRhaW5lcigkcmF0aW86IG50aCgkY3Qtc2NhbGVzLCAkaSArIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL2FkbWluL3ZlbmRvci9zYXNzL3BhcGVyL19jaGFydGlzdC5zY3NzIiwiQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXtcbiAgICAubmF2YmFye1xuICAgICAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgIH1cbiAgICAubmF2YmFyLWZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cbiAgICAubmF2YmFyLXNlYXJjaC1mb3Jte1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUsXG4gICAgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51e1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTQwcHgsIDBweCk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpIDBzLCBvcGFjaXR5IDAuM3MgZWFzZSAwcywgaGVpZ2h0IDBzIGxpbmVhciAwLjM1cztcbiAgICB9XG4gICAgLm5hdmJhci1uYXYgPiBsaS5vcGVuID4gLmRyb3Bkb3duLW1lbnUsIC5kcm9wZG93bi5vcGVuIC5kcm9wZG93bi1tZW51e1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudTpiZWZvcmV7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDExcHggc29saWQgJG1lZGl1bS1wYWxlLWJnO1xuICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICB0b3A6IC0xMXB4O1xuICAgIH1cbiAgICAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnU6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxMXB4IHNvbGlkICRwYWxlLWJnO1xuICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2Lm5hdmJhci1sZWZ0ID4gbGkgPiAuZHJvcGRvd24tbWVudTpiZWZvcmV7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAxMnB4O1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2Lm5hdmJhci1sZWZ0ID4gbGkgPiAuZHJvcGRvd24tbWVudTphZnRlcntcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgfVxuXG4gICAgLm5hdmJhcntcbiAgICAgICAgLm5hdmJhci1oZWFkZXJ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXI6bm90KC5mb290ZXItYmlnKXtcbiAgICAgICAgbmF2ID4gdWx7XG4gICAgICAgICAgIGxpOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib2R5ID4gLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZXtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXJke1xuICAgICAgICBmb3Jte1xuICAgICAgICAgICAgW2NsYXNzKj1cImNvbC1cIl17XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgW2NsYXNzKj1cImNvbC1cIl06Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgW2NsYXNzKj1cImNvbC1cIl06bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAgICAgICAgICBDaGFuZ2VzIGZvciBzbWFsbCBkaXNwbGF5ICAgICAgKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KXtcbiAgICAuc2lkZWJhcntcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWFpbi1wYW5lbHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5uYXZiYXItdHJhbnNwYXJlbnR7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgaDZ7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cbiAgICAud3JhcHBlcntcbiAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRlLXgoMHB4KTtcbiAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uICgwLjMzcywgY3ViaWMtYmV6aWVyKDAuNjg1LCAwLjA0NzMsIDAuMzQ2LCAxKSk7XG4gICAgICAgbGVmdDogMDtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gICAgLm5hdmJhciAuY29udGFpbmVye1xuICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKDAuMzNzLCBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpKTtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLm5hdmJhciAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNlLFxuICAgIC5uYXZiYXIgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZS5pbixcbiAgICAubmF2YmFyIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2luZ3tcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2ID4gbGl7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5vZmYtY2FudmFzLXNpZGViYXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMTAzMjtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXRyYW5zbGF0ZS14KDIzMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAoMC4zM3MsIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSkpO1xuXG4gICAgICAgIC5zaWRlYmFyLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAwcHggMHB4IDBweCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2e1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggJG1hcmdpbi1iYXNlLXZlcnRpY2FsIDA7XG5cbiAgICAgICAgICAgID4gbGl7XG5cbiAgICAgICAgICAgICAgICA+IGF7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4IDBweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtZ2VuZXJhbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LXN0YXRlcy1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHAsXG4gICAgICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIC5jYXJldFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuY2FyZXR7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSA+IGF7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogIDEycHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJG1hcmdpbi1iYXNlLXZlcnRpY2FsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMnB4IHNvbGlkICRiZy1udWRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJG1hcmdpbi1iYXNlLXZlcnRpY2FsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbnVkZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMTEyLCAxMTIsIDExMiwgMCkgNjAlLCByZ2JhKDE4NiwgMTg2LCAxODYsIDAuMTUpIDEwMCUpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICAmLmhhcy1pbWFnZTo6YWZ0ZXJ7XG4gICAgICAgICAgICBAaW5jbHVkZSBibGFjay1maWx0ZXIoLjgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ297XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDExcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kaXZpZGVye1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmF2LW9wZW4gLm5hdmJhci1jb2xsYXBzZXtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXRyYW5zbGF0ZS14KDBweCk7XG4gICAgfVxuICAgIC5uYXYtb3BlbiAubmF2YmFyIC5jb250YWluZXJ7XG4gICAgICAgIGxlZnQ6IC0yMzBweDtcbiAgICB9XG4gICAgLm5hdi1vcGVuIC53cmFwcGVye1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRlLXgoLTIzMHB4KTtcbiAgICB9XG4gICAgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLm5hdmJhci1oZWFkZXIgLm5hdmJhci10b2dnbGUge1xuICAgICAgICBtYXJnaW46IDEwcHggMTVweCAxMHB4IDA7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuICAgIC5iYXIxLFxuICAgIC5iYXIyLFxuICAgIC5iYXIzIHtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLmJhcjEge1xuICAgICAgdG9wOiAwcHg7XG4gICAgICBAaW5jbHVkZSBiYXItYW5pbWF0aW9uKCR0b3BiYXItYmFjayk7XG4gICAgfVxuICAgIC5iYXIyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIC5iYXIzIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgQGluY2x1ZGUgYmFyLWFuaW1hdGlvbigkYm90dG9tYmFyLWJhY2spO1xuICAgIH1cbiAgICAudG9nZ2xlZCAuYmFyMSB7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIEBpbmNsdWRlIGJhci1hbmltYXRpb24oJHRvcGJhci14KTtcbiAgICB9XG4gICAgLnRvZ2dsZWQgLmJhcjIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLnRvZ2dsZWQgLmJhcjMge1xuICAgICAgYm90dG9tOiA2cHg7XG4gICAgICBAaW5jbHVkZSBiYXItYW5pbWF0aW9uKCRib3R0b21iYXIteCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdG9wYmFyLXgtcm90YXRpb24oKTtcbiAgICBAaW5jbHVkZSB0b3BiYXItYmFjay1yb3RhdGlvbigpO1xuICAgIEBpbmNsdWRlIGJvdHRvbWJhci14LXJvdGF0aW9uKCk7XG4gICAgQGluY2x1ZGUgYm90dG9tYmFyLWJhY2stcm90YXRpb24oKTtcblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAgICAgMCUge29wYWNpdHk6IDA7fVxuICAgICAgMTAwJSB7b3BhY2l0eTogMTt9XG4gICAgfVxuICAgIEAtbW96LWtleWZyYW1lcyBmYWRlSW4ge1xuICAgICAgMCUge29wYWNpdHk6IDA7fVxuICAgICAgMTAwJSB7b3BhY2l0eTogMTt9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICAgIDAlIHtvcGFjaXR5OiAwO31cbiAgICAgIDEwMCUge29wYWNpdHk6IDE7fVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51IC5kaXZpZGVye1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyOSwgMjI5LCAyMjksIDAuMTUpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgbWFyZ2luOiAxcHggMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJiA+IGxpID4gYXtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1maXhlZC10b3Age1xuICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgI2JvZHlDbGljayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMjMwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG4gICAgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2t7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgfVxuICAgIC5uYXZiYXItdG9nZ2xlOmhvdmVyLC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmJ0bi5kcm9wZG93bi10b2dnbGV7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5tZWRpYS1wb3N0IC5hdXRob3J7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgIH1cbiAgICAubWVkaWEtcG9zdCAubWVkaWEtYm9keXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZXtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UuaW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLm5hdmJhci1oZWFkZXIgLmNvbGxhcHNlLCAubmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdmJhci1oZWFkZXIge1xuICAgICAgICBmbG9hdDpub25lO1xuICAgIH1cbiAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5tYWluLXBhbmVsID4gLmNvbnRlbnR7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgLm5hdiAub3BlbiA+IGF7XG4gICAgICAgICYsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmZvb3RlciAuY29weXJpZ2h0e1xuICAgICAgICBwYWRkaW5nOiAwcHggMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vL292ZXJ3cml0ZSB0YWJsZSByZXNwb25zaXZlIGZvciA3NjhweCBzY3JlZW5zXG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCl7XG4gICAgLnRhYmxlLWZ1bGwtd2lkdGh7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICB9XG4gICAgLnRhYmxlLXJlc3BvbnNpdmV7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpe1xuICAgIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG4gICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cblxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9hZG1pbi92ZW5kb3Ivc2Fzcy9wYXBlci9fcmVzcG9uc2l2ZS5zY3NzIiwiLyohXG5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFBhcGVyIERhc2hib2FyZCAtIHYxLjEuMlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gKiBQcm9kdWN0IFBhZ2U6IGh0dHA6Ly93d3cuY3JlYXRpdmUtdGltLmNvbS9wcm9kdWN0L3BhcGVyLWRhc2hib2FyZFxuICogQ29weXJpZ2h0IDIwMTcgQ3JlYXRpdmUgVGltIChodHRwOi8vd3d3LmNyZWF0aXZlLXRpbS5jb20pXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9jcmVhdGl2ZXRpbW9mZmljaWFsL3BhcGVyLWRhc2hib2FyZC9ibG9iL21hc3Rlci9MSUNFTlNFLm1kKVxuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4gKi9cbi8qICAgICAgbGlnaHQgY29sb3JzIC0gdXNlZCBmb3Igc2VsZWN0IGRyb3Bkb3duICAgICAgICAgKi9cbi5jdC1ibHVlIHtcbiAgc3Ryb2tlOiAjN0E5RTlGICFpbXBvcnRhbnQ7XG59XG5cbi5jdC1henVyZSB7XG4gIHN0cm9rZTogIzY4QjNDOCAhaW1wb3J0YW50O1xufVxuXG4uY3QtZ3JlZW4ge1xuICBzdHJva2U6ICM3QUMyOUEgIWltcG9ydGFudDtcbn1cblxuLmN0LW9yYW5nZSB7XG4gIHN0cm9rZTogI0YzQkI0NSAhaW1wb3J0YW50O1xufVxuXG4uY3QtcmVkIHtcbiAgc3Ryb2tlOiAjRUI1RTI4ICFpbXBvcnRhbnQ7XG59XG5cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUsIGg2LCAuaDYsIHAsIC5uYXZiYXIsIC5icmFuZCwgYSwgLnRkLW5hbWUsIHRkIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLFwiSGVsdmV0aWNhIE5ldWVcIixBcmlhbCxzYW5zLXNlcmlmO1xufVxuXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0IHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAzMHB4IDAgMTVweDtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMy4yZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDIuNmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjgyNWVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW46IDIwcHggMCAxMHB4O1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbnAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbn1cblxuaDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCwgLmgxIHNtYWxsLCAuaDIgc21hbGwsIC5oMyBzbWFsbCwgLmg0IHNtYWxsLCAuaDUgc21hbGwsIC5oNiBzbWFsbCwgaDEgLnNtYWxsLCBoMiAuc21hbGwsIGgzIC5zbWFsbCwgaDQgLnNtYWxsLCBoNSAuc21hbGwsIGg2IC5zbWFsbCwgLmgxIC5zbWFsbCwgLmgyIC5zbWFsbCwgLmgzIC5zbWFsbCwgLmg0IC5zbWFsbCwgLmg1IC5zbWFsbCwgLmg2IC5zbWFsbCB7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40ZW07XG59XG5cbmgxIHNtYWxsLCBoMiBzbWFsbCwgaDMgc21hbGwsIGgxIC5zbWFsbCwgaDIgLnNtYWxsLCBoMyAuc21hbGwge1xuICBmb250LXNpemU6IDYwJTtcbn1cblxuLnRpdGxlLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmJsb2NrcXVvdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmJsb2NrcXVvdGUgc21hbGwge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICNEREREREQ7XG59XG5cbi50ZXh0LXByaW1hcnksIC50ZXh0LXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogIzQyN0M4OTtcbn1cblxuLnRleHQtaW5mbywgLnRleHQtaW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjMzA5MUIyO1xufVxuXG4udGV4dC1zdWNjZXNzLCAudGV4dC1zdWNjZXNzOmhvdmVyIHtcbiAgY29sb3I6ICM0MkEwODQ7XG59XG5cbi50ZXh0LXdhcm5pbmcsIC50ZXh0LXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogI0JCOTkyRjtcbn1cblxuLnRleHQtZGFuZ2VyLCAudGV4dC1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI0IzM0MxMjtcbn1cblxuLmdseXBoaWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5zdHJvbmcge1xuICBjb2xvcjogIzQwM0QzOTtcbn1cblxuLmljb24tcHJpbWFyeSB7XG4gIGNvbG9yOiAjN0E5RTlGO1xufVxuXG4uaWNvbi1pbmZvIHtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbi5pY29uLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLmljb24td2FybmluZyB7XG4gIGNvbG9yOiAjRjNCQjQ1O1xufVxuXG4uaWNvbi1kYW5nZXIge1xuICBjb2xvcjogI0VCNUUyODtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC1wcmltYXJ5LCAuY2hhcnQtbGVnZW5kIC50ZXh0LXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogIzdBOUU5Rjtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC1pbmZvLCAuY2hhcnQtbGVnZW5kIC50ZXh0LWluZm86aG92ZXIge1xuICBjb2xvcjogIzY4QjNDODtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC1zdWNjZXNzLCAuY2hhcnQtbGVnZW5kIC50ZXh0LXN1Y2Nlc3M6aG92ZXIge1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC13YXJuaW5nLCAuY2hhcnQtbGVnZW5kIC50ZXh0LXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogI0YzQkI0NTtcbn1cblxuLmNoYXJ0LWxlZ2VuZCAudGV4dC1kYW5nZXIsIC5jaGFydC1sZWdlbmQgLnRleHQtZGFuZ2VyOmhvdmVyIHtcbiAgY29sb3I6ICNFQjVFMjg7XG59XG5cbi5kZXNjcmlwdGlvbixcbi5jYXJkLWRlc2NyaXB0aW9uLFxuLmZvb3Rlci1iaWcgcCB7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4vKiAgICAgR2VuZXJhbCBvdmVyd3JpdGUgICAgICovXG5ib2R5IHtcbiAgY29sb3I6ICM0YjQ3NDM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6ICdNdWxpJywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbmJvZHkgLndyYXBwZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5hIHtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICBjb2xvcjogIzMwOTFCMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmZvY3VzLCBhOmFjdGl2ZSxcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyLFxuc2VsZWN0OjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXRbdHlwZT1cImZpbGVcIl0gPiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG4udWktc2xpZGVyLWhhbmRsZTpmb2N1cyxcbi5uYXZiYXItdG9nZ2xlLFxuaW5wdXQ6Zm9jdXMsXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbn1cblxuLyogICAgICAgICAgIEFuaW1hdGlvbnMgICAgICAgICAgICAgICovXG4uZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLnRhZ3NpbnB1dCxcbi5uYXZiYXIsXG4ubmF2YmFyIC5hbGVydCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGxpbmVhcjtcbn1cblxuLnNpZGViYXIgLm5hdiBhLFxuLnRhYmxlID4gdGJvZHkgPiB0ciAudGQtYWN0aW9ucyAuYnRuIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbjtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbjtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW47XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbjtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW47XG59XG5cbi5idG4ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbjtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbjtcbn1cblxuLmZhIHtcbiAgd2lkdGg6IDIxcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZhLWJhc2Uge1xuICBmb250LXNpemU6IDEuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbmhyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRjFFQUUwO1xufVxuXG4ud3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4uc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi5zaWRlYmFyIC5zaWRlYmFyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAyNjBweDtcbiAgei1pbmRleDogNDtcbiAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwcHggMHB4IDBweCAjREREREREO1xufVxuXG4uc2lkZWJhciAuc2lkZWJhci1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4uc2lkZWJhcixcbi5vZmYtY2FudmFzLXNpZGViYXIge1xuICB3aWR0aDogMjYwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogMjAwO1xufVxuXG4uc2lkZWJhciAubG9nbyxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28ge1xuICBwYWRkaW5nOiAxOHB4IDBweDtcbiAgbWFyZ2luOiAwIDIwcHg7XG59XG5cbi5zaWRlYmFyIC5sb2dvIHAsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyIC5sb2dvIHAge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW46IDEwcHggMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5zaWRlYmFyIC5sb2dvIC5zaW1wbGUtdGV4dCxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28gLnNpbXBsZS10ZXh0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogNHB4IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLnNpZGViYXIgLm5hdixcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5zaWRlYmFyIC5uYXYgbGkgPiBhLFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IGxpID4gYSB7XG4gIG1hcmdpbjogMTBweCAwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgb3BhY2l0eTogLjc7XG59XG5cbi5zaWRlYmFyIC5uYXYgbGk6aG92ZXIgPiBhLFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IGxpOmhvdmVyID4gYSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zaWRlYmFyIC5uYXYgbGkuYWN0aXZlID4gYSxcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiBsaS5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM3QTlFOUY7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zaWRlYmFyIC5uYXYgbGkuYWN0aXZlID4gYTpiZWZvcmUsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgbGkuYWN0aXZlID4gYTpiZWZvcmUge1xuICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0RERERERDtcbiAgYm9yZGVyLXRvcDogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDhweDtcbn1cblxuLnNpZGViYXIgLm5hdiBsaS5hY3RpdmUgPiBhOmFmdGVyLFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI2ViZWZmMjtcbiAgYm9yZGVyLXRvcDogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMXB4O1xuICB0b3A6IDhweDtcbn1cblxuLnNpZGViYXIgLm5hdiBsaSBoNSxcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiBsaSBoNSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4uc2lkZWJhciAubmF2IGxpID4gYS5tZW51LFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IGxpID4gYS5tZW51IHtcbiAgcGFkZGluZzogMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLnNpZGViYXIgLm5hdiBsaSB1bCxcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiBsaSB1bCB7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cblxuLnNpZGViYXIgLm5hdiBwLFxuLm9mZi1jYW52YXMtc2lkZWJhciAubmF2IHAge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zaWRlYmFyIC5uYXYgaSxcbi5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiBpIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpZGViYXI6YWZ0ZXIsIC5zaWRlYmFyOmJlZm9yZSxcbi5vZmYtY2FudmFzLXNpZGViYXI6YWZ0ZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLnNpZGViYXI6YWZ0ZXIsIC5zaWRlYmFyOmJlZm9yZSwgLnNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl06YWZ0ZXIsIC5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdOmJlZm9yZSxcbi5vZmYtY2FudmFzLXNpZGViYXI6YWZ0ZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyOmJlZm9yZSxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl06YWZ0ZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zaWRlYmFyIC5sb2dvLCAuc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJ3aGl0ZVwiXSAubG9nbyxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28sXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdIC5sb2dvIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNDcsIDQ1LCA0MiwgMC4zKTtcbn1cblxuLnNpZGViYXIgLmxvZ28gcCwgLnNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl0gLmxvZ28gcCxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28gcCxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl0gLmxvZ28gcCB7XG4gIGNvbG9yOiAjMmYyZDJhO1xufVxuXG4uc2lkZWJhciAubG9nbyAuc2ltcGxlLXRleHQsIC5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdIC5sb2dvIC5zaW1wbGUtdGV4dCxcbi5vZmYtY2FudmFzLXNpZGViYXIgLmxvZ28gLnNpbXBsZS10ZXh0LFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJ3aGl0ZVwiXSAubG9nbyAuc2ltcGxlLXRleHQge1xuICBjb2xvcjogIzJmMmQyYTtcbn1cblxuLnNpZGViYXIgLm5hdiBsaTpub3QoLmFjdGl2ZSkgPiBhLCAuc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJ3aGl0ZVwiXSAubmF2IGxpOm5vdCguYWN0aXZlKSA+IGEsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgbGk6bm90KC5hY3RpdmUpID4gYSxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwid2hpdGVcIl0gLm5hdiBsaTpub3QoLmFjdGl2ZSkgPiBhIHtcbiAgY29sb3I6ICMyZjJkMmE7XG59XG5cbi5zaWRlYmFyIC5uYXYgLmRpdmlkZXIsIC5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdIC5uYXYgLmRpdmlkZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgLmRpdmlkZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cIndoaXRlXCJdIC5uYXYgLmRpdmlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ3LCA0NSwgNDIsIDAuMik7XG59XG5cbi5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdOmFmdGVyLCAuc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXTpiZWZvcmUsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdOmFmdGVyLFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMxNDE5O1xufVxuXG4uc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXSAubG9nbyxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwiYmxhY2tcIl0gLmxvZ28ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuXG4uc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXSAubG9nbyBwLFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWJhY2tncm91bmQtY29sb3I9XCJibGFja1wiXSAubG9nbyBwIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdIC5sb2dvIC5zaW1wbGUtdGV4dCxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwiYmxhY2tcIl0gLmxvZ28gLnNpbXBsZS10ZXh0IHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdIC5uYXYgbGk6bm90KC5hY3RpdmUpID4gYSxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVwiYmxhY2tcIl0gLm5hdiBsaTpub3QoLmFjdGl2ZSkgPiBhIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdIC5uYXYgLmRpdmlkZXIsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYmFja2dyb3VuZC1jb2xvcj1cImJsYWNrXCJdIC5uYXYgLmRpdmlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5zaWRlYmFyW2RhdGEtYWN0aXZlLWNvbG9yPVwicHJpbWFyeVwiXSAubmF2IGxpLmFjdGl2ZSA+IGEsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYWN0aXZlLWNvbG9yPVwicHJpbWFyeVwiXSAubmF2IGxpLmFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzdBOUU5RjtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNpZGViYXJbZGF0YS1hY3RpdmUtY29sb3I9XCJpbmZvXCJdIC5uYXYgbGkuYWN0aXZlID4gYSxcbi5vZmYtY2FudmFzLXNpZGViYXJbZGF0YS1hY3RpdmUtY29sb3I9XCJpbmZvXCJdIC5uYXYgbGkuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjNjhCM0M4O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2lkZWJhcltkYXRhLWFjdGl2ZS1jb2xvcj1cInN1Y2Nlc3NcIl0gLm5hdiBsaS5hY3RpdmUgPiBhLFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWFjdGl2ZS1jb2xvcj1cInN1Y2Nlc3NcIl0gLm5hdiBsaS5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM3QUMyOUE7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zaWRlYmFyW2RhdGEtYWN0aXZlLWNvbG9yPVwid2FybmluZ1wiXSAubmF2IGxpLmFjdGl2ZSA+IGEsXG4ub2ZmLWNhbnZhcy1zaWRlYmFyW2RhdGEtYWN0aXZlLWNvbG9yPVwid2FybmluZ1wiXSAubmF2IGxpLmFjdGl2ZSA+IGEge1xuICBjb2xvcjogI0YzQkI0NTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNpZGViYXJbZGF0YS1hY3RpdmUtY29sb3I9XCJkYW5nZXJcIl0gLm5hdiBsaS5hY3RpdmUgPiBhLFxuLm9mZi1jYW52YXMtc2lkZWJhcltkYXRhLWFjdGl2ZS1jb2xvcj1cImRhbmdlclwiXSAubmF2IGxpLmFjdGl2ZSA+IGEge1xuICBjb2xvcjogI0VCNUUyODtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1haW4tcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZmYyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDI2MHB4KTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLm1haW4tcGFuZWwgPiAuY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggMTVweDtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMTIzcHgpO1xufVxuXG4ubWFpbi1wYW5lbCA+IC5mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ubWFpbi1wYW5lbCAubmF2YmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNpZGViYXIsXG4ubWFpbi1wYW5lbCB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLGJvdHRvbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnMsLjJzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnMsLjJzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIsbGluZWFyO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyLGxpbmVhcjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4vKiAgICAgICAgICAgYmFkZ2VzICAgICAgICAgICAgICovXG4uYmFkZ2Uge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC43MTQyZW07XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uYmFkZ2UtaWNvbiB7XG4gIHBhZGRpbmc6IDAuNGVtIDAuNTVlbTtcbn1cblxuLmJhZGdlLWljb24gaSB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5iYWRnZS1kZWZhdWx0IHtcbiAgYm9yZGVyLWNvbG9yOiAjMmYyZDJhO1xuICBjb2xvcjogIzJmMmQyYTtcbn1cblxuLmJhZGdlLXByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICM3QTlFOUY7XG4gIGNvbG9yOiAjN0E5RTlGO1xufVxuXG4uYmFkZ2UtaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogIzY4QjNDODtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbi5iYWRnZS1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjN0FDMjlBO1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLmJhZGdlLXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNGM0JCNDU7XG4gIGNvbG9yOiAjRjNCQjQ1O1xufVxuXG4uYmFkZ2UtZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRUI1RTI4O1xuICBjb2xvcjogI0VCNUUyODtcbn1cblxuLmJhZGdlLW5ldXRyYWwge1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4ge1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogN3B4IDE4cHg7XG4gIGJvcmRlci1jb2xvcjogIzJmMmQyYTtcbiAgY29sb3I6ICMyZjJkMmE7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbn1cblxuLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cywgLmJ0bjphY3RpdmUsIC5idG4uYWN0aXZlLFxuLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmhvdmVyLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46Zm9jdXMsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bjphY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5hY3RpdmUsXG4ub3BlbiA+XG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmYyZDJhO1xuICBjb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xuICBib3JkZXItY29sb3I6ICMyZjJkMmE7XG59XG5cbi5idG46aG92ZXIgLmNhcmV0LCAuYnRuOmZvY3VzIC5jYXJldCwgLmJ0bjphY3RpdmUgLmNhcmV0LCAuYnRuLmFjdGl2ZSAuY2FyZXQsXG4ub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmhvdmVyIC5jYXJldCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmZvY3VzIC5jYXJldCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmFjdGl2ZSAuY2FyZXQsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPlxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbn1cblxuLmJ0bi5kaXNhYmxlZCwgLmJ0bi5kaXNhYmxlZDpob3ZlciwgLmJ0bi5kaXNhYmxlZDpmb2N1cywgLmJ0bi5kaXNhYmxlZC5mb2N1cywgLmJ0bi5kaXNhYmxlZDphY3RpdmUsIC5idG4uZGlzYWJsZWQuYWN0aXZlLCAuYnRuOmRpc2FibGVkLCAuYnRuOmRpc2FibGVkOmhvdmVyLCAuYnRuOmRpc2FibGVkOmZvY3VzLCAuYnRuOmRpc2FibGVkLmZvY3VzLCAuYnRuOmRpc2FibGVkOmFjdGl2ZSwgLmJ0bjpkaXNhYmxlZC5hY3RpdmUsIC5idG5bZGlzYWJsZWRdLCAuYnRuW2Rpc2FibGVkXTpob3ZlciwgLmJ0bltkaXNhYmxlZF06Zm9jdXMsIC5idG5bZGlzYWJsZWRdLmZvY3VzLCAuYnRuW2Rpc2FibGVkXTphY3RpdmUsIC5idG5bZGlzYWJsZWRdLmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG46aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bjpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG46YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4uYWN0aXZlLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uZGlzYWJsZWQsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5kaXNhYmxlZDpob3Zlcixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLmRpc2FibGVkOmZvY3VzLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uZGlzYWJsZWQuZm9jdXMsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5kaXNhYmxlZDphY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5kaXNhYmxlZC5hY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bjpkaXNhYmxlZCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmRpc2FibGVkOmhvdmVyLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46ZGlzYWJsZWQ6Zm9jdXMsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bjpkaXNhYmxlZC5mb2N1cyxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmRpc2FibGVkOmFjdGl2ZSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmRpc2FibGVkLmFjdGl2ZSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXTpob3Zlcixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXTpmb2N1cyxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXS5mb2N1cyxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuW2Rpc2FibGVkXTphY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bltkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bixcbmZpZWxkc2V0W2Rpc2FibGVkXVxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF1cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXVxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjMmYyZDJhO1xufVxuXG4uYnRuLmJ0bi1maWxsLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLWZpbGwge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmMmQyYTtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5idG4uYnRuLWZpbGw6aG92ZXIsIC5idG4uYnRuLWZpbGw6Zm9jdXMsIC5idG4uYnRuLWZpbGw6YWN0aXZlLCAuYnRuLmJ0bi1maWxsLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4tZmlsbDpob3Zlcixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLmJ0bi1maWxsOmZvY3VzLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLWZpbGw6YWN0aXZlLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPlxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLWZpbGwuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwM0QzOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzQwM0QzOTtcbn1cblxuLmJ0bi5idG4tZmlsbCAuY2FyZXQsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4tZmlsbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLmJ0bi1zaW1wbGU6aG92ZXIsIC5idG4uYnRuLXNpbXBsZTpmb2N1cywgLmJ0bi5idG4tc2ltcGxlOmFjdGl2ZSwgLmJ0bi5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi5idG4tc2ltcGxlLmRyb3Bkb3duLXRvZ2dsZSxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLmJ0bi1zaW1wbGU6aG92ZXIsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4tc2ltcGxlOmZvY3VzLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLXNpbXBsZTphY3RpdmUsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLmJ0bi1zaW1wbGUuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNDAzRDM5O1xufVxuXG4uYnRuLmJ0bi1zaW1wbGUgLmNhcmV0LFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYnRuLXNpbXBsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuIC5jYXJldCxcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMyZjJkMmE7XG59XG5cbi5idG46aG92ZXIsIC5idG46Zm9jdXMsXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bjpob3Zlcixcbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG4uYnRuOmFjdGl2ZSwgLmJ0bi5hY3RpdmUsXG4ub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG46YWN0aXZlLFxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uYWN0aXZlLFxuLm9wZW4gPlxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5idG4uYnRuLWljb24sXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi5idG4taWNvbiB7XG4gIHBhZGRpbmc6IDdweDtcbn1cblxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bixcbi5idG4tZ3JvdXAgLmJ0biArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LCAuYnRuLXByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICM3QTlFOUY7XG4gIGNvbG9yOiAjN0E5RTlGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5hY3RpdmUsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLXByaW1hcnk6aG92ZXIsIC5idG4tcHJpbWFyeTpmb2N1cywgLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3QTlFOUY7XG4gIGNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogIzdBOUU5Rjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeTpob3ZlciAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6Zm9jdXMgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmFjdGl2ZSAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYWN0aXZlIC5jYXJldCxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUgLmNhcmV0LCAuYnRuLXByaW1hcnk6aG92ZXIgLmNhcmV0LCAuYnRuLXByaW1hcnk6Zm9jdXMgLmNhcmV0LCAuYnRuLXByaW1hcnk6YWN0aXZlIC5jYXJldCwgLmJ0bi1wcmltYXJ5LmFjdGl2ZSAuY2FyZXQsXG4ub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5kaXNhYmxlZC5hY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQuZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeVtkaXNhYmxlZF0sIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeVtkaXNhYmxlZF0uZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeVtkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnksXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeTpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5OmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeTphY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5hY3RpdmUsIC5idG4tcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1wcmltYXJ5OmRpc2FibGVkLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmZvY3VzLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQuYWN0aXZlLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdLmZvY3VzLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXS5hY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTphY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICM3QTlFOUY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYnRuLWZpbGwsIC5idG4tcHJpbWFyeS5idG4tZmlsbCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0E5RTlGO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5idG4tZmlsbDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5idG4tZmlsbDpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5idG4tZmlsbDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1maWxsLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1wcmltYXJ5LmJ0bi1maWxsOmhvdmVyLCAuYnRuLXByaW1hcnkuYnRuLWZpbGw6Zm9jdXMsIC5idG4tcHJpbWFyeS5idG4tZmlsbDphY3RpdmUsIC5idG4tcHJpbWFyeS5idG4tZmlsbC5hY3RpdmUsXG4ub3BlbiA+IC5idG4tcHJpbWFyeS5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI3Qzg5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjNDI3Qzg5O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1maWxsIC5jYXJldCwgLmJ0bi1wcmltYXJ5LmJ0bi1maWxsIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYnRuLXNpbXBsZTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tcHJpbWFyeS5idG4tc2ltcGxlOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGU6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGUuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLXByaW1hcnkuYnRuLXNpbXBsZTpob3ZlciwgLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGU6Zm9jdXMsIC5idG4tcHJpbWFyeS5idG4tc2ltcGxlOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLXByaW1hcnkuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0MjdDODk7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkuYnRuLXNpbXBsZSAuY2FyZXQsIC5idG4tcHJpbWFyeS5idG4tc2ltcGxlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXByaW1hcnkgLmNhcmV0LCAuYnRuLXByaW1hcnkgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzdBOUU5Rjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2VzcywgLmJ0bi1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjN0FDMjlBO1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzczpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzczpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2VzczphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1zdWNjZXNzOmhvdmVyLCAuYnRuLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsXG4ub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0FDMjlBO1xuICBjb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xuICBib3JkZXItY29sb3I6ICM3QUMyOUE7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3M6aG92ZXIgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmZvY3VzIC5jYXJldCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2VzczphY3RpdmUgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmFjdGl2ZSAuY2FyZXQsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCwgLmJ0bi1zdWNjZXNzOmhvdmVyIC5jYXJldCwgLmJ0bi1zdWNjZXNzOmZvY3VzIC5jYXJldCwgLmJ0bi1zdWNjZXNzOmFjdGl2ZSAuY2FyZXQsIC5idG4tc3VjY2Vzcy5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5kaXNhYmxlZDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuYWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2VzczpkaXNhYmxlZC5hY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3M6aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzczpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3M6YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYWN0aXZlLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDphY3RpdmUsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5hY3RpdmUsIC5idG4tc3VjY2VzczpkaXNhYmxlZCwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmhvdmVyLCAuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2VzczpkaXNhYmxlZC5mb2N1cywgLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXSwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cywgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTphY3RpdmUsIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2VzcyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjN0FDMjlBO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmJ0bi1maWxsLCAuYnRuLXN1Y2Nlc3MuYnRuLWZpbGwge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdBQzI5QTtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYnRuLWZpbGw6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYnRuLWZpbGw6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYnRuLWZpbGw6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmJ0bi1maWxsLmFjdGl2ZSxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUsIC5idG4tc3VjY2Vzcy5idG4tZmlsbDpob3ZlciwgLmJ0bi1zdWNjZXNzLmJ0bi1maWxsOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuYnRuLWZpbGw6YWN0aXZlLCAuYnRuLXN1Y2Nlc3MuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuYnRuLWZpbGwuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyQTA4NDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzQyQTA4NDtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tZmlsbCAuY2FyZXQsIC5idG4tc3VjY2Vzcy5idG4tZmlsbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmJ0bi1zaW1wbGU6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXN1Y2Nlc3MuYnRuLXNpbXBsZTpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tc2ltcGxlOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tc3VjY2Vzcy5idG4tc2ltcGxlLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1zdWNjZXNzLmJ0bi1zaW1wbGU6aG92ZXIsIC5idG4tc3VjY2Vzcy5idG4tc2ltcGxlOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuYnRuLXNpbXBsZTphY3RpdmUsIC5idG4tc3VjY2Vzcy5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1zdWNjZXNzLmJ0bi1zaW1wbGUuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNDJBMDg0O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzLmJ0bi1zaW1wbGUgLmNhcmV0LCAuYnRuLXN1Y2Nlc3MuYnRuLXNpbXBsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1zdWNjZXNzIC5jYXJldCwgLmJ0bi1zdWNjZXNzIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM3QUMyOUE7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8sIC5idG4taW5mbyB7XG4gIGJvcmRlci1jb2xvcjogIzY4QjNDODtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmFjdGl2ZSxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5kcm9wZG93bi10b2dnbGUsIC5idG4taW5mbzpob3ZlciwgLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm86YWN0aXZlLCAuYnRuLWluZm8uYWN0aXZlLFxuLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4QjNDODtcbiAgY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbiAgYm9yZGVyLWNvbG9yOiAjNjhCM0M4O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvOmhvdmVyIC5jYXJldCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpmb2N1cyAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86YWN0aXZlIC5jYXJldCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQsIC5idG4taW5mbzpob3ZlciAuY2FyZXQsIC5idG4taW5mbzpmb2N1cyAuY2FyZXQsIC5idG4taW5mbzphY3RpdmUgLmNhcmV0LCAuYnRuLWluZm8uYWN0aXZlIC5jYXJldCxcbi5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuNyk7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uZGlzYWJsZWQ6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmRpc2FibGVkLmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZDpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZC5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbzpkaXNhYmxlZDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86ZGlzYWJsZWQuYWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvW2Rpc2FibGVkXSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mb1tkaXNhYmxlZF06aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm9bZGlzYWJsZWRdOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvW2Rpc2FibGVkXS5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mb1tkaXNhYmxlZF06YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvW2Rpc2FibGVkXS5hY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm86Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvOmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmFjdGl2ZSwgLmJ0bi1pbmZvLmRpc2FibGVkLCAuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywgLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLCAuYnRuLWluZm8uZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLWluZm8uZGlzYWJsZWQuYWN0aXZlLCAuYnRuLWluZm86ZGlzYWJsZWQsIC5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLmJ0bi1pbmZvOmRpc2FibGVkOmZvY3VzLCAuYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mbzpkaXNhYmxlZDphY3RpdmUsIC5idG4taW5mbzpkaXNhYmxlZC5hY3RpdmUsIC5idG4taW5mb1tkaXNhYmxlZF0sIC5idG4taW5mb1tkaXNhYmxlZF06aG92ZXIsIC5idG4taW5mb1tkaXNhYmxlZF06Zm9jdXMsIC5idG4taW5mb1tkaXNhYmxlZF0uZm9jdXMsIC5idG4taW5mb1tkaXNhYmxlZF06YWN0aXZlLCAuYnRuLWluZm9bZGlzYWJsZWRdLmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8sXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvOmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzY4QjNDODtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5idG4tZmlsbCwgLmJ0bi1pbmZvLmJ0bi1maWxsIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OEIzQzg7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmJ0bi1maWxsOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmJ0bi1maWxsOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmJ0bi1maWxsOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5idG4tZmlsbC5hY3RpdmUsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLWZpbGwuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLWluZm8uYnRuLWZpbGw6aG92ZXIsIC5idG4taW5mby5idG4tZmlsbDpmb2N1cywgLmJ0bi1pbmZvLmJ0bi1maWxsOmFjdGl2ZSwgLmJ0bi1pbmZvLmJ0bi1maWxsLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1pbmZvLmJ0bi1maWxsLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDkxQjI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICMzMDkxQjI7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLWZpbGwgLmNhcmV0LCAuYnRuLWluZm8uYnRuLWZpbGwgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5idG4tc2ltcGxlOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1pbmZvLmJ0bi1zaW1wbGU6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLXNpbXBsZTphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLXNpbXBsZS5hY3RpdmUsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWluZm8uYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUsIC5idG4taW5mby5idG4tc2ltcGxlOmhvdmVyLCAuYnRuLWluZm8uYnRuLXNpbXBsZTpmb2N1cywgLmJ0bi1pbmZvLmJ0bi1zaW1wbGU6YWN0aXZlLCAuYnRuLWluZm8uYnRuLXNpbXBsZS5hY3RpdmUsXG4ub3BlbiA+IC5idG4taW5mby5idG4tc2ltcGxlLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzMwOTFCMjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mby5idG4tc2ltcGxlIC5jYXJldCwgLmJ0bi1pbmZvLmJ0bi1zaW1wbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4taW5mbyAuY2FyZXQsIC5idG4taW5mbyAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjNjhCM0M4O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLCAuYnRuLXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNGM0JCNDU7XG4gIGNvbG9yOiAjRjNCQjQ1O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5hY3RpdmUsXG4ub3BlbiA+IC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLXdhcm5pbmc6aG92ZXIsIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0JCNDU7XG4gIGNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogI0YzQkI0NTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZzpob3ZlciAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6Zm9jdXMgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmFjdGl2ZSAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYWN0aXZlIC5jYXJldCxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUgLmNhcmV0LCAuYnRuLXdhcm5pbmc6aG92ZXIgLmNhcmV0LCAuYnRuLXdhcm5pbmc6Zm9jdXMgLmNhcmV0LCAuYnRuLXdhcm5pbmc6YWN0aXZlIC5jYXJldCwgLmJ0bi13YXJuaW5nLmFjdGl2ZSAuY2FyZXQsXG4ub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmRpc2FibGVkOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5kaXNhYmxlZC5hY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQuZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmRpc2FibGVkLmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZ1tkaXNhYmxlZF0sIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZ1tkaXNhYmxlZF0uZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZ1tkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZzpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZzphY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5hY3RpdmUsIC5idG4td2FybmluZy5kaXNhYmxlZCwgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi13YXJuaW5nOmRpc2FibGVkLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZzpkaXNhYmxlZDpmb2N1cywgLmJ0bi13YXJuaW5nOmRpc2FibGVkLmZvY3VzLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQuYWN0aXZlLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdLmZvY3VzLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXS5hY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzpob3ZlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzphY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICNGM0JCNDU7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYnRuLWZpbGwsIC5idG4td2FybmluZy5idG4tZmlsbCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNCQjQ1O1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5idG4tZmlsbDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5idG4tZmlsbDpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5idG4tZmlsbDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1maWxsLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi13YXJuaW5nLmJ0bi1maWxsOmhvdmVyLCAuYnRuLXdhcm5pbmcuYnRuLWZpbGw6Zm9jdXMsIC5idG4td2FybmluZy5idG4tZmlsbDphY3RpdmUsIC5idG4td2FybmluZy5idG4tZmlsbC5hY3RpdmUsXG4ub3BlbiA+IC5idG4td2FybmluZy5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkI5OTJGO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjQkI5OTJGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1maWxsIC5jYXJldCwgLmJ0bi13YXJuaW5nLmJ0bi1maWxsIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYnRuLXNpbXBsZTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4td2FybmluZy5idG4tc2ltcGxlOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGU6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGUuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLXdhcm5pbmcuYnRuLXNpbXBsZTpob3ZlciwgLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGU6Zm9jdXMsIC5idG4td2FybmluZy5idG4tc2ltcGxlOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLXdhcm5pbmcuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNCQjk5MkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcuYnRuLXNpbXBsZSAuY2FyZXQsIC5idG4td2FybmluZy5idG4tc2ltcGxlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLXdhcm5pbmcgLmNhcmV0LCAuYnRuLXdhcm5pbmcgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0YzQkI0NTtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLCAuYnRuLWRhbmdlciB7XG4gIGJvcmRlci1jb2xvcjogI0VCNUUyODtcbiAgY29sb3I6ICNFQjVFMjg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXI6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyOmFjdGl2ZSwgLmJ0bi1kYW5nZXIuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUI1RTI4O1xuICBjb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xuICBib3JkZXItY29sb3I6ICNFQjVFMjg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpob3ZlciAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpmb2N1cyAuY2FyZXQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjphY3RpdmUgLmNhcmV0LCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYWN0aXZlIC5jYXJldCxcbi5vcGVuID4gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQsIC5idG4tZGFuZ2VyOmhvdmVyIC5jYXJldCwgLmJ0bi1kYW5nZXI6Zm9jdXMgLmNhcmV0LCAuYnRuLWRhbmdlcjphY3RpdmUgLmNhcmV0LCAuYnRuLWRhbmdlci5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgxODIsIDE4MiwgMTgyLCAwLjcpO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5kaXNhYmxlZDphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5kaXNhYmxlZC5hY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpkaXNhYmxlZCwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmRpc2FibGVkOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmRpc2FibGVkLmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXTpmb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXS5mb2N1cywgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyW2Rpc2FibGVkXTphY3RpdmUsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcltkaXNhYmxlZF0uYWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlcixcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXI6aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyOmZvY3VzLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5mb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXI6YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5hY3RpdmUsIC5idG4tZGFuZ2VyLmRpc2FibGVkLCAuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLWRhbmdlci5kaXNhYmxlZDphY3RpdmUsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQsIC5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLWRhbmdlcjpkaXNhYmxlZDpmb2N1cywgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQuZm9jdXMsIC5idG4tZGFuZ2VyOmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQuYWN0aXZlLCAuYnRuLWRhbmdlcltkaXNhYmxlZF0sIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLWRhbmdlcltkaXNhYmxlZF0uZm9jdXMsIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTphY3RpdmUsIC5idG4tZGFuZ2VyW2Rpc2FibGVkXS5hY3RpdmUsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6aG92ZXIsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIuZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6YWN0aXZlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICNFQjVFMjg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5idG4tZmlsbCwgLmJ0bi1kYW5nZXIuYnRuLWZpbGwge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VCNUUyODtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5idG4tZmlsbDpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmJ0bi1maWxsOmZvY3VzLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLWZpbGw6YWN0aXZlLCAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLWZpbGwuZHJvcGRvd24tdG9nZ2xlLCAuYnRuLWRhbmdlci5idG4tZmlsbDpob3ZlciwgLmJ0bi1kYW5nZXIuYnRuLWZpbGw6Zm9jdXMsIC5idG4tZGFuZ2VyLmJ0bi1maWxsOmFjdGl2ZSwgLmJ0bi1kYW5nZXIuYnRuLWZpbGwuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLWRhbmdlci5idG4tZmlsbC5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjMzQzEyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjQjMzQzEyO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLWZpbGwgLmNhcmV0LCAuYnRuLWRhbmdlci5idG4tZmlsbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLXNpbXBsZTpob3ZlciwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmJ0bi1zaW1wbGU6Zm9jdXMsIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5idG4tc2ltcGxlOmFjdGl2ZSwgLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYS5idG4tZGFuZ2VyLmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUsIC5idG4tZGFuZ2VyLmJ0bi1zaW1wbGU6aG92ZXIsIC5idG4tZGFuZ2VyLmJ0bi1zaW1wbGU6Zm9jdXMsIC5idG4tZGFuZ2VyLmJ0bi1zaW1wbGU6YWN0aXZlLCAuYnRuLWRhbmdlci5idG4tc2ltcGxlLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1kYW5nZXIuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNCMzNDMTI7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuLWRhbmdlci5idG4tc2ltcGxlIC5jYXJldCwgLmJ0bi1kYW5nZXIuYnRuLXNpbXBsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhLmJ0bi1kYW5nZXIgLmNhcmV0LCAuYnRuLWRhbmdlciAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRUI1RTI4O1xufVxuXG4uYnRuLW5ldXRyYWwge1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLW5ldXRyYWw6aG92ZXIsIC5idG4tbmV1dHJhbDpmb2N1cywgLmJ0bi1uZXV0cmFsOmFjdGl2ZSwgLmJ0bi1uZXV0cmFsLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1uZXV0cmFsLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDE4MiwgMTgyLCAxODIsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJ0bi1uZXV0cmFsOmhvdmVyIC5jYXJldCwgLmJ0bi1uZXV0cmFsOmZvY3VzIC5jYXJldCwgLmJ0bi1uZXV0cmFsOmFjdGl2ZSAuY2FyZXQsIC5idG4tbmV1dHJhbC5hY3RpdmUgLmNhcmV0LFxuLm9wZW4gPiAuYnRuLW5ldXRyYWwuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbn1cblxuLmJ0bi1uZXV0cmFsLmRpc2FibGVkLCAuYnRuLW5ldXRyYWwuZGlzYWJsZWQ6aG92ZXIsIC5idG4tbmV1dHJhbC5kaXNhYmxlZDpmb2N1cywgLmJ0bi1uZXV0cmFsLmRpc2FibGVkLmZvY3VzLCAuYnRuLW5ldXRyYWwuZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLW5ldXRyYWwuZGlzYWJsZWQuYWN0aXZlLCAuYnRuLW5ldXRyYWw6ZGlzYWJsZWQsIC5idG4tbmV1dHJhbDpkaXNhYmxlZDpob3ZlciwgLmJ0bi1uZXV0cmFsOmRpc2FibGVkOmZvY3VzLCAuYnRuLW5ldXRyYWw6ZGlzYWJsZWQuZm9jdXMsIC5idG4tbmV1dHJhbDpkaXNhYmxlZDphY3RpdmUsIC5idG4tbmV1dHJhbDpkaXNhYmxlZC5hY3RpdmUsIC5idG4tbmV1dHJhbFtkaXNhYmxlZF0sIC5idG4tbmV1dHJhbFtkaXNhYmxlZF06aG92ZXIsIC5idG4tbmV1dHJhbFtkaXNhYmxlZF06Zm9jdXMsIC5idG4tbmV1dHJhbFtkaXNhYmxlZF0uZm9jdXMsIC5idG4tbmV1dHJhbFtkaXNhYmxlZF06YWN0aXZlLCAuYnRuLW5ldXRyYWxbZGlzYWJsZWRdLmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLW5ldXRyYWwsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1uZXV0cmFsOmhvdmVyLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbmV1dHJhbDpmb2N1cyxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLW5ldXRyYWwuZm9jdXMsXG5maWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1uZXV0cmFsOmFjdGl2ZSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLW5ldXRyYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJ0bi1uZXV0cmFsLmJ0bi1maWxsIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uYnRuLW5ldXRyYWwuYnRuLWZpbGw6aG92ZXIsIC5idG4tbmV1dHJhbC5idG4tZmlsbDpmb2N1cywgLmJ0bi1uZXV0cmFsLmJ0bi1maWxsOmFjdGl2ZSwgLmJ0bi1uZXV0cmFsLmJ0bi1maWxsLmFjdGl2ZSxcbi5vcGVuID4gLmJ0bi1uZXV0cmFsLmJ0bi1maWxsLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idG4tbmV1dHJhbC5idG4tZmlsbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLW5ldXRyYWwuYnRuLXNpbXBsZTpob3ZlciwgLmJ0bi1uZXV0cmFsLmJ0bi1zaW1wbGU6Zm9jdXMsIC5idG4tbmV1dHJhbC5idG4tc2ltcGxlOmFjdGl2ZSwgLmJ0bi1uZXV0cmFsLmJ0bi1zaW1wbGUuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLW5ldXRyYWwuYnRuLXNpbXBsZS5kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idG4tbmV1dHJhbC5idG4tc2ltcGxlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idG4tbmV1dHJhbCAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLW5ldXRyYWw6aG92ZXIsIC5idG4tbmV1dHJhbDpmb2N1cyB7XG4gIGNvbG9yOiAjMmYyZDJhO1xufVxuXG4uYnRuLW5ldXRyYWw6YWN0aXZlLCAuYnRuLW5ldXRyYWwuYWN0aXZlLFxuLm9wZW4gPiAuYnRuLW5ldXRyYWwuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICMyZjJkMmE7XG59XG5cbi5idG4tbmV1dHJhbC5idG4tZmlsbCB7XG4gIGNvbG9yOiAjMmYyZDJhO1xufVxuXG4uYnRuLW5ldXRyYWwuYnRuLWZpbGw6aG92ZXIsIC5idG4tbmV1dHJhbC5idG4tZmlsbDpmb2N1cyB7XG4gIGNvbG9yOiAjNDAzRDM5O1xufVxuXG4uYnRuLW5ldXRyYWwuYnRuLXNpbXBsZTphY3RpdmUsIC5idG4tbmV1dHJhbC5idG4tc2ltcGxlLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnRuOmRpc2FibGVkLCAuYnRuW2Rpc2FibGVkXSwgLmJ0bi5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbn1cblxuLmJ0bi1zaW1wbGUge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDdweCAxOHB4O1xufVxuXG4uYnRuLXNpbXBsZS5idG4taWNvbiB7XG4gIHBhZGRpbmc6IDdweDtcbn1cblxuLmJ0bi1sZyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgcGFkZGluZzogMTFweCAzMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uYnRuLWxnLmJ0bi1zaW1wbGUge1xuICBwYWRkaW5nOiAxM3B4IDMwcHg7XG59XG5cbi5idG4tc20ge1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDI2cHg7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xufVxuXG4uYnRuLXNtLmJ0bi1zaW1wbGUge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbn1cblxuLmJ0bi14cyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgcGFkZGluZzogMnB4IDVweDtcbn1cblxuLmJ0bi14cy5idG4tc2ltcGxlIHtcbiAgcGFkZGluZzogNHB4IDVweDtcbn1cblxuLmJ0bi13ZCB7XG4gIG1pbi13aWR0aDogMTQwcHg7XG59XG5cbi5idG4tZ3JvdXAuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5idG4tZ3JvdXAuc2VsZWN0IC5idG4ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYnRuLWdyb3VwLnNlbGVjdCAuY2FyZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICByaWdodDogOHB4O1xufVxuXG5pbnB1dCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNEREREREQ7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uZm9ybS1jb250cm9sOi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0RERERERDtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0RERERERDtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNEREREREQ7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjg0NjtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLyotd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7Ki9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgLXdlYmtpdC1ib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIHBhZGRpbmc6IDdweCAxOHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIC8qYmFja2dyb3VuZC1jb2xvcjogJGdyYXktaW5wdXQtYmc7XG4gICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAwcztcbiAgICBAaW5jbHVkZSBpbnB1dC1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGhlaWdodC1iYXNlKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpOyovXG59XG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjE5NmYzO1xuICAvKi13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgIzIxOTZmMztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwICMyMTk2ZjM7Ki9cbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wsXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wsXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1cyxcbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUJGM0NCO1xuICBjb2xvcjogIzdBQzI5QTtcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuYm9yZGVyLWlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdBQzI5QTtcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDMEE0O1xuICBjb2xvcjogI0VCNUUyODtcbn1cblxuLmhhcy1lcnJvciAuZm9ybS1jb250cm9sLmJvcmRlci1pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFQjVFMjg7XG59XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC03cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZm9ybS1jb250cm9sLmJvcmRlci1pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M1Qjk7XG59XG5cbi5vcGVuIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmlucHV0LWxnIHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nOiAxMXB4IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssIC5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogI0VCNUUyODtcbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssIC5oYXMtc3VjY2VzcyAuY29udHJvbC1sYWJlbCB7XG4gIGNvbG9yOiAjN0FDMjlBO1xufVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmY2Y1O1xuICBib3JkZXI6IG1lZGl1bSBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5oYXMtc3VjY2VzcyAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaGFzLWVycm9yIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyArIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjRUI1RTI4O1xufVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1cyArIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjN0FDMjlBO1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzICsgLmlucHV0LWdyb3VwLWFkZG9uLFxuLmZvcm0tY29udHJvbDpmb2N1cyB+IC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5ib3JkZXItaW5wdXQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI0NDQzVCOTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmlucHV0LWdyb3VwW2Rpc2FibGVkXSAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTNFM0UzO1xufVxuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yaWdodDogMCBub25lO1xufVxuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItbGVmdDogMCBub25lO1xufVxuXG4uZm9ybS1jb250cm9sW2Rpc2FibGVkXSwgLmZvcm0tY29udHJvbFtyZWFkb25seV0sIGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzRTNFMztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgY29sb3I6ICM5QTlBOUE7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uZm9ybS1jb250cm9sW2Rpc2FibGVkXTo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmZvcm0tY29udHJvbFtkaXNhYmxlZF06LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjREREREREO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmZvcm0tY29udHJvbFtkaXNhYmxlZF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0RERERERDtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjREREREREO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmlucHV0LWdyb3VwLWJ0biAuYnRuIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDlweCAxOHB4O1xufVxuXG4uaW5wdXQtZ3JvdXAtYnRuIC5idG4tZGVmYXVsdDpub3QoLmJ0bi1maWxsKSB7XG4gIGJvcmRlci1jb2xvcjogI0RERERERDtcbn1cblxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMThweDtcbiAgcmVzaXplOiBub25lO1xufVxuXG4uYWxlcnQge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNvbnRhaW5lciAuYWxlcnQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5uYXZiYXIgLmFsZXJ0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiA4NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMztcbn1cblxuLm5hdmJhcjpub3QoLm5hdmJhci10cmFuc3BhcmVudCkgLmFsZXJ0IHtcbiAgdG9wOiA3MHB4O1xufVxuXG4uYWxlcnQgc3BhbltkYXRhLW5vdGlmeT1cImljb25cIl0ge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuLmFsZXJ0IC5jbG9zZSB+IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA4OSU7XG59XG5cbi5hbGVydFtkYXRhLW5vdGlmeT1cImNvbnRhaW5lclwiXSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmFsZXJ0LmFsZXJ0LXdpdGgtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogNjVweDtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0NFNEZFO1xuICBjb2xvcjogIzMwOTFCMjtcbn1cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEVGM0M1O1xuICBjb2xvcjogIzQyQTA4NDtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFMjhDO1xuICBjb2xvcjogI0JCOTkyRjtcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjhGNUU7XG4gIGNvbG9yOiAjQjMzQzEyO1xufVxuXG4udGFibGUgdGhlYWQgdHIgPiB0aCxcbi50YWJsZSB0aGVhZCB0ciA+IHRkLFxuLnRhYmxlIHRib2R5IHRyID4gdGgsXG4udGFibGUgdGJvZHkgdHIgPiB0ZCxcbi50YWJsZSB0Zm9vdCB0ciA+IHRoLFxuLnRhYmxlIHRmb290IHRyID4gdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQzVCOTtcbn1cblxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi50YWJsZSAucmFkaW8sXG4udGFibGUgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDE1cHg7XG59XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50YWJsZSAudGgtZGVzY3JpcHRpb24ge1xuICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4udGFibGUgLnRkLXByaWNlIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGFibGUgLnRkLXRvdGFsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRhYmxlIC50ZC1hY3Rpb25zIC5idG4uYnRuLXNtLCAudGFibGUgLnRkLWFjdGlvbnMgLmJ0bi5idG4teHMge1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgcGFkZGluZy1yaWdodDogM3B4O1xufVxuXG4udGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGFibGUtc3RyaXBlZCB0Ym9keSA+IHRyOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnRhYmxlLXN0cmlwZWQgdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQ0Y1O1xufVxuXG4udGFibGUtc3RyaXBlZCA+IHRoZWFkID4gdHIgPiB0aCxcbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0ciA+IHRoLFxuLnRhYmxlLXN0cmlwZWQgPiB0Zm9vdCA+IHRyID4gdGgsXG4udGFibGUtc3RyaXBlZCA+IHRoZWFkID4gdHIgPiB0ZCxcbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0ciA+IHRkLFxuLnRhYmxlLXN0cmlwZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBwYWRkaW5nOiAxNXB4IDhweDtcbn1cblxuLyogICAgICBDaGVja2JveCBhbmQgcmFkaW8gICAgICAgICAqL1xuLmNoZWNrYm94LFxuLnJhZGlvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3Isb3BhY2l0eSAwLjI1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4yNXMgbGluZWFyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNGI0NzQzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaGVja2JveCAuaWNvbnMsXG4ucmFkaW8gLmljb25zIHtcbiAgY29sb3I6ICM0YjQ3NDM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjFweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3Isb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGNvbG9yLG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICBvcGFjaXR5OiAuNTA7XG59XG5cbi5jaGVja2JveC5jaGVja2VkIC5pY29ucyxcbi5yYWRpby5jaGVja2VkIC5pY29ucyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jaGVja2JveCBpbnB1dCxcbi5yYWRpbyBpbnB1dCB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrYm94IGxhYmVsLFxuLnJhZGlvIGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4uY2hlY2tib3ggLmljb25zIC5maXJzdC1pY29uLFxuLnJhZGlvIC5pY29ucyAuZmlyc3QtaWNvbixcbi5jaGVja2JveCAuaWNvbnMgLnNlY29uZC1pY29uLFxuLnJhZGlvIC5pY29ucyAuc2Vjb25kLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmNoZWNrYm94IC5pY29ucyAuc2Vjb25kLWljb24sXG4ucmFkaW8gLmljb25zIC5zZWNvbmQtaWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmNoZWNrYm94OmhvdmVyLFxuLnJhZGlvOmhvdmVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG59XG5cbi5jaGVja2JveDpob3ZlciAuZmlyc3QtaWNvbixcbi5yYWRpbzpob3ZlciAuZmlyc3QtaWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmNoZWNrYm94OmhvdmVyIC5zZWNvbmQtaWNvbixcbi5yYWRpbzpob3ZlciAuc2Vjb25kLWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmNoZWNrYm94LmNoZWNrZWQgLmZpcnN0LWljb24sXG4ucmFkaW8uY2hlY2tlZCAuZmlyc3QtaWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmNoZWNrYm94LmNoZWNrZWQgLnNlY29uZC1pY29uLFxuLnJhZGlvLmNoZWNrZWQgLnNlY29uZC1pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQsXG4ucmFkaW8uZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGNvbG9yOiAjREREREREO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQgLmljb25zLFxuLnJhZGlvLmRpc2FibGVkIC5pY29ucyB7XG4gIGNvbG9yOiAjREREREREO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQgLmZpcnN0LWljb24sXG4ucmFkaW8uZGlzYWJsZWQgLmZpcnN0LWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmNoZWNrYm94LmRpc2FibGVkIC5zZWNvbmQtaWNvbixcbi5yYWRpby5kaXNhYmxlZCAuc2Vjb25kLWljb24ge1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG5cbi5jaGVja2JveC5kaXNhYmxlZC5jaGVja2VkIC5pY29ucyxcbi5yYWRpby5kaXNhYmxlZC5jaGVja2VkIC5pY29ucyB7XG4gIGNvbG9yOiAjREREREREO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQuY2hlY2tlZCAuZmlyc3QtaWNvbixcbi5yYWRpby5kaXNhYmxlZC5jaGVja2VkIC5maXJzdC1pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuXG4uY2hlY2tib3guZGlzYWJsZWQuY2hlY2tlZCAuc2Vjb25kLWljb24sXG4ucmFkaW8uZGlzYWJsZWQuY2hlY2tlZCAuc2Vjb25kLWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI0RERERERDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXYgPiBsaSA+IGE6aG92ZXIsXG4ubmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXIge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgei1pbmRleDogMztcbn1cblxuLm5hdmJhciAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbjogNXB4IDBweDtcbiAgcGFkZGluZzogMjBweCAxNXB4O1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgbWFyZ2luOiAxNXB4IDBweDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhIGksXG4ubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhIHAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cblxuLm5hdmJhciAubmF2YmFyLW5hdiA+IGxpID4gYSBpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgdG9wOiAxcHg7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEuYnRuIHtcbiAgbWFyZ2luOiAxNXB4IDNweDtcbiAgcGFkZGluZzogN3B4IDE4cHg7XG59XG5cbi5uYXZiYXIgLmJ0biB7XG4gIG1hcmdpbjogMTVweCAzcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm5hdmJhciAuYnRuLXNpbXBsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2N2VjMTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAuYnJhbmQge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGE6bm90KC5idG4pIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6bm90KC5idG4pOmhvdmVyLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6bm90KC5idG4pOmZvY3VzLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOm5vdCguYnRuKTpob3Zlcixcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYTpub3QoLmJ0bik6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzY4QjNDODtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5kcm9wZG93biA+IGE6aG92ZXIgLmNhcmV0LFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRyb3Bkb3duID4gYTpmb2N1cyAuY2FyZXQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNjhCM0M4O1xuICBib3JkZXItdG9wLWNvbG9yOiAjNjhCM0M4O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2OEIzQzg7XG59XG5cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAubmF2YmFyLXRvZ2dsZTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXItZGVmYXVsdDpub3QoLm5hdmJhci10cmFuc3BhcmVudCkgLmJ0bi1kZWZhdWx0OmhvdmVyIHtcbiAgY29sb3I6ICM2OEIzQzg7XG4gIGJvcmRlci1jb2xvcjogIzY4QjNDODtcbn1cblxuLm5hdmJhci1kZWZhdWx0Om5vdCgubmF2YmFyLXRyYW5zcGFyZW50KSAuYnRuLW5ldXRyYWwsXG4ubmF2YmFyLWRlZmF1bHQ6bm90KC5uYXZiYXItdHJhbnNwYXJlbnQpIC5idG4tbmV1dHJhbDpob3Zlcixcbi5uYXZiYXItZGVmYXVsdDpub3QoLm5hdmJhci10cmFuc3BhcmVudCkgLmJ0bi1uZXV0cmFsOmFjdGl2ZSB7XG4gIGNvbG9yOiAjOUE5QTlBO1xufVxuXG4ubmF2YmFyLWZvcm0ge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgY29sb3I6ICNFM0UzRTM7XG59XG5cbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wsXG5bY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cblxuLm5hdmJhci1jdC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhFQ0ZENTtcbn1cblxuLm5hdmJhci1jdC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdDRTRGRTtcbn1cblxuLm5hdmJhci1jdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhFRjNDNTtcbn1cblxuLm5hdmJhci1jdC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRTI4Qztcbn1cblxuLm5hdmJhci1jdC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4RjVFO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXItdG9nZ2xlIHtcbiAgbWFyZ2luLXRvcDogMTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyLXRvZ2dsZSAubmF2YmFyLWNvbGxhcHNlLFxuLm5hdmJhci10b2dnbGUgLm5hdmJhci1mb3JtIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm5hdmJhci10b2dnbGUubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsXG4ubmF2YmFyLXRvZ2dsZS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItYnJhbmQsIFtjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1icmFuZCB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTtcbn1cblxuLm5hdmJhci10cmFuc3BhcmVudCAubmF2YmFyLWJyYW5kOmZvY3VzLCAubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItYnJhbmQ6aG92ZXIsIFtjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1icmFuZDpmb2N1cywgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLWJyYW5kOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItYnJhbmQ6bm90KFtjbGFzcyo9XCJ0ZXh0XCJdKSwgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLWJyYW5kOm5vdChbY2xhc3MqPVwidGV4dFwiXSkge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5hdmJhci10cmFuc3BhcmVudCAubmF2YmFyLW5hdiA+IGxpID4gYTpub3QoLmJ0biksIFtjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1uYXYgPiBsaSA+IGE6bm90KC5idG4pIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbiAgb3BhY2l0eTogMC44O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6bm90KC5idG4pLFxuLm5hdmJhci10cmFuc3BhcmVudCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyOm5vdCguYnRuKSxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1czpub3QoLmJ0biksXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyOm5vdCguYnRuKSxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXM6bm90KC5idG4pLCBbY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6bm90KC5idG4pLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyOm5vdCguYnRuKSxcbltjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1czpub3QoLmJ0biksXG5bY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyOm5vdCguYnRuKSxcbltjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXM6bm90KC5idG4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2IC5uYXYgPiBsaSA+IGEuYnRuOmhvdmVyLCBbY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItbmF2IC5uYXYgPiBsaSA+IGEuYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAuZHJvcGRvd24gPiBhIC5jYXJldCxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAuZHJvcGRvd24gPiBhOmhvdmVyIC5jYXJldCxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAuZHJvcGRvd24gPiBhOmZvY3VzIC5jYXJldCwgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5kcm9wZG93biA+IGEgLmNhcmV0LFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5kcm9wZG93biA+IGE6aG92ZXIgLmNhcmV0LFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5kcm9wZG93biA+IGE6Zm9jdXMgLmNhcmV0IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLm5hdmJhci10cmFuc3BhcmVudCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSxcbi5uYXZiYXItdHJhbnNwYXJlbnQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmZvY3VzLCBbY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3ZlcixcbltjbGFzcyo9XCJuYXZiYXItY3RcIl0gLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5idG4tZGVmYXVsdCwgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAuYnRuLWRlZmF1bHQge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5idG4tZGVmYXVsdC5idG4tZmlsbCwgW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAuYnRuLWRlZmF1bHQuYnRuLWZpbGwge1xuICBjb2xvcjogIzlBOUE5QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgb3BhY2l0eTogMC45O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApO1xufVxuXG4ubmF2YmFyLXRyYW5zcGFyZW50IC5idG4tZGVmYXVsdC5idG4tZmlsbDpob3Zlcixcbi5uYXZiYXItdHJhbnNwYXJlbnQgLmJ0bi1kZWZhdWx0LmJ0bi1maWxsOmZvY3VzLFxuLm5hdmJhci10cmFuc3BhcmVudCAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6YWN0aXZlLFxuLm5hdmJhci10cmFuc3BhcmVudCAuYnRuLWRlZmF1bHQuYnRuLWZpbGwuYWN0aXZlLFxuLm5hdmJhci10cmFuc3BhcmVudCAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1maWxsLmJ0bi1kZWZhdWx0LCBbY2xhc3MqPVwibmF2YmFyLWN0XCJdIC5idG4tZGVmYXVsdC5idG4tZmlsbDpob3ZlcixcbltjbGFzcyo9XCJuYXZiYXItY3RcIl0gLmJ0bi1kZWZhdWx0LmJ0bi1maWxsOmZvY3VzLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAuYnRuLWRlZmF1bHQuYnRuLWZpbGw6YWN0aXZlLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAuYnRuLWRlZmF1bHQuYnRuLWZpbGwuYWN0aXZlLFxuW2NsYXNzKj1cIm5hdmJhci1jdFwiXSAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1maWxsLmJ0bi1kZWZhdWx0IHtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5mb290ZXIgbmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZm9vdGVyIG5hdiB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBtYXJnaW46IDE1cHggM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyIG5hdiB1bCBhOm5vdCguYnRuKSB7XG4gIGNvbG9yOiAjNGI0NzQzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4uZm9vdGVyIG5hdiB1bCBhOm5vdCguYnRuKTpmb2N1cywgLmZvb3RlciBuYXYgdWwgYTpub3QoLmJ0bik6aG92ZXIge1xuICBjb2xvcjogIzQwM0QzOTtcbn1cblxuLmZvb3RlciAuY29weXJpZ2h0IHtcbiAgY29sb3I6ICM0YjQ3NDM7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW46IDE1cHggM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyIC5oZWFydCB7XG4gIGNvbG9yOiAjRUI1RTI4O1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZDRjU7XG4gIGJvcmRlcjogMCBub25lO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA5MDAwO1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggcmdiYSgxNywgMTYsIDE1LCAwLjEpLCAwIDJweCAxMHB4IHJnYmEoMTcsIDE2LCAxNSwgMC4xKTtcbiAgYm94LXNoYWRvdzogMCAycHggcmdiYSgxNywgMTYsIDE1LCAwLjEpLCAwIDJweCAxMHB4IHJnYmEoMTcsIDE2LCAxNSwgMC4xKTtcbn1cblxuLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFFQUUwO1xuICBtYXJnaW46IDBweDtcbn1cblxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWhlYWRlciB7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbn1cblxuLnNlbGVjdCAuZHJvcGRvd24tbWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgLTQwcHg7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIC00MHB4O1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgLTQwcHg7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgLTQwcHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAtNDBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG4uc2VsZWN0Lm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjNGI0NzQzO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAtbW96LXRyYW5zaXRpb246IG5vbmU7XG4gIC1vLXRyYW5zaXRpb246IG5vbmU7XG4gIC1tcy10cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSBpbWcge1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1ncm91cC5zZWxlY3QgLmRyb3Bkb3duLW1lbnUge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5kcm9wZG93bi1tZW51ID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xufVxuXG4uc2VsZWN0IC5kcm9wZG93bi1tZW51ID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmMmQyYTtcbiAgY29sb3I6IHJnYmEoMTgyLCAxODIsIDE4MiwgMC43KTtcbiAgb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZHJvcGRvd24tbWVudS5kcm9wZG93bi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3QTlFOUY7XG59XG5cbi5kcm9wZG93bi1tZW51LmRyb3Bkb3duLWluZm8gPiBsaSA+IGE6aG92ZXIsXG4uZHJvcGRvd24tbWVudS5kcm9wZG93bi1pbmZvID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4QjNDODtcbn1cblxuLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tc3VjY2VzcyA+IGxpID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51LmRyb3Bkb3duLXN1Y2Nlc3MgPiBsaSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0FDMjlBO1xufVxuXG4uZHJvcGRvd24tbWVudS5kcm9wZG93bi13YXJuaW5nID4gbGkgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24td2FybmluZyA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0JCNDU7XG59XG5cbi5kcm9wZG93bi1tZW51LmRyb3Bkb3duLWRhbmdlciA+IGxpID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51LmRyb3Bkb3duLWRhbmdlciA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQjVFMjg7XG59XG5cbi5idG4tZ3JvdXAuc2VsZWN0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmJ0bi1ncm91cC5zZWxlY3Qub3BlbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uY2FyZCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3gtc2hhZG93OiAwIDJweCAycHggcmdiYSgyMDQsIDE5NywgMTg1LCAwLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzI1MjQyMjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmNhcmQgLmNhcmQtYmxvY2sge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuLmNhcmQgYSB7XG4gIGNvbG9yOiAjZjk2MzMyO1xufVxuXG4uY2FyZCAuaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAyNjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbi5jYXJkIC5pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQgLmNvbnRlbnQge1xuICBwYWRkaW5nOiAxNXB4IDE1cHggMTBweCAxNXB4O1xufVxuXG4uY2FyZCAuaGVhZGVyIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDA7XG59XG5cbi5jYXJkIC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM0YjQ3NDM7XG59XG5cbi5jYXJkIGg1IHtcbiAgZm9udC1zaXplOiAxLjU3ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmNhcmQgaDYge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhcmQgLmNhdGVnb3J5LFxuLmNhcmQgbGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjOUE5QTlBO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5jYXJkIC5jYXRlZ29yeSBpLFxuLmNhcmQgbGFiZWwgaSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNhcmQgbGFiZWwge1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmNhcmQgLnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzI1MjQyMjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmNhcmQgLmF2YXRhciB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5jYXJkIC5mb290ZXIge1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLmNhcmQgLmZvb3RlciAubGVnZW5kIHtcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbi5jYXJkIC5mb290ZXIgaHIge1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmNhcmQgLnN0YXRzIHtcbiAgY29sb3I6ICNhOWE5YTk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5jYXJkIC5zdGF0cyBpIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIG1pbi13aWR0aDogMTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY2FyZCAuZm9vdGVyIGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNhcmQgLmF1dGhvciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNhcmQgLmF1dGhvciBpIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2FyZC5jYXJkLXNlcGFyYXRvcjphZnRlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcmlnaHQ6IC0xNXB4O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNhcmQgLmN0LWNoYXJ0IHtcbiAgbWFyZ2luOiAzMHB4IDAgMzBweDtcbiAgaGVpZ2h0OiAyNDVweDtcbn1cblxuLmNhcmQgLnRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuLmNhcmQgLnRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4uY2FyZCAudGFibGUgdGJvZHkgdGQ6bGFzdC1jaGlsZCxcbi5jYXJkIC50YWJsZSB0aGVhZCB0aDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmNhcmQgLmFsZXJ0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJkIC5hbGVydC5hbGVydC13aXRoLWljb24ge1xuICBwYWRkaW5nLWxlZnQ6IDY1cHg7XG59XG5cbi5jYXJkIC5pY29uLWJpZyB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBtaW4taGVpZ2h0OiA2NHB4O1xufVxuXG4uY2FyZCAubnVtYmVycyB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNhcmQgLm51bWJlcnMgcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhcmQgdWwudGVhbS1tZW1iZXJzIGxpIHtcbiAgcGFkZGluZzogMTBweCAwcHg7XG59XG5cbi5jYXJkIHVsLnRlYW0tbWVtYmVycyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMUVBRTA7XG59XG5cbi5jYXJkLXVzZXIgLmltYWdlIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gIGhlaWdodDogMTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNhcmQtdXNlciAuaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkLXVzZXIgLmltYWdlLXBsYWluIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAxMTBweDtcbn1cblxuLmNhcmQtdXNlciAuYXV0aG9yIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTY1cHg7XG59XG5cbi5jYXJkLXVzZXIgLmF1dGhvciAudGl0bGUge1xuICBjb2xvcjogIzQwM0QzOTtcbn1cblxuLmNhcmQtdXNlciAuYXV0aG9yIC50aXRsZSBzbWFsbCB7XG4gIGNvbG9yOiAjY2NjNWI5O1xufVxuXG4uY2FyZC11c2VyIC5hdmF0YXIge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uY2FyZC11c2VyIC5hdmF0YXIuYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyOiA1cHggc29saWQgI0ZGRkZGRjtcbn1cblxuLmNhcmQtdXNlciAuYXZhdGFyLmJvcmRlci1ncmF5IHtcbiAgYm9yZGVyOiA1cHggc29saWQgI2NjYzViOTtcbn1cblxuLmNhcmQtdXNlciAudGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLmNhcmQtdXNlciAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uY2FyZC11c2VyIC5jb250ZW50IHtcbiAgbWluLWhlaWdodDogMjAwcHg7XG59XG5cbi5jYXJkLXVzZXIuY2FyZC1wbGFpbiAuYXZhdGFyIHtcbiAgaGVpZ2h0OiAxOTBweDtcbiAgd2lkdGg6IDE5MHB4O1xufVxuXG4uY2FyZC1tYXAgLm1hcCB7XG4gIGhlaWdodDogNTAwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4uY2FyZC1tYXAgLm1hcCA+IGRpdiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhcmQtdXNlciAuZm9vdGVyLFxuLmNhcmQtcHJpY2UgLmZvb3RlciB7XG4gIHBhZGRpbmc6IDVweCAxNXB4IDEwcHg7XG59XG5cbi5jYXJkLXVzZXIgaHIsXG4uY2FyZC1wcmljZSBociB7XG4gIG1hcmdpbjogNXB4IDE1cHg7XG59XG5cbi5jYXJkLXBsYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jYXJkLXBsYWluIC5pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmN0LWxhYmVsIHtcbiAgZmlsbDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmN0LWNoYXJ0LWxpbmUgLmN0LWxhYmVsLFxuLmN0LWNoYXJ0LWJhciAuY3QtbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY3QtbGFiZWwuY3QtaG9yaXpvbnRhbC5jdC1zdGFydCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LWFsaWduOiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtcGFjazogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG59XG5cbi5jdC1sYWJlbC5jdC1ob3Jpem9udGFsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYW5jaG9yOiBzdGFydDtcbn1cblxuLmN0LWxhYmVsLmN0LXZlcnRpY2FsLmN0LXN0YXJ0IHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGZsZXgtZW5kO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLW1zLWZsZXgtYWxpZ246IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtZW5kO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LXBhY2s6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC1hbmNob3I6IGVuZDtcbn1cblxuLmN0LWxhYmVsLmN0LXZlcnRpY2FsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LWFsaWduOiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtcGFjazogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG59XG5cbi5jdC1jaGFydC1iYXIgLmN0LWxhYmVsLmN0LWhvcml6b250YWwuY3Qtc3RhcnQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtYW5jaG9yOiBzdGFydDtcbn1cblxuLmN0LWNoYXJ0LWJhciAuY3QtbGFiZWwuY3QtaG9yaXpvbnRhbC5jdC1lbmQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1zdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1hbmNob3I6IHN0YXJ0O1xufVxuXG4uY3QtY2hhcnQtYmFyLmN0LWhvcml6b250YWwtYmFycyAuY3QtbGFiZWwuY3QtaG9yaXpvbnRhbC5jdC1zdGFydCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LWFsaWduOiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtcGFjazogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG59XG5cbi5jdC1jaGFydC1iYXIuY3QtaG9yaXpvbnRhbC1iYXJzIC5jdC1sYWJlbC5jdC1ob3Jpem9udGFsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYW5jaG9yOiBzdGFydDtcbn1cblxuLmN0LWNoYXJ0LWJhci5jdC1ob3Jpem9udGFsLWJhcnMgLmN0LWxhYmVsLmN0LXZlcnRpY2FsLmN0LXN0YXJ0IHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRleHQtYW5jaG9yOiBlbmQ7XG59XG5cbi5jdC1jaGFydC1iYXIuY3QtaG9yaXpvbnRhbC1iYXJzIC5jdC1sYWJlbC5jdC12ZXJ0aWNhbC5jdC1lbmQge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYW5jaG9yOiBlbmQ7XG59XG5cbi5jdC1ncmlkIHtcbiAgc3Ryb2tlOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2UtZGFzaGFycmF5OiAycHg7XG59XG5cbi5jdC1wb2ludCB7XG4gIHN0cm9rZS13aWR0aDogMTBweDtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuXG4uY3QtbGluZSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogNHB4O1xufVxuXG4uY3QtYXJlYSB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbC1vcGFjaXR5OiAwLjc7XG59XG5cbi5jdC1iYXIge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDEwcHg7XG59XG5cbi5jdC1zbGljZS1kb251dCB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogNjBweDtcbn1cblxuLmN0LXNlcmllcy1hIC5jdC1wb2ludCwgLmN0LXNlcmllcy1hIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWEgLmN0LWJhciwgLmN0LXNlcmllcy1hIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogIzY4QjNDODtcbn1cblxuLmN0LXNlcmllcy1hIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtYSAuY3QtYXJlYSB7XG4gIGZpbGw6ICM2OEIzQzg7XG59XG5cbi5jdC1zZXJpZXMtYiAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtYiAuY3QtbGluZSwgLmN0LXNlcmllcy1iIC5jdC1iYXIsIC5jdC1zZXJpZXMtYiAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6ICNGM0JCNDU7XG59XG5cbi5jdC1zZXJpZXMtYiAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWIgLmN0LWFyZWEge1xuICBmaWxsOiAjRjNCQjQ1O1xufVxuXG4uY3Qtc2VyaWVzLWMgLmN0LXBvaW50LCAuY3Qtc2VyaWVzLWMgLmN0LWxpbmUsIC5jdC1zZXJpZXMtYyAuY3QtYmFyLCAuY3Qtc2VyaWVzLWMgLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiAjRUI1RTI4O1xufVxuXG4uY3Qtc2VyaWVzLWMgLmN0LXNsaWNlLXBpZSwgLmN0LXNlcmllcy1jIC5jdC1hcmVhIHtcbiAgZmlsbDogI0VCNUUyODtcbn1cblxuLmN0LXNlcmllcy1kIC5jdC1wb2ludCwgLmN0LXNlcmllcy1kIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWQgLmN0LWJhciwgLmN0LXNlcmllcy1kIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogIzdBQzI5QTtcbn1cblxuLmN0LXNlcmllcy1kIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtZCAuY3QtYXJlYSB7XG4gIGZpbGw6ICM3QUMyOUE7XG59XG5cbi5jdC1zZXJpZXMtZSAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtZSAuY3QtbGluZSwgLmN0LXNlcmllcy1lIC5jdC1iYXIsIC5jdC1zZXJpZXMtZSAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6ICM3QTlFOUY7XG59XG5cbi5jdC1zZXJpZXMtZSAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWUgLmN0LWFyZWEge1xuICBmaWxsOiAjN0E5RTlGO1xufVxuXG4uY3Qtc2VyaWVzLWYgLmN0LXBvaW50LCAuY3Qtc2VyaWVzLWYgLmN0LWxpbmUsIC5jdC1zZXJpZXMtZiAuY3QtYmFyLCAuY3Qtc2VyaWVzLWYgLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiByZ2JhKDEwNCwgMTc5LCAyMDAsIDAuOCk7XG59XG5cbi5jdC1zZXJpZXMtZiAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWYgLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDEwNCwgMTc5LCAyMDAsIDAuOCk7XG59XG5cbi5jdC1zZXJpZXMtZyAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtZyAuY3QtbGluZSwgLmN0LXNlcmllcy1nIC5jdC1iYXIsIC5jdC1zZXJpZXMtZyAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6IHJnYmEoMTIyLCAxOTQsIDE1NCwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1nIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtZyAuY3QtYXJlYSB7XG4gIGZpbGw6IHJnYmEoMTIyLCAxOTQsIDE1NCwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1oIC5jdC1wb2ludCwgLmN0LXNlcmllcy1oIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWggLmN0LWJhciwgLmN0LXNlcmllcy1oIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogcmdiYSgyNDMsIDE4NywgNjksIDAuOCk7XG59XG5cbi5jdC1zZXJpZXMtaCAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWggLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDI0MywgMTg3LCA2OSwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1pIC5jdC1wb2ludCwgLmN0LXNlcmllcy1pIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWkgLmN0LWJhciwgLmN0LXNlcmllcy1pIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogcmdiYSgyMzUsIDk0LCA0MCwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1pIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtaSAuY3QtYXJlYSB7XG4gIGZpbGw6IHJnYmEoMjM1LCA5NCwgNDAsIDAuOCk7XG59XG5cbi5jdC1zZXJpZXMtaiAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtaiAuY3QtbGluZSwgLmN0LXNlcmllcy1qIC5jdC1iYXIsIC5jdC1zZXJpZXMtaiAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6IHJnYmEoMTIyLCAxNTgsIDE1OSwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1qIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtaiAuY3QtYXJlYSB7XG4gIGZpbGw6IHJnYmEoMTIyLCAxNTgsIDE1OSwgMC44KTtcbn1cblxuLmN0LXNlcmllcy1rIC5jdC1wb2ludCwgLmN0LXNlcmllcy1rIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWsgLmN0LWJhciwgLmN0LXNlcmllcy1rIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogcmdiYSgxMDQsIDE3OSwgMjAwLCAwLjYpO1xufVxuXG4uY3Qtc2VyaWVzLWsgLmN0LXNsaWNlLXBpZSwgLmN0LXNlcmllcy1rIC5jdC1hcmVhIHtcbiAgZmlsbDogcmdiYSgxMDQsIDE3OSwgMjAwLCAwLjYpO1xufVxuXG4uY3Qtc2VyaWVzLWwgLmN0LXBvaW50LCAuY3Qtc2VyaWVzLWwgLmN0LWxpbmUsIC5jdC1zZXJpZXMtbCAuY3QtYmFyLCAuY3Qtc2VyaWVzLWwgLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiByZ2JhKDEyMiwgMTk0LCAxNTQsIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbCAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWwgLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDEyMiwgMTk0LCAxNTQsIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbSAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtbSAuY3QtbGluZSwgLmN0LXNlcmllcy1tIC5jdC1iYXIsIC5jdC1zZXJpZXMtbSAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6IHJnYmEoMjQzLCAxODcsIDY5LCAwLjYpO1xufVxuXG4uY3Qtc2VyaWVzLW0gLmN0LXNsaWNlLXBpZSwgLmN0LXNlcmllcy1tIC5jdC1hcmVhIHtcbiAgZmlsbDogcmdiYSgyNDMsIDE4NywgNjksIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbiAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtbiAuY3QtbGluZSwgLmN0LXNlcmllcy1uIC5jdC1iYXIsIC5jdC1zZXJpZXMtbiAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6IHJnYmEoMjM1LCA5NCwgNDAsIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbiAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLW4gLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDIzNSwgOTQsIDQwLCAwLjYpO1xufVxuXG4uY3Qtc2VyaWVzLW8gLmN0LXBvaW50LCAuY3Qtc2VyaWVzLW8gLmN0LWxpbmUsIC5jdC1zZXJpZXMtbyAuY3QtYmFyLCAuY3Qtc2VyaWVzLW8gLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiByZ2JhKDEyMiwgMTU4LCAxNTksIDAuNik7XG59XG5cbi5jdC1zZXJpZXMtbyAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLW8gLmN0LWFyZWEge1xuICBmaWxsOiByZ2JhKDEyMiwgMTU4LCAxNTksIDAuNik7XG59XG5cbi5jdC1zcXVhcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0LXNxdWFyZTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uY3Qtc3F1YXJlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3Qtc3F1YXJlID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtbWlub3Itc2Vjb25kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1taW5vci1zZWNvbmQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogOTMuNzUlO1xufVxuXG4uY3QtbWlub3Itc2Vjb25kOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWlub3Itc2Vjb25kID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtbWFqb3Itc2Vjb25kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1tYWpvci1zZWNvbmQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogODguODg4ODg4ODklO1xufVxuXG4uY3QtbWFqb3Itc2Vjb25kOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWFqb3Itc2Vjb25kID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtbWlub3ItdGhpcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0LW1pbm9yLXRoaXJkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDgzLjMzMzMzMzMzJTtcbn1cblxuLmN0LW1pbm9yLXRoaXJkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWlub3ItdGhpcmQgPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1tYWpvci10aGlyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtbWFqb3ItdGhpcmQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogODAlO1xufVxuXG4uY3QtbWFqb3ItdGhpcmQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1tYWpvci10aGlyZCA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LXBlcmZlY3QtZm91cnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1wZXJmZWN0LWZvdXJ0aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG59XG5cbi5jdC1wZXJmZWN0LWZvdXJ0aDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmN0LXBlcmZlY3QtZm91cnRoID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtcGVyZmVjdC1maWZ0aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtcGVyZmVjdC1maWZ0aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2Ni42NjY2NjY2NyU7XG59XG5cbi5jdC1wZXJmZWN0LWZpZnRoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtcGVyZmVjdC1maWZ0aCA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LW1pbm9yLXNpeHRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1taW5vci1zaXh0aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2Mi41JTtcbn1cblxuLmN0LW1pbm9yLXNpeHRoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWlub3Itc2l4dGggPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1nb2xkZW4tc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtZ29sZGVuLXNlY3Rpb246YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNjEuODA0Njk3MTYlO1xufVxuXG4uY3QtZ29sZGVuLXNlY3Rpb246YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1nb2xkZW4tc2VjdGlvbiA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LW1ham9yLXNpeHRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1tYWpvci1zaXh0aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2MCU7XG59XG5cbi5jdC1tYWpvci1zaXh0aDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmN0LW1ham9yLXNpeHRoID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtbWlub3Itc2V2ZW50aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtbWlub3Itc2V2ZW50aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5jdC1taW5vci1zZXZlbnRoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWlub3Itc2V2ZW50aCA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LW1ham9yLXNldmVudGgge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0LW1ham9yLXNldmVudGg6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTMuMzMzMzMzMzMlO1xufVxuXG4uY3QtbWFqb3Itc2V2ZW50aDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmN0LW1ham9yLXNldmVudGggPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1vY3RhdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0LW9jdGF2ZTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG59XG5cbi5jdC1vY3RhdmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1vY3RhdmUgPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1tYWpvci10ZW50aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtbWFqb3ItdGVudGg6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNDAlO1xufVxuXG4uY3QtbWFqb3ItdGVudGg6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1tYWpvci10ZW50aCA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmN0LW1ham9yLWVsZXZlbnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1tYWpvci1lbGV2ZW50aDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAzNy41JTtcbn1cblxuLmN0LW1ham9yLWVsZXZlbnRoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtbWFqb3ItZWxldmVudGggPiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdC1tYWpvci10d2VsZnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdC1tYWpvci10d2VsZnRoOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDMzLjMzMzMzMzMzJTtcbn1cblxuLmN0LW1ham9yLXR3ZWxmdGg6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdC1tYWpvci10d2VsZnRoID4gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY3QtZG91YmxlLW9jdGF2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3QtZG91YmxlLW9jdGF2ZTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAyNSU7XG59XG5cbi5jdC1kb3VibGUtb2N0YXZlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3QtZG91YmxlLW9jdGF2ZSA+IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uYXZiYXIge1xuICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG4gIH1cbiAgLm5hdmJhci1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG4gIC5uYXZiYXItc2VhcmNoLWZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51LFxuICAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNDBweCwgMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSAwcywgb3BhY2l0eSAwLjNzIGVhc2UgMHMsIGhlaWdodCAwcyBsaW5lYXIgMC4zNXM7XG4gIH1cbiAgLm5hdmJhci1uYXYgPiBsaS5vcGVuID4gLmRyb3Bkb3duLW1lbnUsIC5kcm9wZG93bi5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICB9XG4gIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudTpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b206IDExcHggc29saWQgI0YxRUFFMDtcbiAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHRvcDogLTExcHg7XG4gIH1cbiAgLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxMXB4IHNvbGlkICNGRkZDRjU7XG4gICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTJweDtcbiAgICB0b3A6IC0xMHB4O1xuICB9XG4gIC5uYXZiYXItbmF2Lm5hdmJhci1sZWZ0ID4gbGkgPiAuZHJvcGRvd24tbWVudTpiZWZvcmUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEycHg7XG4gIH1cbiAgLm5hdmJhci1uYXYubmF2YmFyLWxlZnQgPiBsaSA+IC5kcm9wZG93bi1tZW51OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMnB4O1xuICB9XG4gIC5uYXZiYXIgLm5hdmJhci1oZWFkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG4gIC5mb290ZXI6bm90KC5mb290ZXItYmlnKSBuYXYgPiB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgYm9keSA+IC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuY2FyZCBmb3JtIFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cbiAgLmNhcmQgZm9ybSBbY2xhc3MqPVwiY29sLVwiXTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG4gIC5jYXJkIGZvcm0gW2NsYXNzKj1cImNvbC1cIl06bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG4vKiAgICAgICAgICBDaGFuZ2VzIGZvciBzbWFsbCBkaXNwbGF5ICAgICAgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubWFpbi1wYW5lbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm5hdmJhci10cmFuc3BhcmVudCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgfVxuICBib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG4gIC53cmFwcGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zM3MgY3ViaWMtYmV6aWVyKDAuNjg1LCAwLjA0NzMsIDAuMzQ2LCAxKTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zM3MgY3ViaWMtYmV6aWVyKDAuNjg1LCAwLjA0NzMsIDAuMzQ2LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zM3MgY3ViaWMtYmV6aWVyKDAuNjg1LCAwLjA0NzMsIDAuMzQ2LCAxKTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG4gIC5uYXZiYXIgLmNvbnRhaW5lciB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzNzIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSk7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzNzIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSk7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAubmF2YmFyIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UsXG4gIC5uYXZiYXIgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZS5pbixcbiAgLm5hdmJhciAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNpbmcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLW5hdiA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDIzMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwMzI7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIzMHB4LCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjMwcHgsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjMwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIzMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIzMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzNzIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSk7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMzNzIGN1YmljLWJlemllcigwLjY4NSwgMC4wNDczLCAwLjM0NiwgMSk7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjMzcyBjdWJpYy1iZXppZXIoMC42ODUsIDAuMDQ3MywgMC4zNDYsIDEpO1xuICB9XG4gIC5vZmYtY2FudmFzLXNpZGViYXIgLnNpZGViYXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMHB4IDBweCAwcHggI0RERERERDtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDA7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhIHtcbiAgICBtYXJnaW46IDBweCAwcHg7XG4gICAgY29sb3I6ICMyZjJkMmE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgcGFkZGluZzogMTBweCAwO1xuICB9XG4gIC5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiA+IGxpID4gYTpob3ZlciwgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhLmFjdGl2ZSB7XG4gICAgY29sb3I6ICM0MDNEMzk7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhIHAsXG4gIC5vZmYtY2FudmFzLXNpZGViYXIgLm5hdiA+IGxpID4gYSAubm90aWZpY2F0aW9uLFxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgPiBsaSA+IGEgLmNhcmV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhIC5jYXJldCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEycHg7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkgPiBhIGkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIH1cbiAgLm9mZi1jYW52YXMtc2lkZWJhciAubmF2ID4gbGkuYWN0aXZlID4gYTpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMTJweCBzb2xpZCAjREREREREO1xuICAgIGJvcmRlci10b3A6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHRvcDogMTBweDtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5uYXYgPiBsaS5hY3RpdmUgPiBhOmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDEycHggc29saWQgI2ViZWZmMjtcbiAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgdG9wOiAxMHB4O1xuICB9XG4gIC5vZmYtY2FudmFzLXNpZGViYXI6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmVmZjI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMTEyLCAxMTIsIDExMiwgMCkgNjAlLCByZ2JhKDE4NiwgMTg2LCAxODYsIDAuMTUpIDEwMCUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyLmhhcy1pbWFnZTo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcbiAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgfVxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIC5kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuICAubmF2LW9wZW4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB9XG4gIC5uYXYtb3BlbiAubmF2YmFyIC5jb250YWluZXIge1xuICAgIGxlZnQ6IC0yMzBweDtcbiAgfVxuICAubmF2LW9wZW4gLndyYXBwZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMzBweCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMzBweCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjMwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMzBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjMwcHgsIDAsIDApO1xuICB9XG4gIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5uYXZiYXItaGVhZGVyIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBtYXJnaW46IDEwcHggMTVweCAxMHB4IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG4gIC5iYXIxLFxuICAuYmFyMixcbiAgLmJhcjMge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICAuYmFyMSB7XG4gICAgdG9wOiAwcHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHRvcGJhci1iYWNrIDUwMG1zIGxpbmVhciAwcztcbiAgICAtbW96LWFuaW1hdGlvbjogdG9wYmFyLWJhY2sgNTAwbXMgbGluZWFyIDBzO1xuICAgIGFuaW1hdGlvbjogdG9wYmFyLWJhY2sgNTAwbXMgMHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICB9XG4gIC5iYXIyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5iYXIzIHtcbiAgICBib3R0b206IDBweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYm90dG9tYmFyLWJhY2sgNTAwbXMgbGluZWFyIDBzO1xuICAgIC1tb3otYW5pbWF0aW9uOiBib3R0b21iYXItYmFjayA1MDBtcyBsaW5lYXIgMHM7XG4gICAgYW5pbWF0aW9uOiBib3R0b21iYXItYmFjayA1MDBtcyAwcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cbiAgLnRvZ2dsZWQgLmJhcjEge1xuICAgIHRvcDogNnB4O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiB0b3BiYXIteCA1MDBtcyBsaW5lYXIgMHM7XG4gICAgLW1vei1hbmltYXRpb246IHRvcGJhci14IDUwMG1zIGxpbmVhciAwcztcbiAgICBhbmltYXRpb246IHRvcGJhci14IDUwMG1zIDBzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuICAudG9nZ2xlZCAuYmFyMiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAudG9nZ2xlZCAuYmFyMyB7XG4gICAgYm90dG9tOiA2cHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGJvdHRvbWJhci14IDUwMG1zIGxpbmVhciAwcztcbiAgICAtbW96LWFuaW1hdGlvbjogYm90dG9tYmFyLXggNTAwbXMgbGluZWFyIDBzO1xuICAgIGFuaW1hdGlvbjogYm90dG9tYmFyLXggNTAwbXMgMHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICB9XG4gIEBrZXlmcmFtZXMgdG9wYmFyLXgge1xuICAgIDAlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0NWRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICB9XG4gIEAtd2Via2l0LWtleWZyYW1lcyB0b3BiYXIteCB7XG4gICAgMCUge1xuICAgICAgdG9wOiAwcHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICA0NSUge1xuICAgICAgdG9wOiA2cHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE0NWRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgfVxuICBALW1vei1rZXlmcmFtZXMgdG9wYmFyLXgge1xuICAgIDAlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgNDUlIHtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxNDVkZWcpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyB0b3BiYXItYmFjayB7XG4gICAgMCUge1xuICAgICAgdG9wOiA2cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICA0NSUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxuICB9XG4gIEAtd2Via2l0LWtleWZyYW1lcyB0b3BiYXItYmFjayB7XG4gICAgMCUge1xuICAgICAgdG9wOiA2cHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzIHRvcGJhci1iYWNrIHtcbiAgICAwJSB7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgNDUlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgdG9wOiAwcHg7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbiAgfVxuICBAa2V5ZnJhbWVzIGJvdHRvbWJhci14IHtcbiAgICAwJSB7XG4gICAgICBib3R0b206IDBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICA0NSUge1xuICAgICAgYm90dG9tOiA2cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQ1ZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgIH1cbiAgfVxuICBALXdlYmtpdC1rZXlmcmFtZXMgYm90dG9tYmFyLXgge1xuICAgIDAlIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgNDUlIHtcbiAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQ1ZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICB9XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzIGJvdHRvbWJhci14IHtcbiAgICAwJSB7XG4gICAgICBib3R0b206IDBweDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICBib3R0b206IDZweDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTE0NWRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgYm90dG9tYmFyLWJhY2sge1xuICAgIDAlIHtcbiAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC13ZWJraXQta2V5ZnJhbWVzIGJvdHRvbWJhci1iYWNrIHtcbiAgICAwJSB7XG4gICAgICBib3R0b206IDZweDtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzIGJvdHRvbWJhci1iYWNrIHtcbiAgICAwJSB7XG4gICAgICBib3R0b206IDZweDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICAgIDQ1JSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuICBALW1vei1rZXlmcmFtZXMgZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyOSwgMjI5LCAyMjksIDAuMTUpO1xuICB9XG4gIC5uYXZiYXItbmF2IHtcbiAgICBtYXJnaW46IDFweCAwO1xuICB9XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm5hdmJhci1maXhlZC10b3Age1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gICNib2R5Q2xpY2sge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMjMwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuICAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgfVxuICAubmF2YmFyLXRvZ2dsZTpob3ZlciwgLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmJ0bi5kcm9wZG93bi10b2dnbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLm1lZGlhLXBvc3QgLmF1dGhvciB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gIH1cbiAgLm1lZGlhLXBvc3QgLm1lZGlhLWJvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Uge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UuaW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5uYXZiYXItaGVhZGVyIC5jb2xsYXBzZSwgLm5hdmJhci10b2dnbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhci1oZWFkZXIge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5tYWluLXBhbmVsID4gLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5uYXYgLm9wZW4gPiBhLCAubmF2IC5vcGVuID4gYTpmb2N1cywgLm5hdiAub3BlbiA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5mb290ZXIgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogMHB4IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50YWJsZS1mdWxsLXdpZHRoIHtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhcGVyLWRhc2hib2FyZC5zY3NzIl0sInNvdXJjZVJvb3QiOiIifQ==*/ \ No newline at end of file diff --git a/public/assets/admin/js/vendor.js b/public/assets/admin/js/vendor.js index a33e68fe..023291f2 100644 --- a/public/assets/admin/js/vendor.js +++ b/public/assets/admin/js/vendor.js @@ -36618,6 +36618,516 @@ S2.define('jquery.select2',[ * (c) 2010-2017 Vladimir Agafonkin, (c) 2010-2011 CloudMade */ !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.L={})}(this,function(t){"use strict";function i(t){var i,e,n,o;for(e=1,n=arguments.length;e=0}function I(t,i,e,n){return"touchstart"===i?O(t,e,n):"touchmove"===i?W(t,e,n):"touchend"===i&&H(t,e,n),this}function A(t,i,e){var n=t["_leaflet_"+i+e];return"touchstart"===i?t.removeEventListener(Xi,n,!1):"touchmove"===i?t.removeEventListener(Ji,n,!1):"touchend"===i&&(t.removeEventListener($i,n,!1),t.removeEventListener(Qi,n,!1)),this}function O(t,i,n){var o=e(function(t){if("mouse"!==t.pointerType&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(te.indexOf(t.target.tagName)<0))return;$(t)}j(t,i)});t["_leaflet_touchstart"+n]=o,t.addEventListener(Xi,o,!1),ee||(document.documentElement.addEventListener(Xi,R,!0),document.documentElement.addEventListener(Ji,D,!0),document.documentElement.addEventListener($i,N,!0),document.documentElement.addEventListener(Qi,N,!0),ee=!0)}function R(t){ie[t.pointerId]=t,ne++}function D(t){ie[t.pointerId]&&(ie[t.pointerId]=t)}function N(t){delete ie[t.pointerId],ne--}function j(t,i){t.touches=[];for(var e in ie)t.touches.push(ie[e]);t.changedTouches=[t],i(t)}function W(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&j(t,i)};t["_leaflet_touchmove"+e]=n,t.addEventListener(Ji,n,!1)}function H(t,i,e){var n=function(t){j(t,i)};t["_leaflet_touchend"+e]=n,t.addEventListener($i,n,!1),t.addEventListener(Qi,n,!1)}function F(t,i,e){function n(t){var i;if(Wi){if(!Li||"mouse"===t.pointerType)return;i=ne}else i=t.touches.length;if(!(i>1)){var e=Date.now(),n=e-(s||e);r=t.touches?t.touches[0]:t,a=n>0&&n<=h,s=e}}function o(t){if(a&&!r.cancelBubble){if(Wi){if(!Li||"mouse"===t.pointerType)return;var e,n,o={};for(n in r)e=r[n],o[n]=e&&e.bind?e.bind(r):e;r=o}r.type="dblclick",i(r),s=null}}var s,r,a=!1,h=250;return t[re+oe+e]=n,t[re+se+e]=o,t[re+"dblclick"+e]=i,t.addEventListener(oe,n,!1),t.addEventListener(se,o,!1),t.addEventListener("dblclick",i,!1),this}function U(t,i){var e=t[re+oe+i],n=t[re+se+i],o=t[re+"dblclick"+i];return t.removeEventListener(oe,e,!1),t.removeEventListener(se,n,!1),Li||t.removeEventListener("dblclick",o,!1),this}function V(t,i,e,n){if("object"==typeof i)for(var o in i)q(t,o,i[o],e);else for(var s=0,r=(i=u(i)).length;s100&&n<500||t.target._simulatedClick&&!t._simulated?Q(t):(di=e,i(t))}function rt(t){return"string"==typeof t?document.getElementById(t):t}function at(t,i){var e=t.style[i]||t.currentStyle&&t.currentStyle[i];if((!e||"auto"===e)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);e=n?n[i]:null}return"auto"===e?null:e}function ht(t,i,e){var n=document.createElement(t);return n.className=i||"",e&&e.appendChild(n),n}function ut(t){var i=t.parentNode;i&&i.removeChild(t)}function lt(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ct(t){var i=t.parentNode;i.lastChild!==t&&i.appendChild(t)}function _t(t){var i=t.parentNode;i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function dt(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=gt(t);return e.length>0&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(e)}function pt(t,i){if(void 0!==t.classList)for(var e=u(i),n=0,o=e.length;nh&&(s=r,h=a);h>e&&(i[s]=1,St(t,i,e,n,s),St(t,i,e,s,o))}function kt(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;ni&&(e.push(t[n]),o=n);return oi.max.x&&(e|=2),t.yi.max.y&&(e|=8),e}function Ot(t,i){var e=i.x-t.x,n=i.y-t.y;return e*e+n*n}function Rt(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=e.x,r=e.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new x(s,r)}function Dt(t){return!ei(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Nt(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Dt(t)}function jt(t,i,e){var n,o,s,r,a,h,u,l,c,_=[1,4,2,8];for(o=0,u=t.length;o=this.min.x&&e.x<=this.max.x&&i.y>=this.min.y&&e.y<=this.max.y},intersects:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x<=e.x,r=o.y>=i.y&&n.y<=e.y;return s&&r},overlaps:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.xi.y&&n.y=n.lat&&e.lat<=o.lat&&i.lng>=n.lng&&e.lng<=o.lng},intersects:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat<=e.lat,r=o.lng>=i.lng&&n.lng<=e.lng;return s&&r},overlaps:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lati.lng&&n.lng1,Gi=!!document.createElement("canvas").getContext,qi=!(!document.createElementNS||!S("svg").createSVGRect),Ki=!qi&&function(){try{var t=document.createElement("div");t.innerHTML='';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}(),Yi=(Object.freeze||Object)({ie:xi,ielt9:wi,edge:Li,webkit:Pi,android:bi,android23:Ti,opera:zi,chrome:Mi,gecko:Ci,safari:Zi,phantom:Ei,opera12:Si,win:ki,ie3d:Bi,webkit3d:Ii,gecko3d:Ai,any3d:Oi,mobile:Ri,mobileWebkit:Di,mobileWebkit3d:Ni,msPointer:ji,pointer:Wi,touch:Hi,mobileOpera:Fi,mobileGecko:Ui,retina:Vi,canvas:Gi,svg:qi,vml:Ki}),Xi=ji?"MSPointerDown":"pointerdown",Ji=ji?"MSPointerMove":"pointermove",$i=ji?"MSPointerUp":"pointerup",Qi=ji?"MSPointerCancel":"pointercancel",te=["INPUT","SELECT","OPTION"],ie={},ee=!1,ne=0,oe=ji?"MSPointerDown":Wi?"pointerdown":"touchstart",se=ji?"MSPointerUp":Wi?"pointerup":"touchend",re="_leaflet_",ae="_leaflet_events",he=ki&&Mi?2*window.devicePixelRatio:Ci?window.devicePixelRatio:1,ue={},le=(Object.freeze||Object)({on:V,off:G,stopPropagation:Y,disableScrollPropagation:X,disableClickPropagation:J,preventDefault:$,stop:Q,getMousePosition:tt,getWheelDelta:it,fakeStop:et,skipped:nt,isExternalTarget:ot,addListener:V,removeListener:G}),ce=xt(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]),_e=xt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===_e||"OTransition"===_e?_e+"End":"transitionend";if("onselectstart"in document)pi=function(){V(window,"selectstart",$)},mi=function(){G(window,"selectstart",$)};else{var pe=xt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);pi=function(){if(pe){var t=document.documentElement.style;fi=t[pe],t[pe]="none"}},mi=function(){pe&&(document.documentElement.style[pe]=fi,fi=void 0)}}var me,fe,ge=(Object.freeze||Object)({TRANSFORM:ce,TRANSITION:_e,TRANSITION_END:de,get:rt,getStyle:at,create:ht,remove:ut,empty:lt,toFront:ct,toBack:_t,hasClass:dt,addClass:pt,removeClass:mt,setClass:ft,getClass:gt,setOpacity:vt,testProp:xt,setTransform:wt,setPosition:Lt,getPosition:Pt,disableTextSelection:pi,enableTextSelection:mi,disableImageDrag:bt,enableImageDrag:Tt,preventOutline:zt,restoreOutline:Mt}),ve=ui.extend({run:function(t,i,e,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=e||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pt(t),this._offset=i.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=f(this._animate,this),this._step()},_step:function(t){var i=+new Date-this._startTime,e=1e3*this._duration;ithis.options.maxZoom?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,z(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var n=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),s=n.divideBy(2).round(),r=o.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(e(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:n,newSize:o})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var n=e(this._handleGeolocationResponse,this),o=e(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(n,o,t):navigator.geolocation.getCurrentPosition(n,o,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var i=t.code,e=t.message||(1===i?"permission denied":2===i?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:i,message:"Geolocation error: "+e+"."})},_handleGeolocationResponse:function(t){var i=new M(t.coords.latitude,t.coords.longitude),e=i.toBounds(t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(e);this.setView(i,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:i,bounds:e,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)},addHandler:function(t,i){if(!i)return this;var e=this[t]=new i(this);return this._handlers.push(e),this.options[t]&&e.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}ut(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)ut(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var e=ht("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),i||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new T(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,i,e){t=z(t),e=w(e||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(e),u=b(this.project(a,n),this.project(r,n)).getSize(),l=Oi?this.options.zoomSnap:1,c=h.x/u.x,_=h.y/u.y,d=i?Math.max(c,_):Math.min(c,_);return n=this.getScaleZoom(d,n),l&&(n=Math.round(n/(l/100))*(l/100),n=i?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new x(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,i){var e=this._getTopLeftPoint(t,i);return new P(e,e.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,i){var e=this.options.crs;return i=void 0===i?this._zoom:i,e.scale(t)/e.scale(i)},getScaleZoom:function(t,i){var e=this.options.crs;i=void 0===i?this._zoom:i;var n=e.zoom(t*e.scale(i));return isNaN(n)?1/0:n},project:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.latLngToPoint(C(t),i)},unproject:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.pointToLatLng(w(t),i)},layerPointToLatLng:function(t){var i=w(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){return this.project(C(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(C(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,i){return this.options.crs.distance(C(t),C(i))},containerPointToLayerPoint:function(t){return w(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return w(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(w(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(C(t)))},mouseEventToContainerPoint:function(t){return tt(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var i=this._container=rt(t);if(!i)throw new Error("Map container not found.");if(i._leaflet_id)throw new Error("Map container is already initialized.");V(i,"scroll",this._onScroll,this),this._containerId=n(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&Oi,pt(t,"leaflet-container"+(Hi?" leaflet-touch":"")+(Vi?" leaflet-retina":"")+(wi?" leaflet-oldie":"")+(Zi?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=at(t,"position");"absolute"!==i&&"relative"!==i&&"fixed"!==i&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Lt(this._mapPane,new x(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(pt(t.markerPane,"leaflet-zoom-hide"),pt(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,i){Lt(this._mapPane,new x(0,0));var e=!this._loaded;this._loaded=!0,i=this._limitZoom(i),this.fire("viewprereset");var n=this._zoom!==i;this._moveStart(n)._move(t,i)._moveEnd(n),this.fire("viewreset"),e&&this.fire("load")},_moveStart:function(t){return t&&this.fire("zoomstart"),this.fire("movestart")},_move:function(t,i,e){void 0===i&&(i=this._zoom);var n=this._zoom!==i;return this._zoom=i,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||e&&e.pinch)&&this.fire("zoom",e),this.fire("move",e)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return g(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Lt(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[n(this._container)]=this;var i=t?G:V;i(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&i(window,"resize",this._onResize,this),Oi&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){g(this._resizeRequest),this._resizeRequest=f(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,o=[],s="mouseout"===i||"mouseover"===i,r=t.target||t.srcElement,a=!1;r;){if((e=this._targets[n(r)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){a=!0;break}if(e&&e.listens(i,!0)){if(s&&!ot(r,t))break;if(o.push(e),s)break}if(r===this._container)break;r=r.parentNode}return o.length||a||s||!ot(r,t)||(o=[this]),o},_handleDOMEvent:function(t){if(this._loaded&&!nt(t)){var i=t.type;"mousedown"!==i&&"keypress"!==i||zt(t.target||t.srcElement),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}if(!t._stopped&&(n=(n||[]).concat(this._findEventTargets(t,e))).length){var s=n[0];"contextmenu"===e&&s.listens(e,!0)&&$(t);var r={originalEvent:t};if("keypress"!==t.type){var a=s.options&&"icon"in s.options;r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h0?Math.round(t-i)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(i))},_limitZoom:function(t){var i=this.getMinZoom(),e=this.getMaxZoom(),n=Oi?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(i,Math.min(e,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){mt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,i){var e=this._getCenterOffset(t)._floor();return!(!0!==(i&&i.animate)&&!this.getSize().contains(e))&&(this.panBy(e,i),!0)},_createAnimProxy:function(){var t=this._proxy=ht("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var i=ce,e=this._proxy.style[i];wt(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),e===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),i=this.getZoom();wt(this._proxy,this.project(t,i),this.getZoomScale(i,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ut(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,i,e){if(this._animatingZoom)return!0;if(e=e||{},!this._zoomAnimated||!1===e.animate||this._nothingToAnimate()||Math.abs(i-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(f(function(){this._moveStart(!0)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,n,o){n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,pt(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:o}),setTimeout(e(this._onZoomTransitionEnd,this),250)},_onZoomTransitionEnd:function(){this._animatingZoom&&(mt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),f(function(){this._moveEnd(!0)},this))}}),xe=v.extend({options:{position:"topright"},initialize:function(t){l(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return pt(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this},remove:function(){return this._map?(ut(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),we=function(t){return new xe(t)};ye.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,o){var s=e+t+" "+e+o;i[t+o]=ht("div",s,n)}var i=this._controlCorners={},e="leaflet-",n=this._controlContainer=ht("div",e+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)ut(this._controlCorners[t]);ut(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Le=xe.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,i,e,n){return e1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=i&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var i=this._getLayer(n(t.target)),e=i.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;e&&this._map.fire(e,i)},_createRadioElement:function(t,i){var e='",n=document.createElement("div");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement("label"),o=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=o):i=this._createRadioElement("leaflet-base-layers",o),this._layerControlInputs.push(i),i.layerId=n(t.layer),V(i,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var r=document.createElement("div");return e.appendChild(r),r.appendChild(i),r.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;s>=0;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;s=0;o--)t=e[o],i=this._getLayer(t.layerId).layer,t.disabled=void 0!==i.options.minZoom&&ni.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),Pe=xe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"−",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=ht("div",i+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+"-in",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+"-out",e,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),e},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=ht("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),J(s),V(s,"click",Q),V(s,"click",o,this),V(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";mt(this._zoomInButton,i),mt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMinZoom())&&pt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMaxZoom())&&pt(this._zoomInButton,i)}});ye.mergeOptions({zoomControl:!0}),ye.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Pe,this.addControl(this.zoomControl))});var be=xe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i=ht("div","leaflet-control-scale"),e=this.options;return this._addScales(e,"leaflet-control-scale-line",i),t.on(e.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=ht("div",i,e)),t.imperial&&(this._iScale=ht("div",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;o>5280?(i=o/5280,e=this._getRoundNum(i),this._updateScale(this._iScale,e+" mi",e/i)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,i,e){t.style.width=Math.round(this.options.maxWidth*e)+"px",t.innerHTML=i},_getRoundNum:function(t){var i=Math.pow(10,(Math.floor(t)+"").length-1),e=t/i;return e=e>=10?10:e>=5?5:e>=3?3:e>=2?2:1,i*e}}),Te=xe.extend({options:{position:"bottomright",prefix:'Leaflet'},initialize:function(t){l(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=ht("div","leaflet-control-attribution"),J(this._container);for(var i in t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(", ")),this._container.innerHTML=e.join(" | ")}}});ye.mergeOptions({attributionControl:!0}),ye.addInitHook(function(){this.options.attributionControl&&(new Te).addTo(this)});xe.Layers=Le,xe.Zoom=Pe,xe.Scale=be,xe.Attribution=Te,we.layers=function(t,i,e){return new Le(t,i,e)},we.zoom=function(t){return new Pe(t)},we.scale=function(t){return new be(t)},we.attribution=function(t){return new Te(t)};var ze,Me=v.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}}),Ce={Events:hi},Ze=Hi?"touchstart mousedown":"mousedown",Ee={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},Se={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},ke=ui.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){l(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(V(this._dragStartTarget,Ze,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ke._dragging===this&&this.finishDrag(),G(this._dragStartTarget,Ze,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!dt(this._element,"leaflet-zoom-anim")&&!(ke._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(ke._dragging=this,this._preventOutline&&zt(this._element),bt(),pi(),this._moving)))){this.fire("down");var i=t.touches?t.touches[0]:t;this._startPoint=new x(i.clientX,i.clientY),V(document,Se[t.type],this._onMove,this),V(document,Ee[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var i=t.touches&&1===t.touches.length?t.touches[0]:t,e=new x(i.clientX,i.clientY).subtract(this._startPoint);(e.x||e.y)&&(Math.abs(e.x)+Math.abs(e.y)1e-7;h++)i=s*Math.sin(a),i=Math.pow((1-i)/(1+i),s/2),a+=u=Math.PI/2-2*Math.atan(r*i)-a;return new M(a*e,t.x*e/n)}},Re=(Object.freeze||Object)({LonLat:Ae,Mercator:Oe,SphericalMercator:_i}),De=i({},ci,{code:"EPSG:3395",projection:Oe,transformation:function(){var t=.5/(Math.PI*Oe.R);return E(t,.5,-t,.5)}()}),Ne=i({},ci,{code:"EPSG:4326",projection:Ae,transformation:E(1/180,1,-1/180,.5)}),je=i({},li,{projection:Ae,transformation:E(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,i){var e=i.lng-t.lng,n=i.lat-t.lat;return Math.sqrt(e*e+n*n)},infinite:!0});li.Earth=ci,li.EPSG3395=De,li.EPSG3857=gi,li.EPSG900913=vi,li.EPSG4326=Ne,li.Simple=je;var We=ui.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[n(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[n(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var i=t.target;if(i.hasLayer(this)){if(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents){var e=this.getEvents();i.on(e,this),this.once("remove",function(){i.off(e,this)},this)}this.onAdd(i),this.getAttribution&&i.attributionControl&&i.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),i.fire("layeradd",{layer:this})}}});ye.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var i=n(t);return this._layers[i]?this:(this._layers[i]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var i=n(t);return this._layers[i]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[i],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&n(t)in this._layers},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},_addLayers:function(t){for(var i=0,e=(t=t?ei(t)?t:[t]:[]).length;ithis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()i)return r=(n-i)/e,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,i){return i=i||this._defaultShape(),t=C(t),i.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new T,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return Dt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var i=[],e=Dt(t),n=0,o=t.length;n=2&&i[0]instanceof M&&i[0].equals(i[e-1])&&i.pop(),i},_setLatLngs:function(t){Je.prototype._setLatLngs.call(this,t),Dt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Dt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,e=new x(i,i);if(t=new P(t.min.subtract(e),t.max.add(e)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||Je.prototype._containsPoint.call(this,t,!0)}}),Qe=Fe.extend({initialize:function(t,i){l(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=ei(t)?t:t.features;if(o){for(i=0,e=o.length;io?(i.height=o+"px",pt(t,"leaflet-popup-scrolled")):mt(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Lt(this._container,i.add(e))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,i=parseInt(at(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+i,n=this._containerWidth,o=new x(this._containerLeft,-e-this._containerBottom);o._add(Pt(this._container));var s=t.layerPointToContainerPoint(o),r=w(this.options.autoPanPadding),a=w(this.options.autoPanPaddingTopLeft||r),h=w(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),l=0,c=0;s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),Q(t)},_getAnchor:function(){return w(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});ye.mergeOptions({closePopupOnClick:!0}),ye.include({openPopup:function(t,i,e){return t instanceof rn||(t=new rn(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),We.include({bindPopup:function(t,i){return t instanceof rn?(l(t,i),this._popup=t,t._source=this):(this._popup&&!i||(this._popup=new rn(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){if(t instanceof We||(i=t,t=this),t instanceof Fe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(Q(t),i instanceof Ke?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var an=sn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){sn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){sn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=sn.prototype.getEvents.call(this);return Hi&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ht("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i=this._map,e=this._container,n=i.latLngToContainerPoint(i.getCenter()),o=i.layerPointToContainerPoint(t),s=this.options.direction,r=e.offsetWidth,a=e.offsetHeight,h=w(this.options.offset),u=this._getAnchor();"top"===s?t=t.add(w(-r/2+h.x,-a+h.y+u.y,!0)):"bottom"===s?t=t.subtract(w(r/2-h.x,-h.y,!0)):"center"===s?t=t.subtract(w(r/2+h.x,a/2-u.y+h.y,!0)):"right"===s||"auto"===s&&o.xthis.options.maxZoom||en&&this._retainParent(o,s,r,n))},_retainChildren:function(t,i,e,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*i;s<2*i+2;s++){var r=new x(o,s);r.z=e+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),e+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)this._setView(t,e);else{for(var c=o.min.y;c<=o.max.y;c++)for(var _=o.min.x;_<=o.max.x;_++){var d=new x(_,c);d.z=this._tileZoom,this._isValidTile(d)&&(this._tiles[this._tileCoordsToKey(d)]||r.push(d))}if(r.sort(function(t,i){return t.distanceTo(s)-i.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var p=document.createDocumentFragment();for(_=0;_e.max.x)||!i.wrapLat&&(t.ye.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToBounds:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e),s=new T(i.unproject(n,t.z),i.unproject(o,t.z));return this.options.noWrap||i.wrapLatLngBounds(s),s},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),e=new x(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(ut(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){pt(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=r,t.onmousemove=r,wi&&this.options.opacity<1&&vt(t,this.options.opacity),bi&&!Ti&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var n=this._getTilePos(t),o=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),e(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&f(e(this._tileReady,this,t,null,s)),Lt(s,n),this._tiles[o]={el:s,coords:t,current:!0},i.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,i,n){if(this._map){i&&this.fire("tileerror",{error:i,tile:n,coords:t});var o=this._tileCoordsToKey(t);(n=this._tiles[o])&&(n.loaded=+new Date,this._map._fadeAnimated?(vt(n.el,0),g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),i||(pt(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),wi||!this._map._fadeAnimated?f(this._pruneTiles,this):setTimeout(e(this._pruneTiles,this),250)))}},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new x(this._wrapX?s(t.x,this._wrapX):t.x,this._wrapY?s(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new P(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),ln=un.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=l(this,i)).detectRetina&&Vi&&i.maxZoom>0&&(i.tileSize=Math.floor(i.tileSize/2),i.zoomReverse?(i.zoomOffset--,i.minZoom++):(i.zoomOffset++,i.maxZoom--),i.minZoom=Math.max(0,i.minZoom)),"string"==typeof i.subdomains&&(i.subdomains=i.subdomains.split("")),bi||this.on("tileunload",this._onTileRemove)},setUrl:function(t,i){return this._url=t,i||this.redraw(),this},createTile:function(t,i){var n=document.createElement("img");return V(n,"load",e(this._tileOnLoad,this,i,n)),V(n,"error",e(this._tileOnError,this,i,n)),this.options.crossOrigin&&(n.crossOrigin=""),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Vi?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return _(this._url,i(e,this.options))},_tileOnLoad:function(t,i){wi?setTimeout(e(t,this,null,i),0):t(null,i)},_tileOnError:function(t,i,e){var n=this.options.errorTileUrl;n&&i.src!==n&&(i.src=n),t(e,i)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,i=this.options.maxZoom,e=this.options.zoomReverse,n=this.options.zoomOffset;return e&&(t=i-t),t+n},_getSubdomain:function(t){var i=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var t,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=r,i.onerror=r,i.complete||(i.src=ni,ut(i)))}}),cn=ln.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);e=l(this,e),n.width=n.height=e.tileSize*(e.detectRetina&&Vi?2:1),this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[i]=this._crs.code,ln.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToBounds(t),e=this._crs.project(i.getNorthWest()),n=this._crs.project(i.getSouthEast()),o=(this._wmsVersion>=1.3&&this._crs===Ne?[n.y,e.x,e.y,n.x]:[e.x,n.y,n.x,e.y]).join(","),s=ln.prototype.getTileUrl.call(this,t);return s+c(this.wmsParams,s,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+o},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});ln.WMS=cn,Yt.wms=function(t,i){return new cn(t,i)};var _n=We.extend({options:{padding:.1},initialize:function(t){l(this,t),n(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&pt(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,i){var e=this._map.getZoomScale(i,this._zoom),n=Pt(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,i),r=this._map.project(t,i).subtract(s),a=o.multiplyBy(-e).add(n).add(o).subtract(r);Oi?wt(this._container,a,e):Lt(this._container,a)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,i=this._map.getSize(),e=this._map.containerPointToLayerPoint(i.multiplyBy(-t)).round();this._bounds=new P(e,e.add(i.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),dn=_n.extend({getEvents:function(){var t=_n.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){_n.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");V(t,"mousemove",o(this._onMouseMove,32,this),this),V(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),V(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){delete this._ctx,ut(this._container),G(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){this._redrawBounds=null;for(var t in this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},_n.prototype._update.call(this);var t=this._bounds,i=this._container,e=t.getSize(),n=Vi?2:1;Lt(i,t.min),i.width=n*e.x,i.height=n*e.y,i.style.width=e.x+"px",i.style.height=e.y+"px",Vi&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){_n.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[n(t)]=t;var i=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=i),this._drawLast=i,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var i=t._order,e=i.next,n=i.prev;e?e.prev=n:this._drawLast=n,n?n.next=e:this._drawFirst=e,delete t._order,delete this._layers[L.stamp(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(t.options.dashArray){var i,e=t.options.dashArray.split(","),n=[];for(i=0;i')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),mn={_initContainer:function(){this._container=ht("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(_n.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=pn("shape");pt(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=pn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;ut(i),t.removeInteractiveTarget(i),delete this._layers[n(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i||(i=t._stroke=pn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=ei(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=n.lineCap.replace("butt","flat"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e||(e=t._fill=pn("fill")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+e+","+n+" 0,23592600")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){ct(t._container)},_bringToBack:function(t){_t(t._container)}},fn=Ki?pn:S,gn=_n.extend({getEvents:function(){var t=_n.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=fn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=fn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ut(this._container),G(this._container),delete this._container,delete this._rootGroup},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){_n.prototype._update.call(this);var t=this._bounds,i=t.getSize(),e=this._container;this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute("width",i.x),e.setAttribute("height",i.y)),Lt(e,t.min),e.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update")}},_initPath:function(t){var i=t._path=fn("path");t.options.className&&pt(i,t.options.className),t.options.interactive&&pt(i,"leaflet-interactive"),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ut(t._path),t.removeInteractiveTarget(t._path),delete this._layers[n(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute("stroke",e.color),i.setAttribute("stroke-opacity",e.opacity),i.setAttribute("stroke-width",e.weight),i.setAttribute("stroke-linecap",e.lineCap),i.setAttribute("stroke-linejoin",e.lineJoin),e.dashArray?i.setAttribute("stroke-dasharray",e.dashArray):i.removeAttribute("stroke-dasharray"),e.dashOffset?i.setAttribute("stroke-dashoffset",e.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),e.fill?(i.setAttribute("fill",e.fillColor||e.color),i.setAttribute("fill-opacity",e.fillOpacity),i.setAttribute("fill-rule",e.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,k(t._parts,i))},_updateCircle:function(t){var i=t._point,e=t._radius,n="a"+e+","+(t._radiusY||e)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(i.x-e)+","+i.y+n+2*e+",0 "+n+2*-e+",0 ";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){ct(t._path)},_bringToBack:function(t){_t(t._path)}});Ki&&gn.include(mn),ye.include({getRenderer:function(t){var i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return i||(i=this._renderer=this.options.preferCanvas&&Xt()||Jt()),this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=gn&&Jt({pane:t})||dn&&Xt({pane:t}),this._paneRenderers[t]=i),i}});var vn=$e.extend({initialize:function(t,i){$e.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=z(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});gn.create=fn,gn.pointsToPath=k,Qe.geometryToLayer=Wt,Qe.coordsToLatLng=Ht,Qe.coordsToLatLngs=Ft,Qe.latLngToCoords=Ut,Qe.latLngsToCoords=Vt,Qe.getFeature=Gt,Qe.asFeature=qt,ye.mergeOptions({boxZoom:!0});var yn=Me.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){V(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){G(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ut(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),pi(),bt(),this._startPoint=this._map.mouseEventToContainerPoint(t),V(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ht("div","leaflet-zoom-box",this._container),pt(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new P(this._point,this._startPoint),e=i.getSize();Lt(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(ut(this._box),mt(this._container,"leaflet-crosshair")),mi(),Tt(),G(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(e(this._resetState,this),0);var i=new T(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});ye.addInitHook("addHandler","boxZoom",yn),ye.mergeOptions({doubleClickZoom:!0});var xn=Me.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;"center"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});ye.addInitHook("addHandler","doubleClickZoom",xn),ye.mergeOptions({dragging:!0,inertia:!Ti,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var wn=Me.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ke(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}pt(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mt(this._map._container,"leaflet-grab"),mt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=z(this._map.options.maxBounds);this._offsetLimit=b(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(e),this._times.push(i),i-this._times[0]>50&&(this._positions.shift(),this._times.shift())}this._map.fire("move",t).fire("drag",t)},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,i){return t-(t-i)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),i=this._offsetLimit;t.xi.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)0?s:-s))-i;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(i+r):t.setZoomAround(this._lastMousePos,i+r))}});ye.addInitHook("addHandler","scrollWheelZoom",Pn),ye.mergeOptions({tap:!0,tapTolerance:15});var bn=Me.extend({addHooks:function(){V(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){G(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if($(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new x(i.clientX,i.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&pt(n,"leaflet-active"),this._holdTimeout=setTimeout(e(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),this._simulateEvent("mousedown",i),V(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),G(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],e=i.target;e&&e.tagName&&"a"===e.tagName.toLowerCase()&&mt(e,"leaflet-active"),this._simulateEvent("mouseup",i),this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var i=t.touches[0];this._newPos=new x(i.clientX,i.clientY),this._simulateEvent("mousemove",i)},_simulateEvent:function(t,i){var e=document.createEvent("MouseEvents");e._simulated=!0,i.target._simulatedClick=!0,e.initMouseEvent(t,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),i.target.dispatchEvent(e)}});Hi&&!Wi&&ye.addInitHook("addHandler","tap",bn),ye.mergeOptions({touchZoom:Hi&&!Ti,bounceAtZoomLimits:!0});var Tn=Me.extend({addHooks:function(){pt(this._map._container,"leaflet-touch-zoom"),V(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){mt(this._map._container,"leaflet-touch-zoom"),G(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var e=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),"center"!==i.options.touchZoom&&(this._pinchStartLatLng=i.containerPointToLatLng(e.add(n)._divideBy(2))),this._startDist=e.distanceTo(n),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),V(document,"touchmove",this._onTouchMove,this),V(document,"touchend",this._onTouchEnd,this),$(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var i=this._map,n=i.mouseEventToContainerPoint(t.touches[0]),o=i.mouseEventToContainerPoint(t.touches[1]),s=n.distanceTo(o)/this._startDist;if(this._zoom=i.getScaleZoom(s,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoomi.getMaxZoom()&&s>1)&&(this._zoom=i._limitZoom(this._zoom)),"center"===i.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=n._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(i._moveStart(!0),this._moved=!0),g(this._animRequest);var a=e(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=f(a,this,!0),$(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,g(this._animRequest),G(document,"touchmove",this._onTouchMove),G(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});ye.addInitHook("addHandler","touchZoom",Tn),ye.BoxZoom=yn,ye.DoubleClickZoom=xn,ye.Drag=wn,ye.Keyboard=Ln,ye.ScrollWheelZoom=Pn,ye.Tap=bn,ye.TouchZoom=Tn;var zn=window.L;window.L=t,Object.freeze=$t,t.version="1.2.0",t.noConflict=function(){return window.L=zn,this},t.Control=xe,t.control=we,t.Browser=Yi,t.Evented=ui,t.Mixin=Ce,t.Util=ai,t.Class=v,t.Handler=Me,t.extend=i,t.bind=e,t.stamp=n,t.setOptions=l,t.DomEvent=le,t.DomUtil=ge,t.PosAnimation=ve,t.Draggable=ke,t.LineUtil=Be,t.PolyUtil=Ie,t.Point=x,t.point=w,t.Bounds=P,t.bounds=b,t.Transformation=Z,t.transformation=E,t.Projection=Re,t.LatLng=M,t.latLng=C,t.LatLngBounds=T,t.latLngBounds=z,t.CRS=li,t.GeoJSON=Qe,t.geoJSON=Kt,t.geoJson=en,t.Layer=We,t.LayerGroup=He,t.layerGroup=function(t){return new He(t)},t.FeatureGroup=Fe,t.featureGroup=function(t){return new Fe(t)},t.ImageOverlay=nn,t.imageOverlay=function(t,i,e){return new nn(t,i,e)},t.VideoOverlay=on,t.videoOverlay=function(t,i,e){return new on(t,i,e)},t.DivOverlay=sn,t.Popup=rn,t.popup=function(t,i){return new rn(t,i)},t.Tooltip=an,t.tooltip=function(t,i){return new an(t,i)},t.Icon=Ue,t.icon=function(t){return new Ue(t)},t.DivIcon=hn,t.divIcon=function(t){return new hn(t)},t.Marker=qe,t.marker=function(t,i){return new qe(t,i)},t.TileLayer=ln,t.tileLayer=Yt,t.GridLayer=un,t.gridLayer=function(t){return new un(t)},t.SVG=gn,t.svg=Jt,t.Renderer=_n,t.Canvas=dn,t.canvas=Xt,t.Path=Ke,t.CircleMarker=Ye,t.circleMarker=function(t,i){return new Ye(t,i)},t.Circle=Xe,t.circle=function(t,i,e){return new Xe(t,i,e)},t.Polyline=Je,t.polyline=function(t,i){return new Je(t,i)},t.Polygon=$e,t.polygon=function(t,i){return new $e(t,i)},t.Rectangle=vn,t.rectangle=function(t,i){return new vn(t,i)},t.Map=ye,t.map=function(t,i){return new ye(t,i)}}); +/*! + * iCheck v1.0.2, http://git.io/arlzeA + * =================================== + * Powerful jQuery and Zepto plugin for checkboxes and radio buttons customization + * + * (c) 2013 Damir Sultanov, http://fronteed.com + * MIT Licensed + */ + +(function($) { + + // Cached vars + var _iCheck = 'iCheck', + _iCheckHelper = _iCheck + '-helper', + _checkbox = 'checkbox', + _radio = 'radio', + _checked = 'checked', + _unchecked = 'un' + _checked, + _disabled = 'disabled', + _determinate = 'determinate', + _indeterminate = 'in' + _determinate, + _update = 'update', + _type = 'type', + _click = 'click', + _touch = 'touchbegin.i touchend.i', + _add = 'addClass', + _remove = 'removeClass', + _callback = 'trigger', + _label = 'label', + _cursor = 'cursor', + _mobile = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent); + + // Plugin init + $.fn[_iCheck] = function(options, fire) { + + // Walker + var handle = 'input[type="' + _checkbox + '"], input[type="' + _radio + '"]', + stack = $(), + walker = function(object) { + object.each(function() { + var self = $(this); + + if (self.is(handle)) { + stack = stack.add(self); + } else { + stack = stack.add(self.find(handle)); + } + }); + }; + + // Check if we should operate with some method + if (/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(options)) { + + // Normalize method's name + options = options.toLowerCase(); + + // Find checkboxes and radio buttons + walker(this); + + return stack.each(function() { + var self = $(this); + + if (options == 'destroy') { + tidy(self, 'ifDestroyed'); + } else { + operate(self, true, options); + } + + // Fire method's callback + if ($.isFunction(fire)) { + fire(); + } + }); + + // Customization + } else if (typeof options == 'object' || !options) { + + // Check if any options were passed + var settings = $.extend({ + checkedClass: _checked, + disabledClass: _disabled, + indeterminateClass: _indeterminate, + labelHover: true + }, options), + + selector = settings.handle, + hoverClass = settings.hoverClass || 'hover', + focusClass = settings.focusClass || 'focus', + activeClass = settings.activeClass || 'active', + labelHover = !!settings.labelHover, + labelHoverClass = settings.labelHoverClass || 'hover', + + // Setup clickable area + area = ('' + settings.increaseArea).replace('%', '') | 0; + + // Selector limit + if (selector == _checkbox || selector == _radio) { + handle = 'input[type="' + selector + '"]'; + } + + // Clickable area limit + if (area < -50) { + area = -50; + } + + // Walk around the selector + walker(this); + + return stack.each(function() { + var self = $(this); + + // If already customized + tidy(self); + + var node = this, + id = node.id, + + // Layer styles + offset = -area + '%', + size = 100 + (area * 2) + '%', + layer = { + position: 'absolute', + top: offset, + left: offset, + display: 'block', + width: size, + height: size, + margin: 0, + padding: 0, + background: '#fff', + border: 0, + opacity: 0 + }, + + // Choose how to hide input + hide = _mobile ? { + position: 'absolute', + visibility: 'hidden' + } : area ? layer : { + position: 'absolute', + opacity: 0 + }, + + // Get proper class + className = node[_type] == _checkbox ? settings.checkboxClass || 'i' + _checkbox : settings.radioClass || 'i' + _radio, + + // Find assigned labels + label = $(_label + '[for="' + id + '"]').add(self.closest(_label)), + + // Check ARIA option + aria = !!settings.aria, + + // Set ARIA placeholder + ariaID = _iCheck + '-' + Math.random().toString(36).substr(2,6), + + // Parent & helper + parent = '
')[_callback]('ifCreated').parent().append(settings.insert); + + // Layer addition + helper = $('').css(layer).appendTo(parent); + + // Finalize customization + self.data(_iCheck, {o: settings, s: self.attr('style')}).css(hide); + !!settings.inheritClass && parent[_add](node.className || ''); + !!settings.inheritID && id && parent.attr('id', _iCheck + '-' + id); + parent.css('position') == 'static' && parent.css('position', 'relative'); + operate(self, true, _update); + + // Label events + if (label.length) { + label.on(_click + '.i mouseover.i mouseout.i ' + _touch, function(event) { + var type = event[_type], + item = $(this); + + // Do nothing if input is disabled + if (!node[_disabled]) { + + // Click + if (type == _click) { + if ($(event.target).is('a')) { + return; + } + operate(self, false, true); + + // Hover state + } else if (labelHover) { + + // mouseout|touchend + if (/ut|nd/.test(type)) { + parent[_remove](hoverClass); + item[_remove](labelHoverClass); + } else { + parent[_add](hoverClass); + item[_add](labelHoverClass); + } + } + + if (_mobile) { + event.stopPropagation(); + } else { + return false; + } + } + }); + } + + // Input events + self.on(_click + '.i focus.i blur.i keyup.i keydown.i keypress.i', function(event) { + var type = event[_type], + key = event.keyCode; + + // Click + if (type == _click) { + return false; + + // Keydown + } else if (type == 'keydown' && key == 32) { + if (!(node[_type] == _radio && node[_checked])) { + if (node[_checked]) { + off(self, _checked); + } else { + on(self, _checked); + } + } + + return false; + + // Keyup + } else if (type == 'keyup' && node[_type] == _radio) { + !node[_checked] && on(self, _checked); + + // Focus/blur + } else if (/us|ur/.test(type)) { + parent[type == 'blur' ? _remove : _add](focusClass); + } + }); + + // Helper events + helper.on(_click + ' mousedown mouseup mouseover mouseout ' + _touch, function(event) { + var type = event[_type], + + // mousedown|mouseup + toggle = /wn|up/.test(type) ? activeClass : hoverClass; + + // Do nothing if input is disabled + if (!node[_disabled]) { + + // Click + if (type == _click) { + operate(self, false, true); + + // Active and hover states + } else { + + // State is on + if (/wn|er|in/.test(type)) { + + // mousedown|mouseover|touchbegin + parent[_add](toggle); + + // State is off + } else { + parent[_remove](toggle + ' ' + activeClass); + } + + // Label hover + if (label.length && labelHover && toggle == hoverClass) { + + // mouseout|touchend + label[/ut|nd/.test(type) ? _remove : _add](labelHoverClass); + } + } + + if (_mobile) { + event.stopPropagation(); + } else { + return false; + } + } + }); + }); + } else { + return this; + } + }; + + // Do something with inputs + function operate(input, direct, method) { + var node = input[0], + state = /er/.test(method) ? _indeterminate : /bl/.test(method) ? _disabled : _checked, + active = method == _update ? { + checked: node[_checked], + disabled: node[_disabled], + indeterminate: input.attr(_indeterminate) == 'true' || input.attr(_determinate) == 'false' + } : node[state]; + + // Check, disable or indeterminate + if (/^(ch|di|in)/.test(method) && !active) { + on(input, state); + + // Uncheck, enable or determinate + } else if (/^(un|en|de)/.test(method) && active) { + off(input, state); + + // Update + } else if (method == _update) { + + // Handle states + for (var each in active) { + if (active[each]) { + on(input, each, true); + } else { + off(input, each, true); + } + } + + } else if (!direct || method == 'toggle') { + + // Helper or label was clicked + if (!direct) { + input[_callback]('ifClicked'); + } + + // Toggle checked state + if (active) { + if (node[_type] !== _radio) { + off(input, state); + } + } else { + on(input, state); + } + } + } + + // Add checked, disabled or indeterminate state + function on(input, state, keep) { + var node = input[0], + parent = input.parent(), + checked = state == _checked, + indeterminate = state == _indeterminate, + disabled = state == _disabled, + callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled', + regular = option(input, callback + capitalize(node[_type])), + specific = option(input, state + capitalize(node[_type])); + + // Prevent unnecessary actions + if (node[state] !== true) { + + // Toggle assigned radio buttons + if (!keep && state == _checked && node[_type] == _radio && node.name) { + var form = input.closest('form'), + inputs = 'input[name="' + node.name + '"]'; + + inputs = form.length ? form.find(inputs) : $(inputs); + + inputs.each(function() { + if (this !== node && $(this).data(_iCheck)) { + off($(this), state); + } + }); + } + + // Indeterminate state + if (indeterminate) { + + // Add indeterminate state + node[state] = true; + + // Remove checked state + if (node[_checked]) { + off(input, _checked, 'force'); + } + + // Checked or disabled state + } else { + + // Add checked or disabled state + if (!keep) { + node[state] = true; + } + + // Remove indeterminate state + if (checked && node[_indeterminate]) { + off(input, _indeterminate, false); + } + } + + // Trigger callbacks + callbacks(input, checked, state, keep); + } + + // Add proper cursor + if (node[_disabled] && !!option(input, _cursor, true)) { + parent.find('.' + _iCheckHelper).css(_cursor, 'default'); + } + + // Add state class + parent[_add](specific || option(input, state) || ''); + + // Set ARIA attribute + if (!!parent.attr('role') && !indeterminate) { + parent.attr('aria-' + (disabled ? _disabled : _checked), 'true'); + } + + // Remove regular state class + parent[_remove](regular || option(input, callback) || ''); + } + + // Remove checked, disabled or indeterminate state + function off(input, state, keep) { + var node = input[0], + parent = input.parent(), + checked = state == _checked, + indeterminate = state == _indeterminate, + disabled = state == _disabled, + callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled', + regular = option(input, callback + capitalize(node[_type])), + specific = option(input, state + capitalize(node[_type])); + + // Prevent unnecessary actions + if (node[state] !== false) { + + // Toggle state + if (indeterminate || !keep || keep == 'force') { + node[state] = false; + } + + // Trigger callbacks + callbacks(input, checked, callback, keep); + } + + // Add proper cursor + if (!node[_disabled] && !!option(input, _cursor, true)) { + parent.find('.' + _iCheckHelper).css(_cursor, 'pointer'); + } + + // Remove state class + parent[_remove](specific || option(input, state) || ''); + + // Set ARIA attribute + if (!!parent.attr('role') && !indeterminate) { + parent.attr('aria-' + (disabled ? _disabled : _checked), 'false'); + } + + // Add regular state class + parent[_add](regular || option(input, callback) || ''); + } + + // Remove all traces + function tidy(input, callback) { + if (input.data(_iCheck)) { + + // Remove everything except input + input.parent().html(input.attr('style', input.data(_iCheck).s || '')); + + // Callback + if (callback) { + input[_callback](callback); + } + + // Unbind events + input.off('.i').unwrap(); + $(_label + '[for="' + input[0].id + '"]').add(input.closest(_label)).off('.i'); + } + } + + // Get some option + function option(input, state, regular) { + if (input.data(_iCheck)) { + return input.data(_iCheck).o[state + (regular ? '' : 'Class')]; + } + } + + // Capitalize some string + function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); + } + + // Executable handlers + function callbacks(input, checked, callback, keep) { + if (!keep) { + if (checked) { + input[_callback]('ifToggled'); + } + + input[_callback]('ifChanged')[_callback]('if' + capitalize(callback)); + } + } +})(window.jQuery || window.Zepto); + !function(e){if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.Pjax=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;othis.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); + +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery') +} + ++function ($) { + 'use strict'; + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { + throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') + } +}(jQuery); + +/* ======================================================================== + * Bootstrap: transition.js v3.3.5 + * http://getbootstrap.com/javascript/#transitions + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + + return false // explicit for ie8 ( ._.) + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false + var $el = this + $(this).one('bsTransitionEnd', function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + + if (!$.support.transition) return + + $.event.special.bsTransitionEnd = { + bindType: $.support.transition.end, + delegateType: $.support.transition.end, + handle: function (e) { + if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + } + } + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.3.5 + * http://getbootstrap.com/javascript/#alerts + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.VERSION = '3.3.5' + + Alert.TRANSITION_DURATION = 150 + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.closest('.alert') + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + // detach from parent, fire event then clean up data + $parent.detach().trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one('bsTransitionEnd', removeElement) + .emulateTransitionEnd(Alert.TRANSITION_DURATION) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.alert + + $.fn.alert = Plugin + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.3.5 + * http://getbootstrap.com/javascript/#buttons + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + this.isLoading = false + } + + Button.VERSION = '3.3.5' + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state += 'Text' + + if (data.resetText == null) $el.data('resetText', $el[val]()) + + // push to event loop to allow forms to submit + setTimeout($.proxy(function () { + $el[val](data[state] == null ? this.options[state] : data[state]) + + if (state == 'loadingText') { + this.isLoading = true + $el.addClass(d).attr(d, d) + } else if (this.isLoading) { + this.isLoading = false + $el.removeClass(d).removeAttr(d) + } + }, this), 0) + } + + Button.prototype.toggle = function () { + var changed = true + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + if ($input.prop('type') == 'radio') { + if ($input.prop('checked')) changed = false + $parent.find('.active').removeClass('active') + this.$element.addClass('active') + } else if ($input.prop('type') == 'checkbox') { + if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false + this.$element.toggleClass('active') + } + $input.prop('checked', this.$element.hasClass('active')) + if (changed) $input.trigger('change') + } else { + this.$element.attr('aria-pressed', !this.$element.hasClass('active')) + this.$element.toggleClass('active') + } + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + var old = $.fn.button + + $.fn.button = Plugin + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document) + .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + Plugin.call($btn, 'toggle') + if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() + }) + .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { + $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.3.5 + * http://getbootstrap.com/javascript/#carousel + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = null + this.sliding = null + this.interval = null + this.$active = null + this.$items = null + + this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) + + this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element + .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) + .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) + } + + Carousel.VERSION = '3.3.5' + + Carousel.TRANSITION_DURATION = 600 + + Carousel.DEFAULTS = { + interval: 5000, + pause: 'hover', + wrap: true, + keyboard: true + } + + Carousel.prototype.keydown = function (e) { + if (/input|textarea/i.test(e.target.tagName)) return + switch (e.which) { + case 37: this.prev(); break + case 39: this.next(); break + default: return + } + + e.preventDefault() + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getItemIndex = function (item) { + this.$items = item.parent().children('.item') + return this.$items.index(item || this.$active) + } + + Carousel.prototype.getItemForDirection = function (direction, active) { + var activeIndex = this.getItemIndex(active) + var willWrap = (direction == 'prev' && activeIndex === 0) + || (direction == 'next' && activeIndex == (this.$items.length - 1)) + if (willWrap && !this.options.wrap) return active + var delta = direction == 'prev' ? -1 : 1 + var itemIndex = (activeIndex + delta) % this.$items.length + return this.$items.eq(itemIndex) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || this.getItemForDirection(type, $active) + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var that = this + + if ($next.hasClass('active')) return (this.sliding = false) + + var relatedTarget = $next[0] + var slideEvent = $.Event('slide.bs.carousel', { + relatedTarget: relatedTarget, + direction: direction + }) + this.$element.trigger(slideEvent) + if (slideEvent.isDefaultPrevented()) return + + this.sliding = true + + isCycling && this.pause() + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) + $nextIndicator && $nextIndicator.addClass('active') + } + + var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" + if ($.support.transition && this.$element.hasClass('slide')) { + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one('bsTransitionEnd', function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { + that.$element.trigger(slidEvent) + }, 0) + }) + .emulateTransitionEnd(Carousel.TRANSITION_DURATION) + } else { + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger(slidEvent) + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + var old = $.fn.carousel + + $.fn.carousel = Plugin + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + var clickHandler = function (e) { + var href + var $this = $(this) + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 + if (!$target.hasClass('carousel')) return + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + Plugin.call($target, options) + + if (slideIndex) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + } + + $(document) + .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) + .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + Plugin.call($carousel, $carousel.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.3.5 + * http://getbootstrap.com/javascript/#collapse + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + + '[data-toggle="collapse"][data-target="#' + element.id + '"]') + this.transitioning = null + + if (this.options.parent) { + this.$parent = this.getParent() + } else { + this.addAriaAndCollapsedClass(this.$element, this.$trigger) + } + + if (this.options.toggle) this.toggle() + } + + Collapse.VERSION = '3.3.5' + + Collapse.TRANSITION_DURATION = 350 + + Collapse.DEFAULTS = { + toggle: true + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var activesData + var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') + + if (actives && actives.length) { + activesData = actives.data('bs.collapse') + if (activesData && activesData.transitioning) return + } + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + if (actives && actives.length) { + Plugin.call(actives, 'hide') + activesData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing')[dimension](0) + .attr('aria-expanded', true) + + this.$trigger + .removeClass('collapsed') + .attr('aria-expanded', true) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('collapse in')[dimension]('') + this.transitioning = 0 + this.$element + .trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element[dimension](this.$element[dimension]())[0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse in') + .attr('aria-expanded', false) + + this.$trigger + .addClass('collapsed') + .attr('aria-expanded', false) + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .removeClass('collapsing') + .addClass('collapse') + .trigger('hidden.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + Collapse.prototype.getParent = function () { + return $(this.options.parent) + .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') + .each($.proxy(function (i, element) { + var $element = $(element) + this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) + }, this)) + .end() + } + + Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { + var isOpen = $element.hasClass('in') + + $element.attr('aria-expanded', isOpen) + $trigger + .toggleClass('collapsed', !isOpen) + .attr('aria-expanded', isOpen) + } + + function getTargetFromTrigger($trigger) { + var href + var target = $trigger.attr('data-target') + || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 + + return $(target) + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.collapse + + $.fn.collapse = Plugin + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { + var $this = $(this) + + if (!$this.attr('data-target')) e.preventDefault() + + var $target = getTargetFromTrigger($this) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + + Plugin.call($target, option) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.3.5 + * http://getbootstrap.com/javascript/#dropdowns + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle="dropdown"]' + var Dropdown = function (element) { + $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.VERSION = '3.3.5' + + function getParent($this) { + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = selector && $(selector) + + return $parent && $parent.length ? $parent : $this.parent() + } + + function clearMenus(e) { + if (e && e.which === 3) return + $(backdrop).remove() + $(toggle).each(function () { + var $this = $(this) + var $parent = getParent($this) + var relatedTarget = { relatedTarget: this } + + if (!$parent.hasClass('open')) return + + if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return + + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this.attr('aria-expanded', 'false') + $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) + }) + } + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we use a backdrop because click events don't delegate + $(document.createElement('div')) + .addClass('dropdown-backdrop') + .insertAfter($(this)) + .on('click', clearMenus) + } + + var relatedTarget = { relatedTarget: this } + $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this + .trigger('focus') + .attr('aria-expanded', 'true') + + $parent + .toggleClass('open') + .trigger('shown.bs.dropdown', relatedTarget) + } + + return false + } + + Dropdown.prototype.keydown = function (e) { + if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return + + var $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + if (!isActive && e.which != 27 || isActive && e.which == 27) { + if (e.which == 27) $parent.find(toggle).trigger('focus') + return $this.trigger('click') + } + + var desc = ' li:not(.disabled):visible a' + var $items = $parent.find('.dropdown-menu' + desc) + + if (!$items.length) return + + var index = $items.index(e.target) + + if (e.which == 38 && index > 0) index-- // up + if (e.which == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items.eq(index).trigger('focus') + } + + + // DROPDOWN PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.dropdown') + + if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.dropdown + + $.fn.dropdown = Plugin + $.fn.dropdown.Constructor = Dropdown + + + // DROPDOWN NO CONFLICT + // ==================== + + $.fn.dropdown.noConflict = function () { + $.fn.dropdown = old + return this + } + + + // APPLY TO STANDARD DROPDOWN ELEMENTS + // =================================== + + $(document) + .on('click.bs.dropdown.data-api', clearMenus) + .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) + .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) + .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: modal.js v3.3.5 + * http://getbootstrap.com/javascript/#modals + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // MODAL CLASS DEFINITION + // ====================== + + var Modal = function (element, options) { + this.options = options + this.$body = $(document.body) + this.$element = $(element) + this.$dialog = this.$element.find('.modal-dialog') + this.$backdrop = null + this.isShown = null + this.originalBodyPad = null + this.scrollbarWidth = 0 + this.ignoreBackdropClick = false + + if (this.options.remote) { + this.$element + .find('.modal-content') + .load(this.options.remote, $.proxy(function () { + this.$element.trigger('loaded.bs.modal') + }, this)) + } + } + + Modal.VERSION = '3.3.5' + + Modal.TRANSITION_DURATION = 300 + Modal.BACKDROP_TRANSITION_DURATION = 150 + + Modal.DEFAULTS = { + backdrop: true, + keyboard: true, + show: true + } + + Modal.prototype.toggle = function (_relatedTarget) { + return this.isShown ? this.hide() : this.show(_relatedTarget) + } + + Modal.prototype.show = function (_relatedTarget) { + var that = this + var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + this.isShown = true + + this.checkScrollbar() + this.setScrollbar() + this.$body.addClass('modal-open') + + this.escape() + this.resize() + + this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + + this.$dialog.on('mousedown.dismiss.bs.modal', function () { + that.$element.one('mouseup.dismiss.bs.modal', function (e) { + if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true + }) + }) + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(that.$body) // don't move modals dom position + } + + that.$element + .show() + .scrollTop(0) + + that.adjustDialog() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element.addClass('in') + + that.enforceFocus() + + var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) + + transition ? + that.$dialog // wait for modal to slide in + .one('bsTransitionEnd', function () { + that.$element.trigger('focus').trigger(e) + }) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + that.$element.trigger('focus').trigger(e) + }) + } + + Modal.prototype.hide = function (e) { + if (e) e.preventDefault() + + e = $.Event('hide.bs.modal') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + this.escape() + this.resize() + + $(document).off('focusin.bs.modal') + + this.$element + .removeClass('in') + .off('click.dismiss.bs.modal') + .off('mouseup.dismiss.bs.modal') + + this.$dialog.off('mousedown.dismiss.bs.modal') + + $.support.transition && this.$element.hasClass('fade') ? + this.$element + .one('bsTransitionEnd', $.proxy(this.hideModal, this)) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + this.hideModal() + } + + Modal.prototype.enforceFocus = function () { + $(document) + .off('focusin.bs.modal') // guard against infinite focus loop + .on('focusin.bs.modal', $.proxy(function (e) { + if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { + this.$element.trigger('focus') + } + }, this)) + } + + Modal.prototype.escape = function () { + if (this.isShown && this.options.keyboard) { + this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { + e.which == 27 && this.hide() + }, this)) + } else if (!this.isShown) { + this.$element.off('keydown.dismiss.bs.modal') + } + } + + Modal.prototype.resize = function () { + if (this.isShown) { + $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) + } else { + $(window).off('resize.bs.modal') + } + } + + Modal.prototype.hideModal = function () { + var that = this + this.$element.hide() + this.backdrop(function () { + that.$body.removeClass('modal-open') + that.resetAdjustments() + that.resetScrollbar() + that.$element.trigger('hidden.bs.modal') + }) + } + + Modal.prototype.removeBackdrop = function () { + this.$backdrop && this.$backdrop.remove() + this.$backdrop = null + } + + Modal.prototype.backdrop = function (callback) { + var that = this + var animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $(document.createElement('div')) + .addClass('modal-backdrop ' + animate) + .appendTo(this.$body) + + this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { + if (this.ignoreBackdropClick) { + this.ignoreBackdropClick = false + return + } + if (e.target !== e.currentTarget) return + this.options.backdrop == 'static' + ? this.$element[0].focus() + : this.hide() + }, this)) + + if (doAnimate) this.$backdrop[0].offsetWidth // force reflow + + this.$backdrop.addClass('in') + + if (!callback) return + + doAnimate ? + this.$backdrop + .one('bsTransitionEnd', callback) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callback() + + } else if (!this.isShown && this.$backdrop) { + this.$backdrop.removeClass('in') + + var callbackRemove = function () { + that.removeBackdrop() + callback && callback() + } + $.support.transition && this.$element.hasClass('fade') ? + this.$backdrop + .one('bsTransitionEnd', callbackRemove) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callbackRemove() + + } else if (callback) { + callback() + } + } + + // these following methods are used to handle overflowing modals + + Modal.prototype.handleUpdate = function () { + this.adjustDialog() + } + + Modal.prototype.adjustDialog = function () { + var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight + + this.$element.css({ + paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', + paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' + }) + } + + Modal.prototype.resetAdjustments = function () { + this.$element.css({ + paddingLeft: '', + paddingRight: '' + }) + } + + Modal.prototype.checkScrollbar = function () { + var fullWindowWidth = window.innerWidth + if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 + var documentElementRect = document.documentElement.getBoundingClientRect() + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) + } + this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth + this.scrollbarWidth = this.measureScrollbar() + } + + Modal.prototype.setScrollbar = function () { + var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) + this.originalBodyPad = document.body.style.paddingRight || '' + if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) + } + + Modal.prototype.resetScrollbar = function () { + this.$body.css('padding-right', this.originalBodyPad) + } + + Modal.prototype.measureScrollbar = function () { // thx walsh + var scrollDiv = document.createElement('div') + scrollDiv.className = 'modal-scrollbar-measure' + this.$body.append(scrollDiv) + var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth + this.$body[0].removeChild(scrollDiv) + return scrollbarWidth + } + + + // MODAL PLUGIN DEFINITION + // ======================= + + function Plugin(option, _relatedTarget) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.modal') + var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data) $this.data('bs.modal', (data = new Modal(this, options))) + if (typeof option == 'string') data[option](_relatedTarget) + else if (options.show) data.show(_relatedTarget) + }) + } + + var old = $.fn.modal + + $.fn.modal = Plugin + $.fn.modal.Constructor = Modal + + + // MODAL NO CONFLICT + // ================= + + $.fn.modal.noConflict = function () { + $.fn.modal = old + return this + } + + + // MODAL DATA-API + // ============== + + $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { + var $this = $(this) + var href = $this.attr('href') + var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 + var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) + + if ($this.is('a')) e.preventDefault() + + $target.one('show.bs.modal', function (showEvent) { + if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown + $target.one('hidden.bs.modal', function () { + $this.is(':visible') && $this.trigger('focus') + }) + }) + Plugin.call($target, option, this) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tooltip.js v3.3.5 + * http://getbootstrap.com/javascript/#tooltip + * Inspired by the original jQuery.tipsy by Jason Frame + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TOOLTIP PUBLIC CLASS DEFINITION + // =============================== + + var Tooltip = function (element, options) { + this.type = null + this.options = null + this.enabled = null + this.timeout = null + this.hoverState = null + this.$element = null + this.inState = null + + this.init('tooltip', element, options) + } + + Tooltip.VERSION = '3.3.5' + + Tooltip.TRANSITION_DURATION = 150 + + Tooltip.DEFAULTS = { + animation: true, + placement: 'top', + selector: false, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + container: false, + viewport: { + selector: 'body', + padding: 0 + } + } + + Tooltip.prototype.init = function (type, element, options) { + this.enabled = true + this.type = type + this.$element = $(element) + this.options = this.getOptions(options) + this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) + this.inState = { click: false, hover: false, focus: false } + + if (this.$element[0] instanceof document.constructor && !this.options.selector) { + throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') + } + + var triggers = this.options.trigger.split(' ') + + for (var i = triggers.length; i--;) { + var trigger = triggers[i] + + if (trigger == 'click') { + this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) + } else if (trigger != 'manual') { + var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' + var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' + + this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) + this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) + } + } + + this.options.selector ? + (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : + this.fixTitle() + } + + Tooltip.prototype.getDefaults = function () { + return Tooltip.DEFAULTS + } + + Tooltip.prototype.getOptions = function (options) { + options = $.extend({}, this.getDefaults(), this.$element.data(), options) + + if (options.delay && typeof options.delay == 'number') { + options.delay = { + show: options.delay, + hide: options.delay + } + } + + return options + } + + Tooltip.prototype.getDelegateOptions = function () { + var options = {} + var defaults = this.getDefaults() + + this._options && $.each(this._options, function (key, value) { + if (defaults[key] != value) options[key] = value + }) + + return options + } + + Tooltip.prototype.enter = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true + } + + if (self.tip().hasClass('in') || self.hoverState == 'in') { + self.hoverState = 'in' + return + } + + clearTimeout(self.timeout) + + self.hoverState = 'in' + + if (!self.options.delay || !self.options.delay.show) return self.show() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'in') self.show() + }, self.options.delay.show) + } + + Tooltip.prototype.isInStateTrue = function () { + for (var key in this.inState) { + if (this.inState[key]) return true + } + + return false + } + + Tooltip.prototype.leave = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false + } + + if (self.isInStateTrue()) return + + clearTimeout(self.timeout) + + self.hoverState = 'out' + + if (!self.options.delay || !self.options.delay.hide) return self.hide() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'out') self.hide() + }, self.options.delay.hide) + } + + Tooltip.prototype.show = function () { + var e = $.Event('show.bs.' + this.type) + + if (this.hasContent() && this.enabled) { + this.$element.trigger(e) + + var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) + if (e.isDefaultPrevented() || !inDom) return + var that = this + + var $tip = this.tip() + + var tipId = this.getUID(this.type) + + this.setContent() + $tip.attr('id', tipId) + this.$element.attr('aria-describedby', tipId) + + if (this.options.animation) $tip.addClass('fade') + + var placement = typeof this.options.placement == 'function' ? + this.options.placement.call(this, $tip[0], this.$element[0]) : + this.options.placement + + var autoToken = /\s?auto?\s?/i + var autoPlace = autoToken.test(placement) + if (autoPlace) placement = placement.replace(autoToken, '') || 'top' + + $tip + .detach() + .css({ top: 0, left: 0, display: 'block' }) + .addClass(placement) + .data('bs.' + this.type, this) + + this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) + this.$element.trigger('inserted.bs.' + this.type) + + var pos = this.getPosition() + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (autoPlace) { + var orgPlacement = placement + var viewportDim = this.getPosition(this.$viewport) + + placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : + placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : + placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : + placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : + placement + + $tip + .removeClass(orgPlacement) + .addClass(placement) + } + + var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) + + this.applyPlacement(calculatedOffset, placement) + + var complete = function () { + var prevHoverState = that.hoverState + that.$element.trigger('shown.bs.' + that.type) + that.hoverState = null + + if (prevHoverState == 'out') that.leave(that) + } + + $.support.transition && this.$tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + } + } + + Tooltip.prototype.applyPlacement = function (offset, placement) { + var $tip = this.tip() + var width = $tip[0].offsetWidth + var height = $tip[0].offsetHeight + + // manually read margins because getBoundingClientRect includes difference + var marginTop = parseInt($tip.css('margin-top'), 10) + var marginLeft = parseInt($tip.css('margin-left'), 10) + + // we must check for NaN for ie 8/9 + if (isNaN(marginTop)) marginTop = 0 + if (isNaN(marginLeft)) marginLeft = 0 + + offset.top += marginTop + offset.left += marginLeft + + // $.fn.offset doesn't round pixel values + // so we use setOffset directly with our own function B-0 + $.offset.setOffset($tip[0], $.extend({ + using: function (props) { + $tip.css({ + top: Math.round(props.top), + left: Math.round(props.left) + }) + } + }, offset), 0) + + $tip.addClass('in') + + // check to see if placing tip in new offset caused the tip to resize itself + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (placement == 'top' && actualHeight != height) { + offset.top = offset.top + height - actualHeight + } + + var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) + + if (delta.left) offset.left += delta.left + else offset.top += delta.top + + var isVertical = /top|bottom/.test(placement) + var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight + var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' + + $tip.offset(offset) + this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) + } + + Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { + this.arrow() + .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') + .css(isVertical ? 'top' : 'left', '') + } + + Tooltip.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + + $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) + $tip.removeClass('fade in top bottom left right') + } + + Tooltip.prototype.hide = function (callback) { + var that = this + var $tip = $(this.$tip) + var e = $.Event('hide.bs.' + this.type) + + function complete() { + if (that.hoverState != 'in') $tip.detach() + that.$element + .removeAttr('aria-describedby') + .trigger('hidden.bs.' + that.type) + callback && callback() + } + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + $tip.removeClass('in') + + $.support.transition && $tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + + this.hoverState = null + + return this + } + + Tooltip.prototype.fixTitle = function () { + var $e = this.$element + if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { + $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') + } + } + + Tooltip.prototype.hasContent = function () { + return this.getTitle() + } + + Tooltip.prototype.getPosition = function ($element) { + $element = $element || this.$element + + var el = $element[0] + var isBody = el.tagName == 'BODY' + + var elRect = el.getBoundingClientRect() + if (elRect.width == null) { + // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 + elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) + } + var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() + var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } + var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null + + return $.extend({}, elRect, scroll, outerDims, elOffset) + } + + Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { + return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : + /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } + + } + + Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { + var delta = { top: 0, left: 0 } + if (!this.$viewport) return delta + + var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 + var viewportDimensions = this.getPosition(this.$viewport) + + if (/right|left/.test(placement)) { + var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll + var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight + if (topEdgeOffset < viewportDimensions.top) { // top overflow + delta.top = viewportDimensions.top - topEdgeOffset + } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow + delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset + } + } else { + var leftEdgeOffset = pos.left - viewportPadding + var rightEdgeOffset = pos.left + viewportPadding + actualWidth + if (leftEdgeOffset < viewportDimensions.left) { // left overflow + delta.left = viewportDimensions.left - leftEdgeOffset + } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow + delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset + } + } + + return delta + } + + Tooltip.prototype.getTitle = function () { + var title + var $e = this.$element + var o = this.options + + title = $e.attr('data-original-title') + || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) + + return title + } + + Tooltip.prototype.getUID = function (prefix) { + do prefix += ~~(Math.random() * 1000000) + while (document.getElementById(prefix)) + return prefix + } + + Tooltip.prototype.tip = function () { + if (!this.$tip) { + this.$tip = $(this.options.template) + if (this.$tip.length != 1) { + throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') + } + } + return this.$tip + } + + Tooltip.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) + } + + Tooltip.prototype.enable = function () { + this.enabled = true + } + + Tooltip.prototype.disable = function () { + this.enabled = false + } + + Tooltip.prototype.toggleEnabled = function () { + this.enabled = !this.enabled + } + + Tooltip.prototype.toggle = function (e) { + var self = this + if (e) { + self = $(e.currentTarget).data('bs.' + this.type) + if (!self) { + self = new this.constructor(e.currentTarget, this.getDelegateOptions()) + $(e.currentTarget).data('bs.' + this.type, self) + } + } + + if (e) { + self.inState.click = !self.inState.click + if (self.isInStateTrue()) self.enter(self) + else self.leave(self) + } else { + self.tip().hasClass('in') ? self.leave(self) : self.enter(self) + } + } + + Tooltip.prototype.destroy = function () { + var that = this + clearTimeout(this.timeout) + this.hide(function () { + that.$element.off('.' + that.type).removeData('bs.' + that.type) + if (that.$tip) { + that.$tip.detach() + } + that.$tip = null + that.$arrow = null + that.$viewport = null + }) + } + + + // TOOLTIP PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tooltip') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tooltip + + $.fn.tooltip = Plugin + $.fn.tooltip.Constructor = Tooltip + + + // TOOLTIP NO CONFLICT + // =================== + + $.fn.tooltip.noConflict = function () { + $.fn.tooltip = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: popover.js v3.3.5 + * http://getbootstrap.com/javascript/#popovers + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // POPOVER PUBLIC CLASS DEFINITION + // =============================== + + var Popover = function (element, options) { + this.init('popover', element, options) + } + + if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') + + Popover.VERSION = '3.3.5' + + Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }) + + + // NOTE: POPOVER EXTENDS tooltip.js + // ================================ + + Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) + + Popover.prototype.constructor = Popover + + Popover.prototype.getDefaults = function () { + return Popover.DEFAULTS + } + + Popover.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + var content = this.getContent() + + $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) + $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events + this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' + ](content) + + $tip.removeClass('fade top bottom left right in') + + // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do + // this manually by checking the contents. + if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() + } + + Popover.prototype.hasContent = function () { + return this.getTitle() || this.getContent() + } + + Popover.prototype.getContent = function () { + var $e = this.$element + var o = this.options + + return $e.attr('data-content') + || (typeof o.content == 'function' ? + o.content.call($e[0]) : + o.content) + } + + Popover.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.arrow')) + } + + + // POPOVER PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.popover') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.popover', (data = new Popover(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.popover + + $.fn.popover = Plugin + $.fn.popover.Constructor = Popover + + + // POPOVER NO CONFLICT + // =================== + + $.fn.popover.noConflict = function () { + $.fn.popover = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: scrollspy.js v3.3.5 + * http://getbootstrap.com/javascript/#scrollspy + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // SCROLLSPY CLASS DEFINITION + // ========================== + + function ScrollSpy(element, options) { + this.$body = $(document.body) + this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) + this.options = $.extend({}, ScrollSpy.DEFAULTS, options) + this.selector = (this.options.target || '') + ' .nav li > a' + this.offsets = [] + this.targets = [] + this.activeTarget = null + this.scrollHeight = 0 + + this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) + this.refresh() + this.process() + } + + ScrollSpy.VERSION = '3.3.5' + + ScrollSpy.DEFAULTS = { + offset: 10 + } + + ScrollSpy.prototype.getScrollHeight = function () { + return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) + } + + ScrollSpy.prototype.refresh = function () { + var that = this + var offsetMethod = 'offset' + var offsetBase = 0 + + this.offsets = [] + this.targets = [] + this.scrollHeight = this.getScrollHeight() + + if (!$.isWindow(this.$scrollElement[0])) { + offsetMethod = 'position' + offsetBase = this.$scrollElement.scrollTop() + } + + this.$body + .find(this.selector) + .map(function () { + var $el = $(this) + var href = $el.data('target') || $el.attr('href') + var $href = /^#./.test(href) && $(href) + + return ($href + && $href.length + && $href.is(':visible') + && [[$href[offsetMethod]().top + offsetBase, href]]) || null + }) + .sort(function (a, b) { return a[0] - b[0] }) + .each(function () { + that.offsets.push(this[0]) + that.targets.push(this[1]) + }) + } + + ScrollSpy.prototype.process = function () { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset + var scrollHeight = this.getScrollHeight() + var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() + var offsets = this.offsets + var targets = this.targets + var activeTarget = this.activeTarget + var i + + if (this.scrollHeight != scrollHeight) { + this.refresh() + } + + if (scrollTop >= maxScroll) { + return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) + } + + if (activeTarget && scrollTop < offsets[0]) { + this.activeTarget = null + return this.clear() + } + + for (i = offsets.length; i--;) { + activeTarget != targets[i] + && scrollTop >= offsets[i] + && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) + && this.activate(targets[i]) + } + } + + ScrollSpy.prototype.activate = function (target) { + this.activeTarget = target + + this.clear() + + var selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]' + + var active = $(selector) + .parents('li') + .addClass('active') + + if (active.parent('.dropdown-menu').length) { + active = active + .closest('li.dropdown') + .addClass('active') + } + + active.trigger('activate.bs.scrollspy') + } + + ScrollSpy.prototype.clear = function () { + $(this.selector) + .parentsUntil(this.options.target, '.active') + .removeClass('active') + } + + + // SCROLLSPY PLUGIN DEFINITION + // =========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.scrollspy') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.scrollspy + + $.fn.scrollspy = Plugin + $.fn.scrollspy.Constructor = ScrollSpy + + + // SCROLLSPY NO CONFLICT + // ===================== + + $.fn.scrollspy.noConflict = function () { + $.fn.scrollspy = old + return this + } + + + // SCROLLSPY DATA-API + // ================== + + $(window).on('load.bs.scrollspy.data-api', function () { + $('[data-spy="scroll"]').each(function () { + var $spy = $(this) + Plugin.call($spy, $spy.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tab.js v3.3.5 + * http://getbootstrap.com/javascript/#tabs + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TAB CLASS DEFINITION + // ==================== + + var Tab = function (element) { + // jscs:disable requireDollarBeforejQueryAssignment + this.element = $(element) + // jscs:enable requireDollarBeforejQueryAssignment + } + + Tab.VERSION = '3.3.5' + + Tab.TRANSITION_DURATION = 150 + + Tab.prototype.show = function () { + var $this = this.element + var $ul = $this.closest('ul:not(.dropdown-menu)') + var selector = $this.data('target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + if ($this.parent('li').hasClass('active')) return + + var $previous = $ul.find('.active:last a') + var hideEvent = $.Event('hide.bs.tab', { + relatedTarget: $this[0] + }) + var showEvent = $.Event('show.bs.tab', { + relatedTarget: $previous[0] + }) + + $previous.trigger(hideEvent) + $this.trigger(showEvent) + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return + + var $target = $(selector) + + this.activate($this.closest('li'), $ul) + this.activate($target, $target.parent(), function () { + $previous.trigger({ + type: 'hidden.bs.tab', + relatedTarget: $this[0] + }) + $this.trigger({ + type: 'shown.bs.tab', + relatedTarget: $previous[0] + }) + }) + } + + Tab.prototype.activate = function (element, container, callback) { + var $active = container.find('> .active') + var transition = callback + && $.support.transition + && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', false) + + element + .addClass('active') + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if (element.parent('.dropdown-menu').length) { + element + .closest('li.dropdown') + .addClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + } + + callback && callback() + } + + $active.length && transition ? + $active + .one('bsTransitionEnd', next) + .emulateTransitionEnd(Tab.TRANSITION_DURATION) : + next() + + $active.removeClass('in') + } + + + // TAB PLUGIN DEFINITION + // ===================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tab') + + if (!data) $this.data('bs.tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tab + + $.fn.tab = Plugin + $.fn.tab.Constructor = Tab + + + // TAB NO CONFLICT + // =============== + + $.fn.tab.noConflict = function () { + $.fn.tab = old + return this + } + + + // TAB DATA-API + // ============ + + var clickHandler = function (e) { + e.preventDefault() + Plugin.call($(this), 'show') + } + + $(document) + .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) + .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: affix.js v3.3.5 + * http://getbootstrap.com/javascript/#affix + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // AFFIX CLASS DEFINITION + // ====================== + + var Affix = function (element, options) { + this.options = $.extend({}, Affix.DEFAULTS, options) + + this.$target = $(this.options.target) + .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) + + this.$element = $(element) + this.affixed = null + this.unpin = null + this.pinnedOffset = null + + this.checkPosition() + } + + Affix.VERSION = '3.3.5' + + Affix.RESET = 'affix affix-top affix-bottom' + + Affix.DEFAULTS = { + offset: 0, + target: window + } + + Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + var targetHeight = this.$target.height() + + if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false + + if (this.affixed == 'bottom') { + if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' + return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' + } + + var initializing = this.affixed == null + var colliderTop = initializing ? scrollTop : position.top + var colliderHeight = initializing ? targetHeight : height + + if (offsetTop != null && scrollTop <= offsetTop) return 'top' + if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' + + return false + } + + Affix.prototype.getPinnedOffset = function () { + if (this.pinnedOffset) return this.pinnedOffset + this.$element.removeClass(Affix.RESET).addClass('affix') + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + return (this.pinnedOffset = position.top - scrollTop) + } + + Affix.prototype.checkPositionWithEventLoop = function () { + setTimeout($.proxy(this.checkPosition, this), 1) + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var height = this.$element.height() + var offset = this.options.offset + var offsetTop = offset.top + var offsetBottom = offset.bottom + var scrollHeight = Math.max($(document).height(), $(document.body).height()) + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) + + var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) + + if (this.affixed != affix) { + if (this.unpin != null) this.$element.css('top', '') + + var affixType = 'affix' + (affix ? '-' + affix : '') + var e = $.Event(affixType + '.bs.affix') + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null + + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') + } + + if (affix == 'bottom') { + this.$element.offset({ + top: scrollHeight - height - offsetBottom + }) + } + } + + + // AFFIX PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.affix') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.affix + + $.fn.affix = Plugin + $.fn.affix.Constructor = Affix + + + // AFFIX NO CONFLICT + // ================= + + $.fn.affix.noConflict = function () { + $.fn.affix = old + return this + } + + + // AFFIX DATA-API + // ============== + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + var data = $spy.data() + + data.offset = data.offset || {} + + if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom + if (data.offsetTop != null) data.offset.top = data.offsetTop + + Plugin.call($spy, data) + }) + }) + +}(jQuery); + /**! * @fileOverview Kickass library to create and place poppers near their reference elements. * @version 1.13.0 @@ -37409,555 +39766,7 @@ module.exports = (function() { },{}]},{},[1]) (1) }); -"use strict"; - -// This file is part of Leaflet.Geodesic. -// Copyright (C) 2017 Henry Thasler -// based on code by Chris Veness Copyright (C) 2014 https://github.com/chrisveness/geodesy -// -// Leaflet.Geodesic is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Leaflet.Geodesic is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Leaflet.Geodesic. If not, see . - - -/** Extend Number object with method to convert numeric degrees to radians */ -if (typeof Number.prototype.toRadians === "undefined") { - Number.prototype.toRadians = function () { - return this * Math.PI / 180 - } -} - -/** Extend Number object with method to convert radians to numeric (signed) degrees */ -if (typeof Number.prototype.toDegrees === "undefined") { - Number.prototype.toDegrees = function () { - return this * 180 / Math.PI - } -} - -const INTERSECT_LNG = 179.999 // Lng used for intersection and wrap around on map edges - -L.Geodesic = L.Polyline.extend({ - options: { - color: "blue", - steps: 10, - dash: 1, - wrap: true - }, - - initialize: function (latlngs, options) { - this.options = this._merge_options(this.options, options) - this.datum = {} - this.datum.ellipsoid = { - a: 6378137, - b: 6356752.3142, - f: 1 / 298.257223563 - } // WGS-84 - this._latlngs = (this.options.dash < 1) ? this._generate_GeodesicDashed( - latlngs) : this._generate_Geodesic(latlngs) - L.Polyline.prototype.initialize.call(this, this._latlngs, this.options) - }, - - setLatLngs: function (latlngs) { - this._latlngs = (this.options.dash < 1) ? this._generate_GeodesicDashed( - latlngs) : this._generate_Geodesic(latlngs) - L.Polyline.prototype.setLatLngs.call(this, this._latlngs) - }, - - /** - * Calculates some statistic values of current geodesic multipolyline - * @returns (Object} Object with several properties (e.g. overall distance) - */ - getStats: function () { - let obj = { - distance: 0, - points: 0, - polygons: this._latlngs.length - }, - poly, points - - for (poly = 0; poly < this._latlngs.length; poly++) { - obj.points += this._latlngs[poly].length - for (points = 0; points < (this._latlngs[poly].length - 1); points++) { - obj.distance += this._vincenty_inverse(this._latlngs[poly][points], - this._latlngs[poly][points + 1]).distance - } - } - return obj - }, - - - /** - * Creates geodesic lines from geoJson. Replaces all current features of this instance. - * Supports LineString, MultiLineString and Polygon - * @param {Object} geojson - geosjon as object. - */ - geoJson: function (geojson) { - - let normalized = L.GeoJSON.asFeature(geojson) - let features = normalized.type === "FeatureCollection" ? normalized.features : [ - normalized - ] - this._latlngs = [] - for (let feature of features) { - let geometry = feature.type === "Feature" ? feature.geometry : - feature, - coords = geometry.coordinates - - switch (geometry.type) { - case "LineString": - this._latlngs.push(this._generate_Geodesic([L.GeoJSON.coordsToLatLngs( - coords, 0)])) - break - case "MultiLineString": - case "Polygon": - this._latlngs.push(this._generate_Geodesic(L.GeoJSON.coordsToLatLngs( - coords, 1))) - break - case "Point": - case "MultiPoint": - console.log("Dude, points can't be drawn as geodesic lines...") - break - default: - console.log("Drawing " + geometry.type + - " as a geodesic is not supported. Skipping...") - } - } - L.Polyline.prototype.setLatLngs.call(this, this._latlngs) - }, - - /** - * Creates a great circle. Replaces all current lines. - * @param {Object} center - geographic position - * @param {number} radius - radius of the circle in metres - */ - createCircle: function (center, radius) { - let polylineIndex = 0 - let prev = { - lat: 0, - lng: 0, - brg: 0 - } - let step - - this._latlngs = [] - this._latlngs[polylineIndex] = [] - - let direct = this._vincenty_direct(L.latLng(center), 0, radius, this.options - .wrap) - prev = L.latLng(direct.lat, direct.lng) - this._latlngs[polylineIndex].push(prev) - for (step = 1; step <= this.options.steps;) { - direct = this._vincenty_direct(L.latLng(center), 360 / this.options - .steps * step, radius, this.options.wrap) - let gp = L.latLng(direct.lat, direct.lng) - if (Math.abs(gp.lng - prev.lng) > 180) { - let inverse = this._vincenty_inverse(prev, gp) - let sec = this._intersection(prev, inverse.initialBearing, { - lat: -89, - lng: ((gp.lng - prev.lng) > 0) ? -INTERSECT_LNG : INTERSECT_LNG - }, 0) - if (sec) { - this._latlngs[polylineIndex].push(L.latLng(sec.lat, sec.lng)) - polylineIndex++ - this._latlngs[polylineIndex] = [] - prev = L.latLng(sec.lat, -sec.lng) - this._latlngs[polylineIndex].push(prev) - } else { - polylineIndex++ - this._latlngs[polylineIndex] = [] - this._latlngs[polylineIndex].push(gp) - prev = gp - step++ - } - } else { - this._latlngs[polylineIndex].push(gp) - prev = gp - step++ - } - } - - L.Polyline.prototype.setLatLngs.call(this, this._latlngs) - }, - - /** - * Creates a geodesic Polyline from given coordinates - * @param {Object} latlngs - One or more polylines as an array. See Leaflet doc about Polyline - * @returns (Object} An array of arrays of geographical points. - */ - _generate_Geodesic: function (latlngs) { - let _geo = [], - _geocnt = 0, - s, poly, points, pointA, pointB - - for (poly = 0; poly < latlngs.length; poly++) { - _geo[_geocnt] = [] - for (points = 0; points < (latlngs[poly].length - 1); points++) { - pointA = L.latLng(latlngs[poly][points]) - pointB = L.latLng(latlngs[poly][points + 1]) - if (pointA.equals(pointB)) { - continue; - } - let inverse = this._vincenty_inverse(pointA, pointB) - let prev = pointA - _geo[_geocnt].push(prev) - for (s = 1; s <= this.options.steps;) { - let direct = this._vincenty_direct(pointA, inverse.initialBearing, - inverse.distance / this.options.steps * s, this.options.wrap - ) - let gp = L.latLng(direct.lat, direct.lng) - if (Math.abs(gp.lng - prev.lng) > 180) { - let sec = this._intersection(pointA, inverse.initialBearing, { - lat: -89, - lng: ((gp.lng - prev.lng) > 0) ? -INTERSECT_LNG : INTERSECT_LNG - }, 0) - if (sec) { - _geo[_geocnt].push(L.latLng(sec.lat, sec.lng)) - _geocnt++ - _geo[_geocnt] = [] - prev = L.latLng(sec.lat, -sec.lng) - _geo[_geocnt].push(prev) - } else { - _geocnt++ - _geo[_geocnt] = [] - _geo[_geocnt].push(gp) - prev = gp - s++ - } - } else { - _geo[_geocnt].push(gp) - prev = gp - s++ - } - } - } - _geocnt++ - } - return _geo - }, - - - /** - * Creates a dashed geodesic Polyline from given coordinates - under work - * @param {Object} latlngs - One or more polylines as an array. See Leaflet doc about Polyline - * @returns (Object} An array of arrays of geographical points. - */ - _generate_GeodesicDashed: function (latlngs) { - let _geo = [], - _geocnt = 0, - s, poly, points - // _geo = latlngs; // bypass - - for (poly = 0; poly < latlngs.length; poly++) { - _geo[_geocnt] = [] - for (points = 0; points < (latlngs[poly].length - 1); points++) { - let inverse = this._vincenty_inverse(L.latLng(latlngs[poly][ - points - ]), L.latLng(latlngs[poly][points + 1])) - let prev = L.latLng(latlngs[poly][points]) - _geo[_geocnt].push(prev) - for (s = 1; s <= this.options.steps;) { - let direct = this._vincenty_direct(L.latLng(latlngs[poly][ - points - ]), inverse.initialBearing, inverse.distance / this.options - .steps * s - inverse.distance / this.options.steps * (1 - - this.options.dash), this.options.wrap) - let gp = L.latLng(direct.lat, direct.lng) - if (Math.abs(gp.lng - prev.lng) > 180) { - let sec = this._intersection(L.latLng(latlngs[poly][points]), - inverse.initialBearing, { - lat: -89, - lng: ((gp.lng - prev.lng) > 0) ? -INTERSECT_LNG : INTERSECT_LNG - }, 0) - if (sec) { - _geo[_geocnt].push(L.latLng(sec.lat, sec.lng)) - _geocnt++ - _geo[_geocnt] = [] - prev = L.latLng(sec.lat, -sec.lng) - _geo[_geocnt].push(prev) - } else { - _geocnt++ - _geo[_geocnt] = [] - _geo[_geocnt].push(gp) - prev = gp - s++ - } - } else { - _geo[_geocnt].push(gp) - _geocnt++ - let direct2 = this._vincenty_direct(L.latLng(latlngs[poly][ - points - ]), inverse.initialBearing, inverse.distance / this.options - .steps * s, this.options.wrap) - _geo[_geocnt] = [] - _geo[_geocnt].push(L.latLng(direct2.lat, direct2.lng)) - s++ - } - } - } - _geocnt++ - } - return _geo - }, - - - /** - * Vincenty direct calculation. - * based on the work of Chris Veness (https://github.com/chrisveness/geodesy) - * - * @private - * @param {number} initialBearing - Initial bearing in degrees from north. - * @param {number} distance - Distance along bearing in metres. - * @returns (Object} Object including point (destination point), finalBearing. - */ - - _vincenty_direct: function (p1, initialBearing, distance, wrap) { - var φ1 = p1.lat.toRadians(), - λ1 = p1.lng.toRadians(); - var α1 = initialBearing.toRadians(); - var s = distance; - - var a = this.datum.ellipsoid.a, - b = this.datum.ellipsoid.b, - f = this.datum.ellipsoid.f; - - var sinα1 = Math.sin(α1); - var cosα1 = Math.cos(α1); - - var tanU1 = (1 - f) * Math.tan(φ1), - cosU1 = 1 / Math.sqrt((1 + tanU1 * tanU1)), - sinU1 = tanU1 * cosU1; - var σ1 = Math.atan2(tanU1, cosα1); - var sinα = cosU1 * sinα1; - var cosSqα = 1 - sinα * sinα; - var uSq = cosSqα * (a * a - b * b) / (b * b); - var A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * - uSq))); - var B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))); - - var σ = s / (b * A), - σʹ, iterations = 0; - do { - var cos2σM = Math.cos(2 * σ1 + σ); - var sinσ = Math.sin(σ); - var cosσ = Math.cos(σ); - var Δσ = B * sinσ * (cos2σM + B / 4 * (cosσ * (-1 + 2 * cos2σM * - cos2σM) - - B / 6 * cos2σM * (-3 + 4 * sinσ * sinσ) * (-3 + 4 * cos2σM * - cos2σM))); - σʹ = σ; - σ = s / (b * A) + Δσ; - } while (Math.abs(σ - σʹ) > 1e-12 && ++iterations); - - var x = sinU1 * sinσ - cosU1 * cosσ * cosα1; - var φ2 = Math.atan2(sinU1 * cosσ + cosU1 * sinσ * cosα1, (1 - f) * - Math.sqrt(sinα * sinα + x * x)); - var λ = Math.atan2(sinσ * sinα1, cosU1 * cosσ - sinU1 * sinσ * cosα1); - var C = f / 16 * cosSqα * (4 + f * (4 - 3 * cosSqα)); - var L = λ - (1 - C) * f * sinα * - (σ + C * sinσ * (cos2σM + C * cosσ * (-1 + 2 * cos2σM * cos2σM))); - - if (wrap) - var λ2 = (λ1 + L + 3 * Math.PI) % (2 * Math.PI) - Math.PI; // normalise to -180...+180 - else - var λ2 = (λ1 + L); // do not normalize - - var revAz = Math.atan2(sinα, -x); - - return { - lat: φ2.toDegrees(), - lng: λ2.toDegrees(), - finalBearing: revAz.toDegrees() - }; - }, - - /** - * Vincenty inverse calculation. - * based on the work of Chris Veness (https://github.com/chrisveness/geodesy) - * - * @private - * @param {LatLng} p1 - Latitude/longitude of start point. - * @param {LatLng} p2 - Latitude/longitude of destination point. - * @returns {Object} Object including distance, initialBearing, finalBearing. - * @throws {Error} If formula failed to converge. - */ - _vincenty_inverse: function (p1, p2) { - var φ1 = p1.lat.toRadians(), - λ1 = p1.lng.toRadians(); - var φ2 = p2.lat.toRadians(), - λ2 = p2.lng.toRadians(); - - var a = this.datum.ellipsoid.a, - b = this.datum.ellipsoid.b, - f = this.datum.ellipsoid.f; - - var L = λ2 - λ1; - var tanU1 = (1 - f) * Math.tan(φ1), - cosU1 = 1 / Math.sqrt((1 + tanU1 * tanU1)), - sinU1 = tanU1 * cosU1; - var tanU2 = (1 - f) * Math.tan(φ2), - cosU2 = 1 / Math.sqrt((1 + tanU2 * tanU2)), - sinU2 = tanU2 * cosU2; - - var λ = L, - λʹ, iterations = 0; - do { - var sinλ = Math.sin(λ), - cosλ = Math.cos(λ); - var sinSqσ = (cosU2 * sinλ) * (cosU2 * sinλ) + (cosU1 * sinU2 - - sinU1 * cosU2 * cosλ) * (cosU1 * sinU2 - sinU1 * cosU2 * cosλ); - var sinσ = Math.sqrt(sinSqσ); - if (sinσ == 0) return 0; // co-incident points - var cosσ = sinU1 * sinU2 + cosU1 * cosU2 * cosλ; - var σ = Math.atan2(sinσ, cosσ); - var sinα = cosU1 * cosU2 * sinλ / sinσ; - var cosSqα = 1 - sinα * sinα; - var cos2σM = cosσ - 2 * sinU1 * sinU2 / cosSqα; - if (isNaN(cos2σM)) cos2σM = 0; // equatorial line: cosSqα=0 (§6) - var C = f / 16 * cosSqα * (4 + f * (4 - 3 * cosSqα)); - λʹ = λ; - λ = L + (1 - C) * f * sinα * (σ + C * sinσ * (cos2σM + C * cosσ * (- - 1 + 2 * cos2σM * cos2σM))); - } while (Math.abs(λ - λʹ) > 1e-12 && ++iterations < 100); - if (iterations >= 100) { - console.log("Formula failed to converge. Altering target position.") - return this._vincenty_inverse(p1, { - lat: p2.lat, - lng: p2.lng - 0.01 - }) - // throw new Error('Formula failed to converge'); - } - - var uSq = cosSqα * (a * a - b * b) / (b * b); - var A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * - uSq))); - var B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))); - var Δσ = B * sinσ * (cos2σM + B / 4 * (cosσ * (-1 + 2 * cos2σM * - cos2σM) - - B / 6 * cos2σM * (-3 + 4 * sinσ * sinσ) * (-3 + 4 * cos2σM * - cos2σM))); - - var s = b * A * (σ - Δσ); - - var fwdAz = Math.atan2(cosU2 * sinλ, cosU1 * sinU2 - sinU1 * cosU2 * - cosλ); - var revAz = Math.atan2(cosU1 * sinλ, -sinU1 * cosU2 + cosU1 * sinU2 * - cosλ); - - s = Number(s.toFixed(3)); // round to 1mm precision - return { - distance: s, - initialBearing: fwdAz.toDegrees(), - finalBearing: revAz.toDegrees() - }; - }, - - - /** - * Returns the point of intersection of two paths defined by point and bearing. - * based on the work of Chris Veness (https://github.com/chrisveness/geodesy) - * - * @param {LatLon} p1 - First point. - * @param {number} brng1 - Initial bearing from first point. - * @param {LatLon} p2 - Second point. - * @param {number} brng2 - Initial bearing from second point. - * @returns {Object} containing lat/lng information of intersection. - * - * @example - * var p1 = LatLon(51.8853, 0.2545), brng1 = 108.55; - * var p2 = LatLon(49.0034, 2.5735), brng2 = 32.44; - * var pInt = LatLon.intersection(p1, brng1, p2, brng2); // pInt.toString(): 50.9078°N, 4.5084°E - */ - _intersection: function (p1, brng1, p2, brng2) { - // see http://williams.best.vwh.net/avform.htm#Intersection - - var φ1 = p1.lat.toRadians(), - λ1 = p1.lng.toRadians(); - var φ2 = p2.lat.toRadians(), - λ2 = p2.lng.toRadians(); - var θ13 = Number(brng1).toRadians(), - θ23 = Number(brng2).toRadians(); - var Δφ = φ2 - φ1, - Δλ = λ2 - λ1; - - var δ12 = 2 * Math.asin(Math.sqrt(Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + - Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / - 2))); - if (δ12 == 0) return null; - - // initial/final bearings between points - var θ1 = Math.acos((Math.sin(φ2) - Math.sin(φ1) * Math.cos(δ12)) / - (Math.sin(δ12) * Math.cos(φ1))); - if (isNaN(θ1)) θ1 = 0; // protect against rounding - var θ2 = Math.acos((Math.sin(φ1) - Math.sin(φ2) * Math.cos(δ12)) / - (Math.sin(δ12) * Math.cos(φ2))); - - if (Math.sin(λ2 - λ1) > 0) { - var θ12 = θ1; - var θ21 = 2 * Math.PI - θ2; - } else { - var θ12 = 2 * Math.PI - θ1; - var θ21 = θ2; - } - - var α1 = (θ13 - θ12 + Math.PI) % (2 * Math.PI) - Math.PI; // angle 2-1-3 - var α2 = (θ21 - θ23 + Math.PI) % (2 * Math.PI) - Math.PI; // angle 1-2-3 - - if (Math.sin(α1) == 0 && Math.sin(α2) == 0) return null; // infinite intersections - if (Math.sin(α1) * Math.sin(α2) < 0) return null; // ambiguous intersection - - //α1 = Math.abs(α1); - //α2 = Math.abs(α2); - // ... Ed Williams takes abs of α1/α2, but seems to break calculation? - - var α3 = Math.acos(-Math.cos(α1) * Math.cos(α2) + - Math.sin(α1) * Math.sin(α2) * Math.cos(δ12)); - var δ13 = Math.atan2(Math.sin(δ12) * Math.sin(α1) * Math.sin(α2), - Math.cos(α2) + Math.cos(α1) * Math.cos(α3)) - var φ3 = Math.asin(Math.sin(φ1) * Math.cos(δ13) + - Math.cos(φ1) * Math.sin(δ13) * Math.cos(θ13)); - var Δλ13 = Math.atan2(Math.sin(θ13) * Math.sin(δ13) * Math.cos(φ1), - Math.cos(δ13) - Math.sin(φ1) * Math.sin(φ3)); - var λ3 = λ1 + Δλ13; - λ3 = (λ3 + 3 * Math.PI) % (2 * Math.PI) - Math.PI; // normalise to -180..+180º - - return { - lat: φ3.toDegrees(), - lng: λ3.toDegrees() - }; - }, - - /** - * Overwrites obj1's values with obj2's and adds obj2's if non existent in obj1 - * @param obj1 - * @param obj2 - * @returns obj3 a new object based on obj1 and obj2 - */ - _merge_options: function (obj1, obj2) { - let obj3 = {}; - for (let attrname in obj1) { - obj3[attrname] = obj1[attrname]; - } - for (let attrname in obj2) { - obj3[attrname] = obj2[attrname]; - } - return obj3; - } -}); - -L.geodesic = function (latlngs, options) { - return new L.Geodesic(latlngs, options); -}; - -(function () { +(function() { // save these original methods before they are overwritten var proto_initIcon = L.Marker.prototype._initIcon; var proto_setPos = L.Marker.prototype._setPos; @@ -37970,17 +39779,15 @@ L.geodesic = function (latlngs, options) { if (iconAnchor) { iconAnchor = (iconAnchor[0] + 'px ' + iconAnchor[1] + 'px'); } - this.options.rotationOrigin = this.options.rotationOrigin || iconAnchor || 'center bottom'; + this.options.rotationOrigin = this.options.rotationOrigin || iconAnchor || 'center bottom' ; this.options.rotationAngle = this.options.rotationAngle || 0; // Ensure marker keeps rotated during dragging - this.on('drag', function (e) { - e.target._applyRotation(); - }); + this.on('drag', function(e) { e.target._applyRotation(); }); }); L.Marker.include({ - _initIcon: function () { + _initIcon: function() { proto_initIcon.call(this); }, @@ -37990,10 +39797,10 @@ L.geodesic = function (latlngs, options) { }, _applyRotation: function () { - if (this.options.rotationAngle) { - this._icon.style[L.DomUtil.TRANSFORM + 'Origin'] = this.options.rotationOrigin; + if(this.options.rotationAngle) { + this._icon.style[L.DomUtil.TRANSFORM+'Origin'] = this.options.rotationOrigin; - if (oldIE) { + if(oldIE) { // for IE 9, use the 2D rotation this._icon.style[L.DomUtil.TRANSFORM] = 'rotate(' + this.options.rotationAngle + 'deg)'; } else { @@ -38003,73 +39810,13 @@ L.geodesic = function (latlngs, options) { } }, - setRotationAngle: function (angle) { + setRotationAngle: function(angle) { this.options.rotationAngle = angle; this.update(); return this; }, - setRotationOrigin: function (origin) { - this.options.rotationOrigin = origin; - this.update(); - return this; - } - }); -})(); - -(function () { - // save these original methods before they are overwritten - var proto_initIcon = L.Marker.prototype._initIcon; - var proto_setPos = L.Marker.prototype._setPos; - - var oldIE = (L.DomUtil.TRANSFORM === 'msTransform'); - - L.Marker.addInitHook(function () { - var iconOptions = this.options.icon && this.options.icon.options; - var iconAnchor = iconOptions && this.options.icon.options.iconAnchor; - if (iconAnchor) { - iconAnchor = (iconAnchor[0] + 'px ' + iconAnchor[1] + 'px'); - } - this.options.rotationOrigin = this.options.rotationOrigin || iconAnchor || 'center bottom'; - this.options.rotationAngle = this.options.rotationAngle || 0; - - // Ensure marker keeps rotated during dragging - this.on('drag', function (e) { - e.target._applyRotation(); - }); - }); - - L.Marker.include({ - _initIcon: function () { - proto_initIcon.call(this); - }, - - _setPos: function (pos) { - proto_setPos.call(this, pos); - this._applyRotation(); - }, - - _applyRotation: function () { - if (this.options.rotationAngle) { - this._icon.style[L.DomUtil.TRANSFORM + 'Origin'] = this.options.rotationOrigin; - - if (oldIE) { - // for IE 9, use the 2D rotation - this._icon.style[L.DomUtil.TRANSFORM] = 'rotate(' + this.options.rotationAngle + 'deg)'; - } else { - // for modern browsers, prefer the 3D accelerated version - this._icon.style[L.DomUtil.TRANSFORM] += ' rotateZ(' + this.options.rotationAngle + 'deg)'; - } - } - }, - - setRotationAngle: function (angle) { - this.options.rotationAngle = angle; - this.update(); - return this; - }, - - setRotationOrigin: function (origin) { + setRotationOrigin: function(origin) { this.options.rotationOrigin = origin; this.update(); return this; diff --git a/public/assets/vendor/bootstrap/bootstrap-checkbox-radio.js b/public/assets/vendor/bootstrap/bootstrap-checkbox-radio.js deleted file mode 100644 index 497273e8..00000000 --- a/public/assets/vendor/bootstrap/bootstrap-checkbox-radio.js +++ /dev/null @@ -1,248 +0,0 @@ -!function ($) { - - /* CHECKBOX PUBLIC CLASS DEFINITION - * ============================== */ - - var Checkbox = function (element, options) { - this.init(element, options); - } - - Checkbox.prototype = { - - constructor: Checkbox - - , init: function (element, options) { - var $el = this.$element = $(element) - - this.options = $.extend({}, $.fn.checkbox.defaults, options); - $el.before(this.options.template); - this.setState(); - } - - , setState: function () { - var $el = this.$element - , $parent = $el.closest('.checkbox'); - - $el.prop('disabled') && $parent.addClass('disabled'); - $el.prop('checked') && $parent.addClass('checked'); - } - - , toggle: function () { - var ch = 'checked' - , $el = this.$element - , $parent = $el.closest('.checkbox') - , checked = $el.prop(ch) - , e = $.Event('toggle') - - if ($el.prop('disabled') == false) { - $parent.toggleClass(ch) && checked ? $el.removeAttr(ch) : $el.prop(ch, ch); - $el.trigger(e).trigger('change'); - } - } - - , setCheck: function (option) { - var d = 'disabled' - , ch = 'checked' - , $el = this.$element - , $parent = $el.closest('.checkbox') - , checkAction = option == 'check' ? true : false - , e = $.Event(option) - - $parent[checkAction ? 'addClass' : 'removeClass' ](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch); - $el.trigger(e).trigger('change'); - } - - } - - - /* CHECKBOX PLUGIN DEFINITION - * ======================== */ - - var old = $.fn.checkbox - - $.fn.checkbox = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('checkbox') - , options = $.extend({}, $.fn.checkbox.defaults, $this.data(), typeof option == 'object' && option); - if (!data) $this.data('checkbox', (data = new Checkbox(this, options))); - if (option == 'toggle') data.toggle() - if (option == 'check' || option == 'uncheck') data.setCheck(option) - else if (option) data.setState(); - }); - } - - $.fn.checkbox.defaults = { - template: '' - } - - - /* CHECKBOX NO CONFLICT - * ================== */ - - $.fn.checkbox.noConflict = function () { - $.fn.checkbox = old; - return this; - } - - - /* CHECKBOX DATA-API - * =============== */ - - $(document).on('click.checkbox.data-api', '[data-toggle^=checkbox], .checkbox', function (e) { - var $checkbox = $(e.target); - if (e.target.tagName != "A") { - e && e.preventDefault() && e.stopPropagation(); - if (!$checkbox.hasClass('checkbox')) $checkbox = $checkbox.closest('.checkbox'); - $checkbox.find(':checkbox').checkbox('toggle'); - } - }); - - $(function () { - $('input[type="checkbox"]').each(function () { - var $checkbox = $(this); - $checkbox.checkbox(); - }); - }); - -}(window.jQuery); - -/* ============================================================= - * flatui-radio v0.0.3 - * ============================================================ */ - -!function ($) { - - /* RADIO PUBLIC CLASS DEFINITION - * ============================== */ - - var Radio = function (element, options) { - this.init(element, options); - } - - Radio.prototype = { - - constructor: Radio - - , init: function (element, options) { - var $el = this.$element = $(element) - - this.options = $.extend({}, $.fn.radio.defaults, options); - $el.before(this.options.template); - this.setState(); - } - - , setState: function () { - var $el = this.$element - , $parent = $el.closest('.radio'); - - $el.prop('disabled') && $parent.addClass('disabled'); - $el.prop('checked') && $parent.addClass('checked'); - } - - , toggle: function () { - var d = 'disabled' - , ch = 'checked' - , $el = this.$element - , checked = $el.prop(ch) - , $parent = $el.closest('.radio') - , $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body') - , $elemGroup = $parentWrap.find(':radio[name="' + $el.attr('name') + '"]') - , e = $.Event('toggle') - - if ($el.prop(d) == false) { - $elemGroup.not($el).each(function () { - var $el = $(this) - , $parent = $(this).closest('.radio'); - - if ($el.prop(d) == false) { - $parent.removeClass(ch) && $el.removeAttr(ch).trigger('change'); - } - }); - - if (checked == false) $parent.addClass(ch) && $el.prop(ch, true); - $el.trigger(e); - - if (checked !== $el.prop(ch)) { - $el.trigger('change'); - } - } - } - - , setCheck: function (option) { - var ch = 'checked' - , $el = this.$element - , $parent = $el.closest('.radio') - , checkAction = option == 'check' ? true : false - , checked = $el.prop(ch) - , $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body') - , $elemGroup = $parentWrap.find(':radio[name="' + $el['attr']('name') + '"]') - , e = $.Event(option) - - $elemGroup.not($el).each(function () { - var $el = $(this) - , $parent = $(this).closest('.radio'); - - $parent.removeClass(ch) && $el.removeAttr(ch); - }); - - $parent[checkAction ? 'addClass' : 'removeClass'](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch); - $el.trigger(e); - - if (checked !== $el.prop(ch)) { - $el.trigger('change'); - } - } - - } - - - /* RADIO PLUGIN DEFINITION - * ======================== */ - - var old = $.fn.radio - - $.fn.radio = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('radio') - , options = $.extend({}, $.fn.radio.defaults, $this.data(), typeof option == 'object' && option); - if (!data) $this.data('radio', (data = new Radio(this, options))); - if (option == 'toggle') data.toggle() - if (option == 'check' || option == 'uncheck') data.setCheck(option) - else if (option) data.setState(); - }); - } - - $.fn.radio.defaults = { - template: '' - } - - - /* RADIO NO CONFLICT - * ================== */ - - $.fn.radio.noConflict = function () { - $.fn.radio = old; - return this; - } - - - /* RADIO DATA-API - * =============== */ - - $(document).on('click.radio.data-api', '[data-toggle^=radio], .radio', function (e) { - var $radio = $(e.target); - e && e.preventDefault() && e.stopPropagation(); - if (!$radio.hasClass('radio')) $radio = $radio.closest('.radio'); - $radio.find(':radio').radio('toggle'); - }); - - $(function () { - $('input[type="radio"]').each(function () { - var $radio = $(this); - $radio.radio(); - }); - }); - -}(window.jQuery); diff --git a/public/assets/vendor/bootstrap/bootstrap-notify.js b/public/assets/vendor/bootstrap/bootstrap-notify.js deleted file mode 100755 index f2f0c743..00000000 --- a/public/assets/vendor/bootstrap/bootstrap-notify.js +++ /dev/null @@ -1,404 +0,0 @@ -/* - - - - Creative Tim Modifications - - Lines: 239, 240 was changed from top: 5px to top: 50% and we added margin-top: -13px. In this way the close button will be aligned vertically - Line:242 - modified when the icon is set, we add the class "alert-with-icon", so there will be enough space for the icon. - - - - -*/ - - -/* -* Project: Bootstrap Notify = v3.1.5 -* Description: Turns standard Bootstrap alerts into "Growl-like" notifications. -* Author: Mouse0270 aka Robert McIntosh -* License: MIT License -* Website: https://github.com/mouse0270/bootstrap-growl -*/ - -/* global define:false, require: false, jQuery:false */ - -(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node/CommonJS - factory(require('jquery')); - } else { - // Browser globals - factory(jQuery); - } -}(function ($) { - // Create the defaults once - var defaults = { - element: 'body', - position: null, - type: "info", - allow_dismiss: true, - allow_duplicates: true, - newest_on_top: false, - showProgressbar: false, - placement: { - from: "top", - align: "right" - }, - offset: 20, - spacing: 10, - z_index: 1031, - delay: 5000, - timer: 1000, - url_target: '_blank', - mouse_over: null, - animate: { - enter: 'animated fadeInDown', - exit: 'animated fadeOutUp' - }, - onShow: null, - onShown: null, - onClose: null, - onClosed: null, - icon_type: 'class', - template: '' - }; - - String.format = function () { - var str = arguments[0]; - for (var i = 1; i < arguments.length; i++) { - str = str.replace(RegExp("\\{" + (i - 1) + "\\}", "gm"), arguments[i]); - } - return str; - }; - - function isDuplicateNotification(notification) { - var isDupe = false; - - $('[data-notify="container"]').each(function (i, el) { - var $el = $(el); - var title = $el.find('[data-notify="title"]').text().trim(); - var message = $el.find('[data-notify="message"]').html().trim(); - - // The input string might be different than the actual parsed HTML string! - // (
vs
for example) - // So we have to force-parse this as HTML here! - var isSameTitle = title === $("
" + notification.settings.content.title + "
").html().trim(); - var isSameMsg = message === $("
" + notification.settings.content.message + "
").html().trim(); - var isSameType = $el.hasClass('alert-' + notification.settings.type); - - if (isSameTitle && isSameMsg && isSameType) { - //we found the dupe. Set the var and stop checking. - isDupe = true; - } - return !isDupe; - }); - - return isDupe; - } - - function Notify(element, content, options) { - // Setup Content of Notify - var contentObj = { - content: { - message: typeof content === 'object' ? content.message : content, - title: content.title ? content.title : '', - icon: content.icon ? content.icon : '', - url: content.url ? content.url : '#', - target: content.target ? content.target : '-' - } - }; - - options = $.extend(true, {}, contentObj, options); - this.settings = $.extend(true, {}, defaults, options); - this._defaults = defaults; - if (this.settings.content.target === "-") { - this.settings.content.target = this.settings.url_target; - } - this.animations = { - start: 'webkitAnimationStart oanimationstart MSAnimationStart animationstart', - end: 'webkitAnimationEnd oanimationend MSAnimationEnd animationend' - }; - - if (typeof this.settings.offset === 'number') { - this.settings.offset = { - x: this.settings.offset, - y: this.settings.offset - }; - } - - //if duplicate messages are not allowed, then only continue if this new message is not a duplicate of one that it already showing - if (this.settings.allow_duplicates || (!this.settings.allow_duplicates && !isDuplicateNotification(this))) { - this.init(); - } - } - - $.extend(Notify.prototype, { - init: function () { - var self = this; - - this.buildNotify(); - if (this.settings.content.icon) { - this.setIcon(); - } - if (this.settings.content.url != "#") { - this.styleURL(); - } - this.styleDismiss(); - this.placement(); - this.bind(); - - this.notify = { - $ele: this.$ele, - update: function (command, update) { - var commands = {}; - if (typeof command === "string") { - commands[command] = update; - } else { - commands = command; - } - for (var cmd in commands) { - switch (cmd) { - case "type": - this.$ele.removeClass('alert-' + self.settings.type); - this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass('progress-bar-' + self.settings.type); - self.settings.type = commands[cmd]; - this.$ele.addClass('alert-' + commands[cmd]).find('[data-notify="progressbar"] > .progress-bar').addClass('progress-bar-' + commands[cmd]); - break; - case "icon": - var $icon = this.$ele.find('[data-notify="icon"]'); - if (self.settings.icon_type.toLowerCase() === 'class') { - $icon.removeClass(self.settings.content.icon).addClass(commands[cmd]); - } else { - if (!$icon.is('img')) { - $icon.find('img'); - } - $icon.attr('src', commands[cmd]); - } - break; - case "progress": - var newDelay = self.settings.delay - (self.settings.delay * (commands[cmd] / 100)); - this.$ele.data('notify-delay', newDelay); - this.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', commands[cmd]).css('width', commands[cmd] + '%'); - break; - case "url": - this.$ele.find('[data-notify="url"]').attr('href', commands[cmd]); - break; - case "target": - this.$ele.find('[data-notify="url"]').attr('target', commands[cmd]); - break; - default: - this.$ele.find('[data-notify="' + cmd + '"]').html(commands[cmd]); - } - } - var posX = this.$ele.outerHeight() + parseInt(self.settings.spacing) + parseInt(self.settings.offset.y); - self.reposition(posX); - }, - close: function () { - self.close(); - } - }; - - }, - buildNotify: function () { - var content = this.settings.content; - this.$ele = $(String.format(this.settings.template, this.settings.type, content.title, content.message, content.url, content.target)); - this.$ele.attr('data-notify-position', this.settings.placement.from + '-' + this.settings.placement.align); - if (!this.settings.allow_dismiss) { - this.$ele.find('[data-notify="dismiss"]').css('display', 'none'); - } - if ((this.settings.delay <= 0 && !this.settings.showProgressbar) || !this.settings.showProgressbar) { - this.$ele.find('[data-notify="progressbar"]').remove(); - } - }, - setIcon: function () { - - this.$ele.addClass('alert-with-icon'); - - if (this.settings.icon_type.toLowerCase() === 'class') { - this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon); - } else { - if (this.$ele.find('[data-notify="icon"]').is('img')) { - this.$ele.find('[data-notify="icon"]').attr('src', this.settings.content.icon); - } else { - this.$ele.find('[data-notify="icon"]').append('Notify Icon'); - } - } - }, - styleDismiss: function () { - this.$ele.find('[data-notify="dismiss"]').css({ - position: 'absolute', - right: '10px', - top: '50%', - marginTop: '-13px', - zIndex: this.settings.z_index + 2 - }); - }, - styleURL: function () { - this.$ele.find('[data-notify="url"]').css({ - backgroundImage: 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)', - height: '100%', - left: 0, - position: 'absolute', - top: 0, - width: '100%', - zIndex: this.settings.z_index + 1 - }); - }, - placement: function () { - var self = this, - offsetAmt = this.settings.offset.y, - css = { - display: 'inline-block', - margin: '0px auto', - position: this.settings.position ? this.settings.position : (this.settings.element === 'body' ? 'fixed' : 'absolute'), - transition: 'all .5s ease-in-out', - zIndex: this.settings.z_index - }, - hasAnimation = false, - settings = this.settings; - - $('[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])').each(function () { - offsetAmt = Math.max(offsetAmt, parseInt($(this).css(settings.placement.from)) + parseInt($(this).outerHeight()) + parseInt(settings.spacing)); - }); - if (this.settings.newest_on_top === true) { - offsetAmt = this.settings.offset.y; - } - css[this.settings.placement.from] = offsetAmt + 'px'; - - switch (this.settings.placement.align) { - case "left": - case "right": - css[this.settings.placement.align] = this.settings.offset.x + 'px'; - break; - case "center": - css.left = 0; - css.right = 0; - break; - } - this.$ele.css(css).addClass(this.settings.animate.enter); - $.each(Array('webkit-', 'moz-', 'o-', 'ms-', ''), function (index, prefix) { - self.$ele[0].style[prefix + 'AnimationIterationCount'] = 1; - }); - - $(this.settings.element).append(this.$ele); - - if (this.settings.newest_on_top === true) { - offsetAmt = (parseInt(offsetAmt) + parseInt(this.settings.spacing)) + this.$ele.outerHeight(); - this.reposition(offsetAmt); - } - - if ($.isFunction(self.settings.onShow)) { - self.settings.onShow.call(this.$ele); - } - - this.$ele.one(this.animations.start, function () { - hasAnimation = true; - }).one(this.animations.end, function () { - if ($.isFunction(self.settings.onShown)) { - self.settings.onShown.call(this); - } - }); - - setTimeout(function () { - if (!hasAnimation) { - if ($.isFunction(self.settings.onShown)) { - self.settings.onShown.call(this); - } - } - }, 600); - }, - bind: function () { - var self = this; - - this.$ele.find('[data-notify="dismiss"]').on('click', function () { - self.close(); - }); - - this.$ele.mouseover(function () { - $(this).data('data-hover', "true"); - }).mouseout(function () { - $(this).data('data-hover', "false"); - }); - this.$ele.data('data-hover', "false"); - - if (this.settings.delay > 0) { - self.$ele.data('notify-delay', self.settings.delay); - var timer = setInterval(function () { - var delay = parseInt(self.$ele.data('notify-delay')) - self.settings.timer; - if ((self.$ele.data('data-hover') === 'false' && self.settings.mouse_over === "pause") || self.settings.mouse_over != "pause") { - var percent = ((self.settings.delay - delay) / self.settings.delay) * 100; - self.$ele.data('notify-delay', delay); - self.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', percent).css('width', percent + '%'); - } - if (delay <= -(self.settings.timer)) { - clearInterval(timer); - self.close(); - } - }, self.settings.timer); - } - }, - close: function () { - var self = this, - posX = parseInt(this.$ele.css(this.settings.placement.from)), - hasAnimation = false; - - this.$ele.data('closing', 'true').addClass(this.settings.animate.exit); - self.reposition(posX); - - if ($.isFunction(self.settings.onClose)) { - self.settings.onClose.call(this.$ele); - } - - this.$ele.one(this.animations.start, function () { - hasAnimation = true; - }).one(this.animations.end, function () { - $(this).remove(); - if ($.isFunction(self.settings.onClosed)) { - self.settings.onClosed.call(this); - } - }); - - setTimeout(function () { - if (!hasAnimation) { - self.$ele.remove(); - if (self.settings.onClosed) { - self.settings.onClosed(self.$ele); - } - } - }, 600); - }, - reposition: function (posX) { - var self = this, - notifies = '[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])', - $elements = this.$ele.nextAll(notifies); - if (this.settings.newest_on_top === true) { - $elements = this.$ele.prevAll(notifies); - } - $elements.each(function () { - $(this).css(self.settings.placement.from, posX); - posX = (parseInt(posX) + parseInt(self.settings.spacing)) + $(this).outerHeight(); - }); - } - }); - - $.notify = function (content, options) { - var plugin = new Notify(this, content, options); - return plugin.notify; - }; - $.notifyDefaults = function (options) { - defaults = $.extend(true, {}, defaults, options); - return defaults; - }; - $.notifyClose = function (command) { - if (typeof command === "undefined" || command === "all") { - $('[data-notify]').find('[data-notify="dismiss"]').trigger('click'); - } else { - $('[data-notify-position="' + command + '"]').find('[data-notify="dismiss"]').trigger('click'); - } - }; - -})); diff --git a/public/assets/vendor/bootstrap/bootstrap.min.js b/public/assets/vendor/bootstrap/bootstrap.min.js deleted file mode 100644 index 133aeecb..00000000 --- a/public/assets/vendor/bootstrap/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/public/assets/vendor/datatables/buttons.server-side.js b/public/assets/vendor/datatables/buttons.server-side.js deleted file mode 100644 index 50ffa174..00000000 --- a/public/assets/vendor/datatables/buttons.server-side.js +++ /dev/null @@ -1,111 +0,0 @@ -(function ($, DataTable) { - "use strict"; - - var _buildUrl = function(dt, action) { - var url = dt.ajax.url() || ''; - var params = dt.ajax.params(); - params.action = action; - - return url + '?' + $.param(params); - }; - - DataTable.ext.buttons.excel = { - className: 'buttons-excel', - - text: function (dt) { - return ' ' + dt.i18n('buttons.excel', 'Excel'); - }, - - action: function (e, dt, button, config) { - var url = _buildUrl(dt, 'excel'); - window.location = url; - } - }; - - DataTable.ext.buttons.export = { - extend: 'collection', - - className: 'buttons-export', - - text: function (dt) { - return ' ' + dt.i18n('buttons.export', 'Export') + ' '; - }, - - buttons: ['csv', 'excel', 'pdf'] - }; - - DataTable.ext.buttons.csv = { - className: 'buttons-csv', - - text: function (dt) { - return ' ' + dt.i18n('buttons.csv', 'CSV'); - }, - - action: function (e, dt, button, config) { - var url = _buildUrl(dt, 'csv'); - window.location = url; - } - }; - - DataTable.ext.buttons.pdf = { - className: 'buttons-pdf', - - text: function (dt) { - return ' ' + dt.i18n('buttons.pdf', 'PDF'); - }, - - action: function (e, dt, button, config) { - var url = _buildUrl(dt, 'pdf'); - window.location = url; - } - }; - - DataTable.ext.buttons.print = { - className: 'buttons-print', - - text: function (dt) { - return ' ' + dt.i18n('buttons.print', 'Print'); - }, - - action: function (e, dt, button, config) { - var url = _buildUrl(dt, 'print'); - window.location = url; - } - }; - - DataTable.ext.buttons.reset = { - className: 'buttons-reset', - - text: function (dt) { - return ' ' + dt.i18n('buttons.reset', 'Reset'); - }, - - action: function (e, dt, button, config) { - dt.search('').draw(); - } - }; - - DataTable.ext.buttons.reload = { - className: 'buttons-reload', - - text: function (dt) { - return ' ' + dt.i18n('buttons.reload', 'Reload'); - }, - - action: function (e, dt, button, config) { - dt.draw(false); - } - }; - - DataTable.ext.buttons.create = { - className: 'buttons-create', - - text: function (dt) { - return ' ' + dt.i18n('buttons.create', 'Create'); - }, - - action: function (e, dt, button, config) { - window.location = window.location.href.replace(/\/+$/, "") + '/create'; - } - }; -})(jQuery, jQuery.fn.dataTable); diff --git a/public/assets/vendor/icheck/.bower.json b/public/assets/vendor/icheck/.bower.json deleted file mode 100644 index a820539e..00000000 --- a/public/assets/vendor/icheck/.bower.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "iCheck", - "version": "1.0.2", - "description": "Highly customizable checkboxes and radio buttons (jQuery & Zepto)", - "keywords": [ - "icheck", - "checkbox", - "radio", - "input", - "field", - "form", - "custom", - "replacement", - "accessibility", - "skins", - "ui", - "checked", - "disabled", - "indeterminate" - ], - "main": [ - "./icheck.min.js" - ], - "dependencies": { - "jquery": ">=1.7" - }, - "ignore": [ - ".gitignore", - "CHANGELOG.md", - "README.md", - "demo/" - ], - "license": "MIT", - "authors": [ - { - "name": "Damir Sultanov", - "email": "info@fronteed.com", - "homepage": "http://fronteed.com/" - } - ], - "homepage": "http://fronteed.com/iCheck/", - "_release": "1.0.2", - "_resolution": { - "type": "version", - "tag": "1.0.2", - "commit": "8a6eb37bd7dab1e843c1b630c91c6398ff409d05" - }, - "_source": "https://github.com/fronteed/iCheck.git", - "_target": "1.0.2", - "_originalSource": "icheck" -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/bower.json b/public/assets/vendor/icheck/bower.json deleted file mode 100644 index a2b8288c..00000000 --- a/public/assets/vendor/icheck/bower.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "iCheck", - "version": "1.0.2", - "description": "Highly customizable checkboxes and radio buttons (jQuery & Zepto)", - "keywords": [ - "icheck", - "checkbox", - "radio", - "input", - "field", - "form", - "custom", - "replacement", - "accessibility", - "skins", - "ui", - "checked", - "disabled", - "indeterminate" - ], - "main": [ - "./icheck.min.js" - ], - "dependencies": { - "jquery": ">=1.7" - }, - "ignore": [ - ".gitignore", - "CHANGELOG.md", - "README.md", - "demo/" - ], - "license": "MIT", - "authors": [ - { - "name": "Damir Sultanov", - "email": "info@fronteed.com", - "homepage": "http://fronteed.com/" - } - ], - "homepage": "http://fronteed.com/iCheck/" -} diff --git a/public/assets/vendor/icheck/icheck.jquery.json b/public/assets/vendor/icheck/icheck.jquery.json deleted file mode 100644 index e7018a64..00000000 --- a/public/assets/vendor/icheck/icheck.jquery.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "icheck", - "version": "1.0.2", - "title": "iCheck", - "author": { - "name": "Damir Sultanov", - "email": "info@fronteed.com", - "homepage": "http://fronteed.com/" - }, - "licenses": [ - { - "type": "MIT", - "url": "http://en.wikipedia.org/wiki/MIT_License" - } - ], - "dependencies": { - "jquery": ">=1.7" - }, - "description": "Highly customizable checkboxes and radio buttons (jQuery and Zepto). Features: identical inputs across different browsers and devices (both desktop and mobile), touch devices support (iOS, Android, BlackBerry, Windows Phone, Amazon Kindle), keyboard accessible inputs (Tab, Spacebar, Arrow up/down and other shortcuts), screenreader accessible inputs — (ARIA attributes for VoiceOver and others), customization freedom (use any HTML and CSS to style inputs or try 6 Retina-ready skins), lightweight size (1 kb gzipped). Provides 32 options to customize checkboxes and radio buttons, 11 callbacks to handle changes, 9 methods to make changes programmatically. Saves changes to original inputs, works carefully with any selectors.", - "keywords": [ - "checkbox", - "radio", - "input", - "field", - "form", - "desktop", - "mobile", - "custom", - "replacement", - "accessibility", - "skins", - "ui", - "checked", - "disabled", - "indeterminate", - "css3", - "html5", - "tiny", - "lightweight", - "jquery", - "zepto" - ], - "homepage": "http://fronteed.com/iCheck/", - "docs": "https://github.com/fronteed/iCheck", - "demo": "http://fronteed.com/iCheck/", - "download": "http://fronteed.com/iCheck/", - "bugs": "https://github.com/fronteed/iCheck/issues/" -} diff --git a/public/assets/vendor/icheck/icheck.js b/public/assets/vendor/icheck/icheck.js deleted file mode 100644 index 51c3e80b..00000000 --- a/public/assets/vendor/icheck/icheck.js +++ /dev/null @@ -1,509 +0,0 @@ -/*! - * iCheck v1.0.2, http://git.io/arlzeA - * =================================== - * Powerful jQuery and Zepto plugin for checkboxes and radio buttons customization - * - * (c) 2013 Damir Sultanov, http://fronteed.com - * MIT Licensed - */ - -(function($) { - - // Cached vars - var _iCheck = 'iCheck', - _iCheckHelper = _iCheck + '-helper', - _checkbox = 'checkbox', - _radio = 'radio', - _checked = 'checked', - _unchecked = 'un' + _checked, - _disabled = 'disabled',a - _determinate = 'determinate', - _indeterminate = 'in' + _determinate, - _update = 'update', - _type = 'type', - _click = 'click', - _touch = 'touchbegin.i touchend.i', - _add = 'addClass', - _remove = 'removeClass', - _callback = 'trigger', - _label = 'label', - _cursor = 'cursor', - _mobile = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent); - - // Plugin init - $.fn[_iCheck] = function(options, fire) { - - // Walker - var handle = 'input[type="' + _checkbox + '"], input[type="' + _radio + '"]', - stack = $(), - walker = function(object) { - object.each(function() { - var self = $(this); - - if (self.is(handle)) { - stack = stack.add(self); - } else { - stack = stack.add(self.find(handle)); - } - }); - }; - - // Check if we should operate with some method - if (/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(options)) { - - // Normalize method's name - options = options.toLowerCase(); - - // Find checkboxes and radio buttons - walker(this); - - return stack.each(function() { - var self = $(this); - - if (options == 'destroy') { - tidy(self, 'ifDestroyed'); - } else { - operate(self, true, options); - } - - // Fire method's callback - if ($.isFunction(fire)) { - fire(); - } - }); - - // Customization - } else if (typeof options == 'object' || !options) { - - // Check if any options were passed - var settings = $.extend({ - checkedClass: _checked, - disabledClass: _disabled, - indeterminateClass: _indeterminate, - labelHover: true - }, options), - - selector = settings.handle, - hoverClass = settings.hoverClass || 'hover', - focusClass = settings.focusClass || 'focus', - activeClass = settings.activeClass || 'active', - labelHover = !!settings.labelHover, - labelHoverClass = settings.labelHoverClass || 'hover', - - // Setup clickable area - area = ('' + settings.increaseArea).replace('%', '') | 0; - - // Selector limit - if (selector == _checkbox || selector == _radio) { - handle = 'input[type="' + selector + '"]'; - } - - // Clickable area limit - if (area < -50) { - area = -50; - } - - // Walk around the selector - walker(this); - - return stack.each(function() { - var self = $(this); - - // If already customized - tidy(self); - - var node = this, - id = node.id, - - // Layer styles - offset = -area + '%', - size = 100 + (area * 2) + '%', - layer = { - position: 'absolute', - top: offset, - left: offset, - display: 'block', - width: size, - height: size, - margin: 0, - padding: 0, - background: '#fff', - border: 0, - opacity: 0 - }, - - // Choose how to hide input - hide = _mobile ? { - position: 'absolute', - visibility: 'hidden' - } : area ? layer : { - position: 'absolute', - opacity: 0 - }, - - // Get proper class - className = node[_type] == _checkbox ? settings.checkboxClass || 'i' + _checkbox : settings.radioClass || 'i' + _radio, - - // Find assigned labels - label = $(_label + '[for="' + id + '"]').add(self.closest(_label)), - - // Check ARIA option - aria = !!settings.aria, - - // Set ARIA placeholder - ariaID = _iCheck + '-' + Math.random().toString(36).substr(2,6), - - // Parent & helper - parent = '
')[_callback]('ifCreated').parent().append(settings.insert); - - // Layer addition - helper = $('').css(layer).appendTo(parent); - - // Finalize customization - self.data(_iCheck, {o: settings, s: self.attr('style')}).css(hide); - !!settings.inheritClass && parent[_add](node.className || ''); - !!settings.inheritID && id && parent.attr('id', _iCheck + '-' + id); - parent.css('position') == 'static' && parent.css('position', 'relative'); - operate(self, true, _update); - - // Label events - if (label.length) { - label.on(_click + '.i mouseover.i mouseout.i ' + _touch, function(event) { - var type = event[_type], - item = $(this); - - // Do nothing if input is disabled - if (!node[_disabled]) { - - // Click - if (type == _click) { - if ($(event.target).is('a')) { - return; - } - operate(self, false, true); - - // Hover state - } else if (labelHover) { - - // mouseout|touchend - if (/ut|nd/.test(type)) { - parent[_remove](hoverClass); - item[_remove](labelHoverClass); - } else { - parent[_add](hoverClass); - item[_add](labelHoverClass); - } - } - - if (_mobile) { - event.stopPropagation(); - } else { - return false; - } - } - }); - } - - // Input events - self.on(_click + '.i focus.i blur.i keyup.i keydown.i keypress.i', function(event) { - var type = event[_type], - key = event.keyCode; - - // Click - if (type == _click) { - return false; - - // Keydown - } else if (type == 'keydown' && key == 32) { - if (!(node[_type] == _radio && node[_checked])) { - if (node[_checked]) { - off(self, _checked); - } else { - on(self, _checked); - } - } - - return false; - - // Keyup - } else if (type == 'keyup' && node[_type] == _radio) { - !node[_checked] && on(self, _checked); - - // Focus/blur - } else if (/us|ur/.test(type)) { - parent[type == 'blur' ? _remove : _add](focusClass); - } - }); - - // Helper events - helper.on(_click + ' mousedown mouseup mouseover mouseout ' + _touch, function(event) { - var type = event[_type], - - // mousedown|mouseup - toggle = /wn|up/.test(type) ? activeClass : hoverClass; - - // Do nothing if input is disabled - if (!node[_disabled]) { - - // Click - if (type == _click) { - operate(self, false, true); - - // Active and hover states - } else { - - // State is on - if (/wn|er|in/.test(type)) { - - // mousedown|mouseover|touchbegin - parent[_add](toggle); - - // State is off - } else { - parent[_remove](toggle + ' ' + activeClass); - } - - // Label hover - if (label.length && labelHover && toggle == hoverClass) { - - // mouseout|touchend - label[/ut|nd/.test(type) ? _remove : _add](labelHoverClass); - } - } - - if (_mobile) { - event.stopPropagation(); - } else { - return false; - } - } - }); - }); - } else { - return this; - } - }; - - // Do something with inputs - function operate(input, direct, method) { - var node = input[0], - state = /er/.test(method) ? _indeterminate : /bl/.test(method) ? _disabled : _checked, - active = method == _update ? { - checked: node[_checked], - disabled: node[_disabled], - indeterminate: input.attr(_indeterminate) == 'true' || input.attr(_determinate) == 'false' - } : node[state]; - - // Check, disable or indeterminate - if (/^(ch|di|in)/.test(method) && !active) { - on(input, state); - - // Uncheck, enable or determinate - } else if (/^(un|en|de)/.test(method) && active) { - off(input, state); - - // Update - } else if (method == _update) { - - // Handle states - for (var each in active) { - if (active[each]) { - on(input, each, true); - } else { - off(input, each, true); - } - } - - } else if (!direct || method == 'toggle') { - - // Helper or label was clicked - if (!direct) { - input[_callback]('ifClicked'); - } - - // Toggle checked state - if (active) { - if (node[_type] !== _radio) { - off(input, state); - } - } else { - on(input, state); - } - } - } - - // Add checked, disabled or indeterminate state - function on(input, state, keep) { - var node = input[0], - parent = input.parent(), - checked = state == _checked, - indeterminate = state == _indeterminate, - disabled = state == _disabled, - callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled', - regular = option(input, callback + capitalize(node[_type])), - specific = option(input, state + capitalize(node[_type])); - - // Prevent unnecessary actions - if (node[state] !== true) { - - // Toggle assigned radio buttons - if (!keep && state == _checked && node[_type] == _radio && node.name) { - var form = input.closest('form'), - inputs = 'input[name="' + node.name + '"]'; - - inputs = form.length ? form.find(inputs) : $(inputs); - - inputs.each(function() { - if (this !== node && $(this).data(_iCheck)) { - off($(this), state); - } - }); - } - - // Indeterminate state - if (indeterminate) { - - // Add indeterminate state - node[state] = true; - - // Remove checked state - if (node[_checked]) { - off(input, _checked, 'force'); - } - - // Checked or disabled state - } else { - - // Add checked or disabled state - if (!keep) { - node[state] = true; - } - - // Remove indeterminate state - if (checked && node[_indeterminate]) { - off(input, _indeterminate, false); - } - } - - // Trigger callbacks - callbacks(input, checked, state, keep); - } - - // Add proper cursor - if (node[_disabled] && !!option(input, _cursor, true)) { - parent.find('.' + _iCheckHelper).css(_cursor, 'default'); - } - - // Add state class - parent[_add](specific || option(input, state) || ''); - - // Set ARIA attribute - if (!!parent.attr('role') && !indeterminate) { - parent.attr('aria-' + (disabled ? _disabled : _checked), 'true'); - } - - // Remove regular state class - parent[_remove](regular || option(input, callback) || ''); - } - - // Remove checked, disabled or indeterminate state - function off(input, state, keep) { - var node = input[0], - parent = input.parent(), - checked = state == _checked, - indeterminate = state == _indeterminate, - disabled = state == _disabled, - callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled', - regular = option(input, callback + capitalize(node[_type])), - specific = option(input, state + capitalize(node[_type])); - - // Prevent unnecessary actions - if (node[state] !== false) { - - // Toggle state - if (indeterminate || !keep || keep == 'force') { - node[state] = false; - } - - // Trigger callbacks - callbacks(input, checked, callback, keep); - } - - // Add proper cursor - if (!node[_disabled] && !!option(input, _cursor, true)) { - parent.find('.' + _iCheckHelper).css(_cursor, 'pointer'); - } - - // Remove state class - parent[_remove](specific || option(input, state) || ''); - - // Set ARIA attribute - if (!!parent.attr('role') && !indeterminate) { - parent.attr('aria-' + (disabled ? _disabled : _checked), 'false'); - } - - // Add regular state class - parent[_add](regular || option(input, callback) || ''); - } - - // Remove all traces - function tidy(input, callback) { - if (input.data(_iCheck)) { - - // Remove everything except input - input.parent().html(input.attr('style', input.data(_iCheck).s || '')); - - // Callback - if (callback) { - input[_callback](callback); - } - - // Unbind events - input.off('.i').unwrap(); - $(_label + '[for="' + input[0].id + '"]').add(input.closest(_label)).off('.i'); - } - } - - // Get some option - function option(input, state, regular) { - if (input.data(_iCheck)) { - return input.data(_iCheck).o[state + (regular ? '' : 'Class')]; - } - } - - // Capitalize some string - function capitalize(string) { - return string.charAt(0).toUpperCase() + string.slice(1); - } - - // Executable handlers - function callbacks(input, checked, callback, keep) { - if (!keep) { - if (checked) { - input[_callback]('ifToggled'); - } - - input[_callback]('ifChanged')[_callback]('if' + capitalize(callback)); - } - } -})(window.jQuery || window.Zepto); diff --git a/public/assets/vendor/icheck/icheck.min.js b/public/assets/vendor/icheck/icheck.min.js deleted file mode 100644 index 7cdb17e0..00000000 --- a/public/assets/vendor/icheck/icheck.min.js +++ /dev/null @@ -1,11 +0,0 @@ -/*! iCheck v1.0.2 by Damir Sultanov, http://git.io/arlzeA, MIT Licensed */ -(function(f){function A(a,b,d){var c=a[0],g=/er/.test(d)?_indeterminate:/bl/.test(d)?n:k,e=d==_update?{checked:c[k],disabled:c[n],indeterminate:"true"==a.attr(_indeterminate)||"false"==a.attr(_determinate)}:c[g];if(/^(ch|di|in)/.test(d)&&!e)x(a,g);else if(/^(un|en|de)/.test(d)&&e)q(a,g);else if(d==_update)for(var f in e)e[f]?x(a,f,!0):q(a,f,!0);else if(!b||"toggle"==d){if(!b)a[_callback]("ifClicked");e?c[_type]!==r&&q(a,g):x(a,g)}}function x(a,b,d){var c=a[0],g=a.parent(),e=b==k,u=b==_indeterminate, -v=b==n,s=u?_determinate:e?y:"enabled",F=l(a,s+t(c[_type])),B=l(a,b+t(c[_type]));if(!0!==c[b]){if(!d&&b==k&&c[_type]==r&&c.name){var w=a.closest("form"),p='input[name="'+c.name+'"]',p=w.length?w.find(p):f(p);p.each(function(){this!==c&&f(this).data(m)&&q(f(this),b)})}u?(c[b]=!0,c[k]&&q(a,k,"force")):(d||(c[b]=!0),e&&c[_indeterminate]&&q(a,_indeterminate,!1));D(a,e,b,d)}c[n]&&l(a,_cursor,!0)&&g.find("."+C).css(_cursor,"default");g[_add](B||l(a,b)||"");g.attr("role")&&!u&&g.attr("aria-"+(v?n:k),"true"); -g[_remove](F||l(a,s)||"")}function q(a,b,d){var c=a[0],g=a.parent(),e=b==k,f=b==_indeterminate,m=b==n,s=f?_determinate:e?y:"enabled",q=l(a,s+t(c[_type])),r=l(a,b+t(c[_type]));if(!1!==c[b]){if(f||!d||"force"==d)c[b]=!1;D(a,e,s,d)}!c[n]&&l(a,_cursor,!0)&&g.find("."+C).css(_cursor,"pointer");g[_remove](r||l(a,b)||"");g.attr("role")&&!f&&g.attr("aria-"+(m?n:k),"false");g[_add](q||l(a,s)||"")}function E(a,b){if(a.data(m)){a.parent().html(a.attr("style",a.data(m).s||""));if(b)a[_callback](b);a.off(".i").unwrap(); -f(_label+'[for="'+a[0].id+'"]').add(a.closest(_label)).off(".i")}}function l(a,b,f){if(a.data(m))return a.data(m).o[b+(f?"":"Class")]}function t(a){return a.charAt(0).toUpperCase()+a.slice(1)}function D(a,b,f,c){if(!c){if(b)a[_callback]("ifToggled");a[_callback]("ifChanged")[_callback]("if"+t(f))}}var m="iCheck",C=m+"-helper",r="radio",k="checked",y="un"+k,n="disabled";_determinate="determinate";_indeterminate="in"+_determinate;_update="update";_type="type";_click="click";_touch="touchbegin.i touchend.i"; -_add="addClass";_remove="removeClass";_callback="trigger";_label="label";_cursor="cursor";_mobile=/ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent);f.fn[m]=function(a,b){var d='input[type="checkbox"], input[type="'+r+'"]',c=f(),g=function(a){a.each(function(){var a=f(this);c=a.is(d)?c.add(a):c.add(a.find(d))})};if(/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(a))return a=a.toLowerCase(),g(this),c.each(function(){var c= -f(this);"destroy"==a?E(c,"ifDestroyed"):A(c,!0,a);f.isFunction(b)&&b()});if("object"!=typeof a&&a)return this;var e=f.extend({checkedClass:k,disabledClass:n,indeterminateClass:_indeterminate,labelHover:!0},a),l=e.handle,v=e.hoverClass||"hover",s=e.focusClass||"focus",t=e.activeClass||"active",B=!!e.labelHover,w=e.labelHoverClass||"hover",p=(""+e.increaseArea).replace("%","")|0;if("checkbox"==l||l==r)d='input[type="'+l+'"]';-50>p&&(p=-50);g(this);return c.each(function(){var a=f(this);E(a);var c=this, -b=c.id,g=-p+"%",d=100+2*p+"%",d={position:"absolute",top:g,left:g,display:"block",width:d,height:d,margin:0,padding:0,background:"#fff",border:0,opacity:0},g=_mobile?{position:"absolute",visibility:"hidden"}:p?d:{position:"absolute",opacity:0},l="checkbox"==c[_type]?e.checkboxClass||"icheckbox":e.radioClass||"i"+r,z=f(_label+'[for="'+b+'"]').add(a.closest(_label)),u=!!e.aria,y=m+"-"+Math.random().toString(36).substr(2,6),h='
")[_callback]("ifCreated").parent().append(e.insert);d=f('').css(d).appendTo(h);a.data(m,{o:e,s:a.attr("style")}).css(g);e.inheritClass&&h[_add](c.className||"");e.inheritID&&b&&h.attr("id",m+"-"+b);"static"==h.css("position")&&h.css("position","relative");A(a,!0,_update);if(z.length)z.on(_click+".i mouseover.i mouseout.i "+_touch,function(b){var d=b[_type],e=f(this);if(!c[n]){if(d==_click){if(f(b.target).is("a"))return; -A(a,!1,!0)}else B&&(/ut|nd/.test(d)?(h[_remove](v),e[_remove](w)):(h[_add](v),e[_add](w)));if(_mobile)b.stopPropagation();else return!1}});a.on(_click+".i focus.i blur.i keyup.i keydown.i keypress.i",function(b){var d=b[_type];b=b.keyCode;if(d==_click)return!1;if("keydown"==d&&32==b)return c[_type]==r&&c[k]||(c[k]?q(a,k):x(a,k)),!1;if("keyup"==d&&c[_type]==r)!c[k]&&x(a,k);else if(/us|ur/.test(d))h["blur"==d?_remove:_add](s)});d.on(_click+" mousedown mouseup mouseover mouseout "+_touch,function(b){var d= -b[_type],e=/wn|up/.test(d)?t:v;if(!c[n]){if(d==_click)A(a,!1,!0);else{if(/wn|er|in/.test(d))h[_add](e);else h[_remove](e+" "+t);if(z.length&&B&&e==v)z[/ut|nd/.test(d)?_remove:_add](w)}if(_mobile)b.stopPropagation();else return!1}})})}})(window.jQuery||window.Zepto); diff --git a/public/assets/vendor/icheck/skins/all.css b/public/assets/vendor/icheck/skins/all.css deleted file mode 100644 index 6439b742..00000000 --- a/public/assets/vendor/icheck/skins/all.css +++ /dev/null @@ -1,61 +0,0 @@ -/* iCheck plugin skins ------------------------------------ */ -@import url("minimal/_all.css"); -/* -@import url("minimal/minimal.css"); -@import url("minimal/red.css"); -@import url("minimal/green.css"); -@import url("minimal/blue.css"); -@import url("minimal/aero.css"); -@import url("minimal/grey.css"); -@import url("minimal/orange.css"); -@import url("minimal/yellow.css"); -@import url("minimal/pink.css"); -@import url("minimal/purple.css"); -*/ - -@import url("square/_all.css"); -/* -@import url("square/square.css"); -@import url("square/red.css"); -@import url("square/green.css"); -@import url("square/blue.css"); -@import url("square/aero.css"); -@import url("square/grey.css"); -@import url("square/orange.css"); -@import url("square/yellow.css"); -@import url("square/pink.css"); -@import url("square/purple.css"); -*/ - -@import url("flat/_all.css"); -/* -@import url("flat/flat.css"); -@import url("flat/red.css"); -@import url("flat/green.css"); -@import url("flat/blue.css"); -@import url("flat/aero.css"); -@import url("flat/grey.css"); -@import url("flat/orange.css"); -@import url("flat/yellow.css"); -@import url("flat/pink.css"); -@import url("flat/purple.css"); -*/ - -@import url("line/_all.css"); -/* -@import url("line/line.css"); -@import url("line/red.css"); -@import url("line/green.css"); -@import url("line/blue.css"); -@import url("line/aero.css"); -@import url("line/grey.css"); -@import url("line/orange.css"); -@import url("line/yellow.css"); -@import url("line/pink.css"); -@import url("line/purple.css"); -*/ - -@import url("polaris/polaris.css"); - -@import url("futurico/futurico.css"); \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/_all.css b/public/assets/vendor/icheck/skins/flat/_all.css deleted file mode 100644 index e9d0ceb9..00000000 --- a/public/assets/vendor/icheck/skins/flat/_all.css +++ /dev/null @@ -1,530 +0,0 @@ -/* iCheck plugin Flat skin ------------------------------------ */ -.icheckbox_flat, -.iradio_flat { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(flat.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat { - background-position: 0 0; -} - .icheckbox_flat.checked { - background-position: -22px 0; - } - .icheckbox_flat.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat { - background-position: -88px 0; -} - .iradio_flat.checked { - background-position: -110px 0; - } - .iradio_flat.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat, - .iradio_flat { - background-image: url(flat@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* red */ -.icheckbox_flat-red, -.iradio_flat-red { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(red.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-red { - background-position: 0 0; -} - .icheckbox_flat-red.checked { - background-position: -22px 0; - } - .icheckbox_flat-red.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-red.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-red { - background-position: -88px 0; -} - .iradio_flat-red.checked { - background-position: -110px 0; - } - .iradio_flat-red.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-red.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-red, - .iradio_flat-red { - background-image: url(red@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* green */ -.icheckbox_flat-green, -.iradio_flat-green { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(green.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-green { - background-position: 0 0; -} - .icheckbox_flat-green.checked { - background-position: -22px 0; - } - .icheckbox_flat-green.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-green.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-green { - background-position: -88px 0; -} - .iradio_flat-green.checked { - background-position: -110px 0; - } - .iradio_flat-green.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-green.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-green, - .iradio_flat-green { - background-image: url(green@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* blue */ -.icheckbox_flat-blue, -.iradio_flat-blue { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(blue.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-blue { - background-position: 0 0; -} - .icheckbox_flat-blue.checked { - background-position: -22px 0; - } - .icheckbox_flat-blue.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-blue.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-blue { - background-position: -88px 0; -} - .iradio_flat-blue.checked { - background-position: -110px 0; - } - .iradio_flat-blue.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-blue.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-blue, - .iradio_flat-blue { - background-image: url(blue@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* aero */ -.icheckbox_flat-aero, -.iradio_flat-aero { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(aero.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-aero { - background-position: 0 0; -} - .icheckbox_flat-aero.checked { - background-position: -22px 0; - } - .icheckbox_flat-aero.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-aero.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-aero { - background-position: -88px 0; -} - .iradio_flat-aero.checked { - background-position: -110px 0; - } - .iradio_flat-aero.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-aero.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-aero, - .iradio_flat-aero { - background-image: url(aero@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* grey */ -.icheckbox_flat-grey, -.iradio_flat-grey { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(grey.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-grey { - background-position: 0 0; -} - .icheckbox_flat-grey.checked { - background-position: -22px 0; - } - .icheckbox_flat-grey.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-grey.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-grey { - background-position: -88px 0; -} - .iradio_flat-grey.checked { - background-position: -110px 0; - } - .iradio_flat-grey.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-grey.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-grey, - .iradio_flat-grey { - background-image: url(grey@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* orange */ -.icheckbox_flat-orange, -.iradio_flat-orange { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(orange.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-orange { - background-position: 0 0; -} - .icheckbox_flat-orange.checked { - background-position: -22px 0; - } - .icheckbox_flat-orange.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-orange.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-orange { - background-position: -88px 0; -} - .iradio_flat-orange.checked { - background-position: -110px 0; - } - .iradio_flat-orange.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-orange.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-orange, - .iradio_flat-orange { - background-image: url(orange@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* yellow */ -.icheckbox_flat-yellow, -.iradio_flat-yellow { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(yellow.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-yellow { - background-position: 0 0; -} - .icheckbox_flat-yellow.checked { - background-position: -22px 0; - } - .icheckbox_flat-yellow.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-yellow.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-yellow { - background-position: -88px 0; -} - .iradio_flat-yellow.checked { - background-position: -110px 0; - } - .iradio_flat-yellow.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-yellow.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-yellow, - .iradio_flat-yellow { - background-image: url(yellow@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* pink */ -.icheckbox_flat-pink, -.iradio_flat-pink { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(pink.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-pink { - background-position: 0 0; -} - .icheckbox_flat-pink.checked { - background-position: -22px 0; - } - .icheckbox_flat-pink.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-pink.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-pink { - background-position: -88px 0; -} - .iradio_flat-pink.checked { - background-position: -110px 0; - } - .iradio_flat-pink.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-pink.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-pink, - .iradio_flat-pink { - background-image: url(pink@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} - -/* purple */ -.icheckbox_flat-purple, -.iradio_flat-purple { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(purple.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-purple { - background-position: 0 0; -} - .icheckbox_flat-purple.checked { - background-position: -22px 0; - } - .icheckbox_flat-purple.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-purple.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-purple { - background-position: -88px 0; -} - .iradio_flat-purple.checked { - background-position: -110px 0; - } - .iradio_flat-purple.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-purple.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-purple, - .iradio_flat-purple { - background-image: url(purple@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/aero.css b/public/assets/vendor/icheck/skins/flat/aero.css deleted file mode 100644 index 71cbca97..00000000 --- a/public/assets/vendor/icheck/skins/flat/aero.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, aero ------------------------------------ */ -.icheckbox_flat-aero, -.iradio_flat-aero { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(aero.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-aero { - background-position: 0 0; -} - .icheckbox_flat-aero.checked { - background-position: -22px 0; - } - .icheckbox_flat-aero.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-aero.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-aero { - background-position: -88px 0; -} - .iradio_flat-aero.checked { - background-position: -110px 0; - } - .iradio_flat-aero.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-aero.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-aero, - .iradio_flat-aero { - background-image: url(aero@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/aero.png b/public/assets/vendor/icheck/skins/flat/aero.png deleted file mode 100644 index f4277aa4..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/aero.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/aero@2x.png b/public/assets/vendor/icheck/skins/flat/aero@2x.png deleted file mode 100644 index a9a74945..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/aero@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/blue.css b/public/assets/vendor/icheck/skins/flat/blue.css deleted file mode 100644 index 56a78302..00000000 --- a/public/assets/vendor/icheck/skins/flat/blue.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, blue ------------------------------------ */ -.icheckbox_flat-blue, -.iradio_flat-blue { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(blue.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-blue { - background-position: 0 0; -} - .icheckbox_flat-blue.checked { - background-position: -22px 0; - } - .icheckbox_flat-blue.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-blue.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-blue { - background-position: -88px 0; -} - .iradio_flat-blue.checked { - background-position: -110px 0; - } - .iradio_flat-blue.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-blue.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-blue, - .iradio_flat-blue { - background-image: url(blue@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/blue.png b/public/assets/vendor/icheck/skins/flat/blue.png deleted file mode 100644 index 4b6ef982..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/blue.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/blue@2x.png b/public/assets/vendor/icheck/skins/flat/blue@2x.png deleted file mode 100644 index d52da057..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/blue@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/flat.css b/public/assets/vendor/icheck/skins/flat/flat.css deleted file mode 100644 index 0f39690b..00000000 --- a/public/assets/vendor/icheck/skins/flat/flat.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin flat skin, black ------------------------------------ */ -.icheckbox_flat, -.iradio_flat { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(flat.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat { - background-position: 0 0; -} - .icheckbox_flat.checked { - background-position: -22px 0; - } - .icheckbox_flat.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat { - background-position: -88px 0; -} - .iradio_flat.checked { - background-position: -110px 0; - } - .iradio_flat.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat, - .iradio_flat { - background-image: url(flat@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/flat.png b/public/assets/vendor/icheck/skins/flat/flat.png deleted file mode 100644 index 15af826e..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/flat.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/flat@2x.png b/public/assets/vendor/icheck/skins/flat/flat@2x.png deleted file mode 100644 index e70e438c..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/flat@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/green.css b/public/assets/vendor/icheck/skins/flat/green.css deleted file mode 100644 index b80e04d5..00000000 --- a/public/assets/vendor/icheck/skins/flat/green.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, green ------------------------------------ */ -.icheckbox_flat-green, -.iradio_flat-green { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(green.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-green { - background-position: 0 0; -} - .icheckbox_flat-green.checked { - background-position: -22px 0; - } - .icheckbox_flat-green.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-green.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-green { - background-position: -88px 0; -} - .iradio_flat-green.checked { - background-position: -110px 0; - } - .iradio_flat-green.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-green.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-green, - .iradio_flat-green { - background-image: url(green@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/green.png b/public/assets/vendor/icheck/skins/flat/green.png deleted file mode 100644 index 6b303fbe..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/green.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/green@2x.png b/public/assets/vendor/icheck/skins/flat/green@2x.png deleted file mode 100644 index 92b4411d..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/green@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/grey.css b/public/assets/vendor/icheck/skins/flat/grey.css deleted file mode 100644 index 96e62e83..00000000 --- a/public/assets/vendor/icheck/skins/flat/grey.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, grey ------------------------------------ */ -.icheckbox_flat-grey, -.iradio_flat-grey { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(grey.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-grey { - background-position: 0 0; -} - .icheckbox_flat-grey.checked { - background-position: -22px 0; - } - .icheckbox_flat-grey.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-grey.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-grey { - background-position: -88px 0; -} - .iradio_flat-grey.checked { - background-position: -110px 0; - } - .iradio_flat-grey.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-grey.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-grey, - .iradio_flat-grey { - background-image: url(grey@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/grey.png b/public/assets/vendor/icheck/skins/flat/grey.png deleted file mode 100644 index c6e2873e..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/grey.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/grey@2x.png b/public/assets/vendor/icheck/skins/flat/grey@2x.png deleted file mode 100644 index 0b47b1c6..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/grey@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/orange.css b/public/assets/vendor/icheck/skins/flat/orange.css deleted file mode 100644 index f9c873ff..00000000 --- a/public/assets/vendor/icheck/skins/flat/orange.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, orange ------------------------------------ */ -.icheckbox_flat-orange, -.iradio_flat-orange { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(orange.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-orange { - background-position: 0 0; -} - .icheckbox_flat-orange.checked { - background-position: -22px 0; - } - .icheckbox_flat-orange.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-orange.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-orange { - background-position: -88px 0; -} - .iradio_flat-orange.checked { - background-position: -110px 0; - } - .iradio_flat-orange.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-orange.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-orange, - .iradio_flat-orange { - background-image: url(orange@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/orange.png b/public/assets/vendor/icheck/skins/flat/orange.png deleted file mode 100644 index ec2532eb..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/orange.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/orange@2x.png b/public/assets/vendor/icheck/skins/flat/orange@2x.png deleted file mode 100644 index 9350b506..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/orange@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/pink.css b/public/assets/vendor/icheck/skins/flat/pink.css deleted file mode 100644 index 179f980d..00000000 --- a/public/assets/vendor/icheck/skins/flat/pink.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, pink ------------------------------------ */ -.icheckbox_flat-pink, -.iradio_flat-pink { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(pink.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-pink { - background-position: 0 0; -} - .icheckbox_flat-pink.checked { - background-position: -22px 0; - } - .icheckbox_flat-pink.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-pink.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-pink { - background-position: -88px 0; -} - .iradio_flat-pink.checked { - background-position: -110px 0; - } - .iradio_flat-pink.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-pink.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-pink, - .iradio_flat-pink { - background-image: url(pink@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/pink.png b/public/assets/vendor/icheck/skins/flat/pink.png deleted file mode 100644 index 3e65d9dd..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/pink.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/pink@2x.png b/public/assets/vendor/icheck/skins/flat/pink@2x.png deleted file mode 100644 index 281ba06b..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/pink@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/purple.css b/public/assets/vendor/icheck/skins/flat/purple.css deleted file mode 100644 index dfedafc2..00000000 --- a/public/assets/vendor/icheck/skins/flat/purple.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, purple ------------------------------------ */ -.icheckbox_flat-purple, -.iradio_flat-purple { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(purple.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-purple { - background-position: 0 0; -} - .icheckbox_flat-purple.checked { - background-position: -22px 0; - } - .icheckbox_flat-purple.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-purple.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-purple { - background-position: -88px 0; -} - .iradio_flat-purple.checked { - background-position: -110px 0; - } - .iradio_flat-purple.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-purple.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-purple, - .iradio_flat-purple { - background-image: url(purple@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/purple.png b/public/assets/vendor/icheck/skins/flat/purple.png deleted file mode 100644 index 3699fd58..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/purple.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/purple@2x.png b/public/assets/vendor/icheck/skins/flat/purple@2x.png deleted file mode 100644 index 7f4be74a..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/purple@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/red.css b/public/assets/vendor/icheck/skins/flat/red.css deleted file mode 100644 index 83ec91e9..00000000 --- a/public/assets/vendor/icheck/skins/flat/red.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, red ------------------------------------ */ -.icheckbox_flat-red, -.iradio_flat-red { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(red.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-red { - background-position: 0 0; -} - .icheckbox_flat-red.checked { - background-position: -22px 0; - } - .icheckbox_flat-red.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-red.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-red { - background-position: -88px 0; -} - .iradio_flat-red.checked { - background-position: -110px 0; - } - .iradio_flat-red.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-red.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-red, - .iradio_flat-red { - background-image: url(red@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/red.png b/public/assets/vendor/icheck/skins/flat/red.png deleted file mode 100644 index 0d5ac381..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/red.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/red@2x.png b/public/assets/vendor/icheck/skins/flat/red@2x.png deleted file mode 100644 index 38590d98..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/red@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/yellow.css b/public/assets/vendor/icheck/skins/flat/yellow.css deleted file mode 100644 index 7bb60393..00000000 --- a/public/assets/vendor/icheck/skins/flat/yellow.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Flat skin, yellow ------------------------------------ */ -.icheckbox_flat-yellow, -.iradio_flat-yellow { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 20px; - height: 20px; - background: url(yellow.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_flat-yellow { - background-position: 0 0; -} - .icheckbox_flat-yellow.checked { - background-position: -22px 0; - } - .icheckbox_flat-yellow.disabled { - background-position: -44px 0; - cursor: default; - } - .icheckbox_flat-yellow.checked.disabled { - background-position: -66px 0; - } - -.iradio_flat-yellow { - background-position: -88px 0; -} - .iradio_flat-yellow.checked { - background-position: -110px 0; - } - .iradio_flat-yellow.disabled { - background-position: -132px 0; - cursor: default; - } - .iradio_flat-yellow.checked.disabled { - background-position: -154px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_flat-yellow, - .iradio_flat-yellow { - background-image: url(yellow@2x.png); - -webkit-background-size: 176px 22px; - background-size: 176px 22px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/flat/yellow.png b/public/assets/vendor/icheck/skins/flat/yellow.png deleted file mode 100644 index 909dadc5..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/yellow.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/flat/yellow@2x.png b/public/assets/vendor/icheck/skins/flat/yellow@2x.png deleted file mode 100644 index 9fd5d733..00000000 Binary files a/public/assets/vendor/icheck/skins/flat/yellow@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/futurico/futurico.css b/public/assets/vendor/icheck/skins/futurico/futurico.css deleted file mode 100644 index a34a7548..00000000 --- a/public/assets/vendor/icheck/skins/futurico/futurico.css +++ /dev/null @@ -1,53 +0,0 @@ -/* iCheck plugin Futurico skin ------------------------------------ */ -.icheckbox_futurico, -.iradio_futurico { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 16px; - height: 17px; - background: url(futurico.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_futurico { - background-position: 0 0; -} - .icheckbox_futurico.checked { - background-position: -18px 0; - } - .icheckbox_futurico.disabled { - background-position: -36px 0; - cursor: default; - } - .icheckbox_futurico.checked.disabled { - background-position: -54px 0; - } - -.iradio_futurico { - background-position: -72px 0; -} - .iradio_futurico.checked { - background-position: -90px 0; - } - .iradio_futurico.disabled { - background-position: -108px 0; - cursor: default; - } - .iradio_futurico.checked.disabled { - background-position: -126px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_futurico, - .iradio_futurico { - background-image: url(futurico@2x.png); - -webkit-background-size: 144px 19px; - background-size: 144px 19px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/futurico/futurico.png b/public/assets/vendor/icheck/skins/futurico/futurico.png deleted file mode 100644 index 50d62b5d..00000000 Binary files a/public/assets/vendor/icheck/skins/futurico/futurico.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/futurico/futurico@2x.png b/public/assets/vendor/icheck/skins/futurico/futurico@2x.png deleted file mode 100644 index f7eb45aa..00000000 Binary files a/public/assets/vendor/icheck/skins/futurico/futurico@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/line/_all.css b/public/assets/vendor/icheck/skins/line/_all.css deleted file mode 100644 index 8a20ed2c..00000000 --- a/public/assets/vendor/icheck/skins/line/_all.css +++ /dev/null @@ -1,710 +0,0 @@ -/* iCheck plugin Line skin ------------------------------------ */ -.icheckbox_line, -.iradio_line { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #000; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line .icheck_line-icon, - .iradio_line .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line.hover, - .icheckbox_line.checked.hover, - .iradio_line.hover { - background: #444; - } - .icheckbox_line.checked, - .iradio_line.checked { - background: #000; - } - .icheckbox_line.checked .icheck_line-icon, - .iradio_line.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line.disabled, - .iradio_line.disabled { - background: #ccc; - cursor: default; - } - .icheckbox_line.disabled .icheck_line-icon, - .iradio_line.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line.checked.disabled, - .iradio_line.checked.disabled { - background: #ccc; - } - .icheckbox_line.checked.disabled .icheck_line-icon, - .iradio_line.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line .icheck_line-icon, - .iradio_line .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* red */ -.icheckbox_line-red, -.iradio_line-red { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #e56c69; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-red .icheck_line-icon, - .iradio_line-red .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-red.hover, - .icheckbox_line-red.checked.hover, - .iradio_line-red.hover { - background: #E98582; - } - .icheckbox_line-red.checked, - .iradio_line-red.checked { - background: #e56c69; - } - .icheckbox_line-red.checked .icheck_line-icon, - .iradio_line-red.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-red.disabled, - .iradio_line-red.disabled { - background: #F7D3D2; - cursor: default; - } - .icheckbox_line-red.disabled .icheck_line-icon, - .iradio_line-red.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-red.checked.disabled, - .iradio_line-red.checked.disabled { - background: #F7D3D2; - } - .icheckbox_line-red.checked.disabled .icheck_line-icon, - .iradio_line-red.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-red .icheck_line-icon, - .iradio_line-red .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* green */ -.icheckbox_line-green, -.iradio_line-green { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #1b7e5a; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-green .icheck_line-icon, - .iradio_line-green .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-green.hover, - .icheckbox_line-green.checked.hover, - .iradio_line-green.hover { - background: #24AA7A; - } - .icheckbox_line-green.checked, - .iradio_line-green.checked { - background: #1b7e5a; - } - .icheckbox_line-green.checked .icheck_line-icon, - .iradio_line-green.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-green.disabled, - .iradio_line-green.disabled { - background: #89E6C4; - cursor: default; - } - .icheckbox_line-green.disabled .icheck_line-icon, - .iradio_line-green.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-green.checked.disabled, - .iradio_line-green.checked.disabled { - background: #89E6C4; - } - .icheckbox_line-green.checked.disabled .icheck_line-icon, - .iradio_line-green.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-green .icheck_line-icon, - .iradio_line-green .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* blue */ -.icheckbox_line-blue, -.iradio_line-blue { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #2489c5; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-blue .icheck_line-icon, - .iradio_line-blue .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-blue.hover, - .icheckbox_line-blue.checked.hover, - .iradio_line-blue.hover { - background: #3DA0DB; - } - .icheckbox_line-blue.checked, - .iradio_line-blue.checked { - background: #2489c5; - } - .icheckbox_line-blue.checked .icheck_line-icon, - .iradio_line-blue.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-blue.disabled, - .iradio_line-blue.disabled { - background: #ADD7F0; - cursor: default; - } - .icheckbox_line-blue.disabled .icheck_line-icon, - .iradio_line-blue.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-blue.checked.disabled, - .iradio_line-blue.checked.disabled { - background: #ADD7F0; - } - .icheckbox_line-blue.checked.disabled .icheck_line-icon, - .iradio_line-blue.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-blue .icheck_line-icon, - .iradio_line-blue .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* aero */ -.icheckbox_line-aero, -.iradio_line-aero { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #9cc2cb; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-aero .icheck_line-icon, - .iradio_line-aero .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-aero.hover, - .icheckbox_line-aero.checked.hover, - .iradio_line-aero.hover { - background: #B5D1D8; - } - .icheckbox_line-aero.checked, - .iradio_line-aero.checked { - background: #9cc2cb; - } - .icheckbox_line-aero.checked .icheck_line-icon, - .iradio_line-aero.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-aero.disabled, - .iradio_line-aero.disabled { - background: #D2E4E8; - cursor: default; - } - .icheckbox_line-aero.disabled .icheck_line-icon, - .iradio_line-aero.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-aero.checked.disabled, - .iradio_line-aero.checked.disabled { - background: #D2E4E8; - } - .icheckbox_line-aero.checked.disabled .icheck_line-icon, - .iradio_line-aero.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-aero .icheck_line-icon, - .iradio_line-aero .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* grey */ -.icheckbox_line-grey, -.iradio_line-grey { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #73716e; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-grey .icheck_line-icon, - .iradio_line-grey .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-grey.hover, - .icheckbox_line-grey.checked.hover, - .iradio_line-grey.hover { - background: #8B8986; - } - .icheckbox_line-grey.checked, - .iradio_line-grey.checked { - background: #73716e; - } - .icheckbox_line-grey.checked .icheck_line-icon, - .iradio_line-grey.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-grey.disabled, - .iradio_line-grey.disabled { - background: #D5D4D3; - cursor: default; - } - .icheckbox_line-grey.disabled .icheck_line-icon, - .iradio_line-grey.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-grey.checked.disabled, - .iradio_line-grey.checked.disabled { - background: #D5D4D3; - } - .icheckbox_line-grey.checked.disabled .icheck_line-icon, - .iradio_line-grey.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-grey .icheck_line-icon, - .iradio_line-grey .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* orange */ -.icheckbox_line-orange, -.iradio_line-orange { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #f70; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-orange .icheck_line-icon, - .iradio_line-orange .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-orange.hover, - .icheckbox_line-orange.checked.hover, - .iradio_line-orange.hover { - background: #FF9233; - } - .icheckbox_line-orange.checked, - .iradio_line-orange.checked { - background: #f70; - } - .icheckbox_line-orange.checked .icheck_line-icon, - .iradio_line-orange.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-orange.disabled, - .iradio_line-orange.disabled { - background: #FFD6B3; - cursor: default; - } - .icheckbox_line-orange.disabled .icheck_line-icon, - .iradio_line-orange.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-orange.checked.disabled, - .iradio_line-orange.checked.disabled { - background: #FFD6B3; - } - .icheckbox_line-orange.checked.disabled .icheck_line-icon, - .iradio_line-orange.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-orange .icheck_line-icon, - .iradio_line-orange .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* yellow */ -.icheckbox_line-yellow, -.iradio_line-yellow { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #FFC414; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-yellow .icheck_line-icon, - .iradio_line-yellow .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-yellow.hover, - .icheckbox_line-yellow.checked.hover, - .iradio_line-yellow.hover { - background: #FFD34F; - } - .icheckbox_line-yellow.checked, - .iradio_line-yellow.checked { - background: #FFC414; - } - .icheckbox_line-yellow.checked .icheck_line-icon, - .iradio_line-yellow.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-yellow.disabled, - .iradio_line-yellow.disabled { - background: #FFE495; - cursor: default; - } - .icheckbox_line-yellow.disabled .icheck_line-icon, - .iradio_line-yellow.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-yellow.checked.disabled, - .iradio_line-yellow.checked.disabled { - background: #FFE495; - } - .icheckbox_line-yellow.checked.disabled .icheck_line-icon, - .iradio_line-yellow.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-yellow .icheck_line-icon, - .iradio_line-yellow .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* pink */ -.icheckbox_line-pink, -.iradio_line-pink { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #a77a94; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-pink .icheck_line-icon, - .iradio_line-pink .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-pink.hover, - .icheckbox_line-pink.checked.hover, - .iradio_line-pink.hover { - background: #B995A9; - } - .icheckbox_line-pink.checked, - .iradio_line-pink.checked { - background: #a77a94; - } - .icheckbox_line-pink.checked .icheck_line-icon, - .iradio_line-pink.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-pink.disabled, - .iradio_line-pink.disabled { - background: #E0D0DA; - cursor: default; - } - .icheckbox_line-pink.disabled .icheck_line-icon, - .iradio_line-pink.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-pink.checked.disabled, - .iradio_line-pink.checked.disabled { - background: #E0D0DA; - } - .icheckbox_line-pink.checked.disabled .icheck_line-icon, - .iradio_line-pink.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-pink .icheck_line-icon, - .iradio_line-pink .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} - -/* purple */ -.icheckbox_line-purple, -.iradio_line-purple { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #6a5a8c; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-purple .icheck_line-icon, - .iradio_line-purple .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-purple.hover, - .icheckbox_line-purple.checked.hover, - .iradio_line-purple.hover { - background: #8677A7; - } - .icheckbox_line-purple.checked, - .iradio_line-purple.checked { - background: #6a5a8c; - } - .icheckbox_line-purple.checked .icheck_line-icon, - .iradio_line-purple.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-purple.disabled, - .iradio_line-purple.disabled { - background: #D2CCDE; - cursor: default; - } - .icheckbox_line-purple.disabled .icheck_line-icon, - .iradio_line-purple.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-purple.checked.disabled, - .iradio_line-purple.checked.disabled { - background: #D2CCDE; - } - .icheckbox_line-purple.checked.disabled .icheck_line-icon, - .iradio_line-purple.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-purple .icheck_line-icon, - .iradio_line-purple .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/aero.css b/public/assets/vendor/icheck/skins/line/aero.css deleted file mode 100644 index 82272230..00000000 --- a/public/assets/vendor/icheck/skins/line/aero.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, aero ------------------------------------ */ -.icheckbox_line-aero, -.iradio_line-aero { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #9cc2cb; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-aero .icheck_line-icon, - .iradio_line-aero .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-aero.hover, - .icheckbox_line-aero.checked.hover, - .iradio_line-aero.hover { - background: #B5D1D8; - } - .icheckbox_line-aero.checked, - .iradio_line-aero.checked { - background: #9cc2cb; - } - .icheckbox_line-aero.checked .icheck_line-icon, - .iradio_line-aero.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-aero.disabled, - .iradio_line-aero.disabled { - background: #D2E4E8; - cursor: default; - } - .icheckbox_line-aero.disabled .icheck_line-icon, - .iradio_line-aero.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-aero.checked.disabled, - .iradio_line-aero.checked.disabled { - background: #D2E4E8; - } - .icheckbox_line-aero.checked.disabled .icheck_line-icon, - .iradio_line-aero.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-aero .icheck_line-icon, - .iradio_line-aero .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/blue.css b/public/assets/vendor/icheck/skins/line/blue.css deleted file mode 100644 index b3f98196..00000000 --- a/public/assets/vendor/icheck/skins/line/blue.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, blue ------------------------------------ */ -.icheckbox_line-blue, -.iradio_line-blue { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #2489c5; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-blue .icheck_line-icon, - .iradio_line-blue .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-blue.hover, - .icheckbox_line-blue.checked.hover, - .iradio_line-blue.hover { - background: #3DA0DB; - } - .icheckbox_line-blue.checked, - .iradio_line-blue.checked { - background: #2489c5; - } - .icheckbox_line-blue.checked .icheck_line-icon, - .iradio_line-blue.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-blue.disabled, - .iradio_line-blue.disabled { - background: #ADD7F0; - cursor: default; - } - .icheckbox_line-blue.disabled .icheck_line-icon, - .iradio_line-blue.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-blue.checked.disabled, - .iradio_line-blue.checked.disabled { - background: #ADD7F0; - } - .icheckbox_line-blue.checked.disabled .icheck_line-icon, - .iradio_line-blue.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-blue .icheck_line-icon, - .iradio_line-blue .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/green.css b/public/assets/vendor/icheck/skins/line/green.css deleted file mode 100644 index 82b42631..00000000 --- a/public/assets/vendor/icheck/skins/line/green.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, green ------------------------------------ */ -.icheckbox_line-green, -.iradio_line-green { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #1b7e5a; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-green .icheck_line-icon, - .iradio_line-green .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-green.hover, - .icheckbox_line-green.checked.hover, - .iradio_line-green.hover { - background: #24AA7A; - } - .icheckbox_line-green.checked, - .iradio_line-green.checked { - background: #1b7e5a; - } - .icheckbox_line-green.checked .icheck_line-icon, - .iradio_line-green.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-green.disabled, - .iradio_line-green.disabled { - background: #89E6C4; - cursor: default; - } - .icheckbox_line-green.disabled .icheck_line-icon, - .iradio_line-green.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-green.checked.disabled, - .iradio_line-green.checked.disabled { - background: #89E6C4; - } - .icheckbox_line-green.checked.disabled .icheck_line-icon, - .iradio_line-green.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-green .icheck_line-icon, - .iradio_line-green .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/grey.css b/public/assets/vendor/icheck/skins/line/grey.css deleted file mode 100644 index 96a5d261..00000000 --- a/public/assets/vendor/icheck/skins/line/grey.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, grey ------------------------------------ */ -.icheckbox_line-grey, -.iradio_line-grey { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #73716e; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-grey .icheck_line-icon, - .iradio_line-grey .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-grey.hover, - .icheckbox_line-grey.checked.hover, - .iradio_line-grey.hover { - background: #8B8986; - } - .icheckbox_line-grey.checked, - .iradio_line-grey.checked { - background: #73716e; - } - .icheckbox_line-grey.checked .icheck_line-icon, - .iradio_line-grey.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-grey.disabled, - .iradio_line-grey.disabled { - background: #D5D4D3; - cursor: default; - } - .icheckbox_line-grey.disabled .icheck_line-icon, - .iradio_line-grey.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-grey.checked.disabled, - .iradio_line-grey.checked.disabled { - background: #D5D4D3; - } - .icheckbox_line-grey.checked.disabled .icheck_line-icon, - .iradio_line-grey.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-grey .icheck_line-icon, - .iradio_line-grey .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/line.css b/public/assets/vendor/icheck/skins/line/line.css deleted file mode 100644 index a24398ae..00000000 --- a/public/assets/vendor/icheck/skins/line/line.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, black ------------------------------------ */ -.icheckbox_line, -.iradio_line { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #000; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line .icheck_line-icon, - .iradio_line .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line.hover, - .icheckbox_line.checked.hover, - .iradio_line.hover { - background: #444; - } - .icheckbox_line.checked, - .iradio_line.checked { - background: #000; - } - .icheckbox_line.checked .icheck_line-icon, - .iradio_line.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line.disabled, - .iradio_line.disabled { - background: #ccc; - cursor: default; - } - .icheckbox_line.disabled .icheck_line-icon, - .iradio_line.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line.checked.disabled, - .iradio_line.checked.disabled { - background: #ccc; - } - .icheckbox_line.checked.disabled .icheck_line-icon, - .iradio_line.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line .icheck_line-icon, - .iradio_line .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/line.png b/public/assets/vendor/icheck/skins/line/line.png deleted file mode 100644 index d21d7a7b..00000000 Binary files a/public/assets/vendor/icheck/skins/line/line.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/line/line@2x.png b/public/assets/vendor/icheck/skins/line/line@2x.png deleted file mode 100644 index 62900a2d..00000000 Binary files a/public/assets/vendor/icheck/skins/line/line@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/line/orange.css b/public/assets/vendor/icheck/skins/line/orange.css deleted file mode 100644 index 5f051b40..00000000 --- a/public/assets/vendor/icheck/skins/line/orange.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, orange ------------------------------------ */ -.icheckbox_line-orange, -.iradio_line-orange { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #f70; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-orange .icheck_line-icon, - .iradio_line-orange .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-orange.hover, - .icheckbox_line-orange.checked.hover, - .iradio_line-orange.hover { - background: #FF9233; - } - .icheckbox_line-orange.checked, - .iradio_line-orange.checked { - background: #f70; - } - .icheckbox_line-orange.checked .icheck_line-icon, - .iradio_line-orange.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-orange.disabled, - .iradio_line-orange.disabled { - background: #FFD6B3; - cursor: default; - } - .icheckbox_line-orange.disabled .icheck_line-icon, - .iradio_line-orange.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-orange.checked.disabled, - .iradio_line-orange.checked.disabled { - background: #FFD6B3; - } - .icheckbox_line-orange.checked.disabled .icheck_line-icon, - .iradio_line-orange.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-orange .icheck_line-icon, - .iradio_line-orange .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/pink.css b/public/assets/vendor/icheck/skins/line/pink.css deleted file mode 100644 index b98bbc3d..00000000 --- a/public/assets/vendor/icheck/skins/line/pink.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, pink ------------------------------------ */ -.icheckbox_line-pink, -.iradio_line-pink { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #a77a94; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-pink .icheck_line-icon, - .iradio_line-pink .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-pink.hover, - .icheckbox_line-pink.checked.hover, - .iradio_line-pink.hover { - background: #B995A9; - } - .icheckbox_line-pink.checked, - .iradio_line-pink.checked { - background: #a77a94; - } - .icheckbox_line-pink.checked .icheck_line-icon, - .iradio_line-pink.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-pink.disabled, - .iradio_line-pink.disabled { - background: #E0D0DA; - cursor: default; - } - .icheckbox_line-pink.disabled .icheck_line-icon, - .iradio_line-pink.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-pink.checked.disabled, - .iradio_line-pink.checked.disabled { - background: #E0D0DA; - } - .icheckbox_line-pink.checked.disabled .icheck_line-icon, - .iradio_line-pink.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-pink .icheck_line-icon, - .iradio_line-pink .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/purple.css b/public/assets/vendor/icheck/skins/line/purple.css deleted file mode 100644 index 61f4a2f9..00000000 --- a/public/assets/vendor/icheck/skins/line/purple.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, purple ------------------------------------ */ -.icheckbox_line-purple, -.iradio_line-purple { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #6a5a8c; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-purple .icheck_line-icon, - .iradio_line-purple .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-purple.hover, - .icheckbox_line-purple.checked.hover, - .iradio_line-purple.hover { - background: #8677A7; - } - .icheckbox_line-purple.checked, - .iradio_line-purple.checked { - background: #6a5a8c; - } - .icheckbox_line-purple.checked .icheck_line-icon, - .iradio_line-purple.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-purple.disabled, - .iradio_line-purple.disabled { - background: #D2CCDE; - cursor: default; - } - .icheckbox_line-purple.disabled .icheck_line-icon, - .iradio_line-purple.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-purple.checked.disabled, - .iradio_line-purple.checked.disabled { - background: #D2CCDE; - } - .icheckbox_line-purple.checked.disabled .icheck_line-icon, - .iradio_line-purple.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-purple .icheck_line-icon, - .iradio_line-purple .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/red.css b/public/assets/vendor/icheck/skins/line/red.css deleted file mode 100644 index d86c946b..00000000 --- a/public/assets/vendor/icheck/skins/line/red.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, red ------------------------------------ */ -.icheckbox_line-red, -.iradio_line-red { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #e56c69; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-red .icheck_line-icon, - .iradio_line-red .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-red.hover, - .icheckbox_line-red.checked.hover, - .iradio_line-red.hover { - background: #E98582; - } - .icheckbox_line-red.checked, - .iradio_line-red.checked { - background: #e56c69; - } - .icheckbox_line-red.checked .icheck_line-icon, - .iradio_line-red.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-red.disabled, - .iradio_line-red.disabled { - background: #F7D3D2; - cursor: default; - } - .icheckbox_line-red.disabled .icheck_line-icon, - .iradio_line-red.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-red.checked.disabled, - .iradio_line-red.checked.disabled { - background: #F7D3D2; - } - .icheckbox_line-red.checked.disabled .icheck_line-icon, - .iradio_line-red.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-red .icheck_line-icon, - .iradio_line-red .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/line/yellow.css b/public/assets/vendor/icheck/skins/line/yellow.css deleted file mode 100644 index b34148a6..00000000 --- a/public/assets/vendor/icheck/skins/line/yellow.css +++ /dev/null @@ -1,71 +0,0 @@ -/* iCheck plugin Line skin, yellow ------------------------------------ */ -.icheckbox_line-yellow, -.iradio_line-yellow { - position: relative; - display: block; - margin: 0; - padding: 5px 15px 5px 38px; - font-size: 13px; - line-height: 17px; - color: #fff; - background: #FFC414; - border: none; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - cursor: pointer; -} - .icheckbox_line-yellow .icheck_line-icon, - .iradio_line-yellow .icheck_line-icon { - position: absolute; - top: 50%; - left: 13px; - width: 13px; - height: 11px; - margin: -5px 0 0 0; - padding: 0; - overflow: hidden; - background: url(line.png) no-repeat; - border: none; - } - .icheckbox_line-yellow.hover, - .icheckbox_line-yellow.checked.hover, - .iradio_line-yellow.hover { - background: #FFD34F; - } - .icheckbox_line-yellow.checked, - .iradio_line-yellow.checked { - background: #FFC414; - } - .icheckbox_line-yellow.checked .icheck_line-icon, - .iradio_line-yellow.checked .icheck_line-icon { - background-position: -15px 0; - } - .icheckbox_line-yellow.disabled, - .iradio_line-yellow.disabled { - background: #FFE495; - cursor: default; - } - .icheckbox_line-yellow.disabled .icheck_line-icon, - .iradio_line-yellow.disabled .icheck_line-icon { - background-position: -30px 0; - } - .icheckbox_line-yellow.checked.disabled, - .iradio_line-yellow.checked.disabled { - background: #FFE495; - } - .icheckbox_line-yellow.checked.disabled .icheck_line-icon, - .iradio_line-yellow.checked.disabled .icheck_line-icon { - background-position: -45px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_line-yellow .icheck_line-icon, - .iradio_line-yellow .icheck_line-icon { - background-image: url(line@2x.png); - -webkit-background-size: 60px 13px; - background-size: 60px 13px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/_all.css b/public/assets/vendor/icheck/skins/minimal/_all.css deleted file mode 100644 index 8cf8aca9..00000000 --- a/public/assets/vendor/icheck/skins/minimal/_all.css +++ /dev/null @@ -1,590 +0,0 @@ -/* iCheck plugin Minimal skin ------------------------------------ */ -.icheckbox_minimal, -.iradio_minimal { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(minimal.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal { - background-position: 0 0; -} - .icheckbox_minimal.hover { - background-position: -20px 0; - } - .icheckbox_minimal.checked { - background-position: -40px 0; - } - .icheckbox_minimal.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal { - background-position: -100px 0; -} - .iradio_minimal.hover { - background-position: -120px 0; - } - .iradio_minimal.checked { - background-position: -140px 0; - } - .iradio_minimal.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal, - .iradio_minimal { - background-image: url(minimal@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* red */ -.icheckbox_minimal-red, -.iradio_minimal-red { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(red.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-red { - background-position: 0 0; -} - .icheckbox_minimal-red.hover { - background-position: -20px 0; - } - .icheckbox_minimal-red.checked { - background-position: -40px 0; - } - .icheckbox_minimal-red.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-red.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-red { - background-position: -100px 0; -} - .iradio_minimal-red.hover { - background-position: -120px 0; - } - .iradio_minimal-red.checked { - background-position: -140px 0; - } - .iradio_minimal-red.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-red.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-red, - .iradio_minimal-red { - background-image: url(red@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* green */ -.icheckbox_minimal-green, -.iradio_minimal-green { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(green.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-green { - background-position: 0 0; -} - .icheckbox_minimal-green.hover { - background-position: -20px 0; - } - .icheckbox_minimal-green.checked { - background-position: -40px 0; - } - .icheckbox_minimal-green.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-green.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-green { - background-position: -100px 0; -} - .iradio_minimal-green.hover { - background-position: -120px 0; - } - .iradio_minimal-green.checked { - background-position: -140px 0; - } - .iradio_minimal-green.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-green.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-green, - .iradio_minimal-green { - background-image: url(green@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* blue */ -.icheckbox_minimal-blue, -.iradio_minimal-blue { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(blue.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-blue { - background-position: 0 0; -} - .icheckbox_minimal-blue.hover { - background-position: -20px 0; - } - .icheckbox_minimal-blue.checked { - background-position: -40px 0; - } - .icheckbox_minimal-blue.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-blue.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-blue { - background-position: -100px 0; -} - .iradio_minimal-blue.hover { - background-position: -120px 0; - } - .iradio_minimal-blue.checked { - background-position: -140px 0; - } - .iradio_minimal-blue.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-blue.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-blue, - .iradio_minimal-blue { - background-image: url(blue@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* aero */ -.icheckbox_minimal-aero, -.iradio_minimal-aero { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(aero.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-aero { - background-position: 0 0; -} - .icheckbox_minimal-aero.hover { - background-position: -20px 0; - } - .icheckbox_minimal-aero.checked { - background-position: -40px 0; - } - .icheckbox_minimal-aero.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-aero.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-aero { - background-position: -100px 0; -} - .iradio_minimal-aero.hover { - background-position: -120px 0; - } - .iradio_minimal-aero.checked { - background-position: -140px 0; - } - .iradio_minimal-aero.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-aero.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-aero, - .iradio_minimal-aero { - background-image: url(aero@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* grey */ -.icheckbox_minimal-grey, -.iradio_minimal-grey { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(grey.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-grey { - background-position: 0 0; -} - .icheckbox_minimal-grey.hover { - background-position: -20px 0; - } - .icheckbox_minimal-grey.checked { - background-position: -40px 0; - } - .icheckbox_minimal-grey.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-grey.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-grey { - background-position: -100px 0; -} - .iradio_minimal-grey.hover { - background-position: -120px 0; - } - .iradio_minimal-grey.checked { - background-position: -140px 0; - } - .iradio_minimal-grey.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-grey.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-grey, - .iradio_minimal-grey { - background-image: url(grey@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* orange */ -.icheckbox_minimal-orange, -.iradio_minimal-orange { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(orange.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-orange { - background-position: 0 0; -} - .icheckbox_minimal-orange.hover { - background-position: -20px 0; - } - .icheckbox_minimal-orange.checked { - background-position: -40px 0; - } - .icheckbox_minimal-orange.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-orange.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-orange { - background-position: -100px 0; -} - .iradio_minimal-orange.hover { - background-position: -120px 0; - } - .iradio_minimal-orange.checked { - background-position: -140px 0; - } - .iradio_minimal-orange.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-orange.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-orange, - .iradio_minimal-orange { - background-image: url(orange@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* yellow */ -.icheckbox_minimal-yellow, -.iradio_minimal-yellow { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(yellow.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-yellow { - background-position: 0 0; -} - .icheckbox_minimal-yellow.hover { - background-position: -20px 0; - } - .icheckbox_minimal-yellow.checked { - background-position: -40px 0; - } - .icheckbox_minimal-yellow.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-yellow.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-yellow { - background-position: -100px 0; -} - .iradio_minimal-yellow.hover { - background-position: -120px 0; - } - .iradio_minimal-yellow.checked { - background-position: -140px 0; - } - .iradio_minimal-yellow.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-yellow.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-yellow, - .iradio_minimal-yellow { - background-image: url(yellow@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* pink */ -.icheckbox_minimal-pink, -.iradio_minimal-pink { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(pink.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-pink { - background-position: 0 0; -} - .icheckbox_minimal-pink.hover { - background-position: -20px 0; - } - .icheckbox_minimal-pink.checked { - background-position: -40px 0; - } - .icheckbox_minimal-pink.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-pink.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-pink { - background-position: -100px 0; -} - .iradio_minimal-pink.hover { - background-position: -120px 0; - } - .iradio_minimal-pink.checked { - background-position: -140px 0; - } - .iradio_minimal-pink.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-pink.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-pink, - .iradio_minimal-pink { - background-image: url(pink@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} - -/* purple */ -.icheckbox_minimal-purple, -.iradio_minimal-purple { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(purple.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-purple { - background-position: 0 0; -} - .icheckbox_minimal-purple.hover { - background-position: -20px 0; - } - .icheckbox_minimal-purple.checked { - background-position: -40px 0; - } - .icheckbox_minimal-purple.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-purple.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-purple { - background-position: -100px 0; -} - .iradio_minimal-purple.hover { - background-position: -120px 0; - } - .iradio_minimal-purple.checked { - background-position: -140px 0; - } - .iradio_minimal-purple.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-purple.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-purple, - .iradio_minimal-purple { - background-image: url(purple@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/aero.css b/public/assets/vendor/icheck/skins/minimal/aero.css deleted file mode 100644 index 0a7a9453..00000000 --- a/public/assets/vendor/icheck/skins/minimal/aero.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, aero ------------------------------------ */ -.icheckbox_minimal-aero, -.iradio_minimal-aero { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(aero.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-aero { - background-position: 0 0; -} - .icheckbox_minimal-aero.hover { - background-position: -20px 0; - } - .icheckbox_minimal-aero.checked { - background-position: -40px 0; - } - .icheckbox_minimal-aero.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-aero.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-aero { - background-position: -100px 0; -} - .iradio_minimal-aero.hover { - background-position: -120px 0; - } - .iradio_minimal-aero.checked { - background-position: -140px 0; - } - .iradio_minimal-aero.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-aero.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-aero, - .iradio_minimal-aero { - background-image: url(aero@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/aero.png b/public/assets/vendor/icheck/skins/minimal/aero.png deleted file mode 100644 index dccf7740..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/aero.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/aero@2x.png b/public/assets/vendor/icheck/skins/minimal/aero@2x.png deleted file mode 100644 index 5537ee36..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/aero@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/blue.css b/public/assets/vendor/icheck/skins/minimal/blue.css deleted file mode 100644 index c2900975..00000000 --- a/public/assets/vendor/icheck/skins/minimal/blue.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, blue ------------------------------------ */ -.icheckbox_minimal-blue, -.iradio_minimal-blue { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(blue.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-blue { - background-position: 0 0; -} - .icheckbox_minimal-blue.hover { - background-position: -20px 0; - } - .icheckbox_minimal-blue.checked { - background-position: -40px 0; - } - .icheckbox_minimal-blue.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-blue.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-blue { - background-position: -100px 0; -} - .iradio_minimal-blue.hover { - background-position: -120px 0; - } - .iradio_minimal-blue.checked { - background-position: -140px 0; - } - .iradio_minimal-blue.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-blue.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-blue, - .iradio_minimal-blue { - background-image: url(blue@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/blue.png b/public/assets/vendor/icheck/skins/minimal/blue.png deleted file mode 100644 index af04cee5..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/blue.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/blue@2x.png b/public/assets/vendor/icheck/skins/minimal/blue@2x.png deleted file mode 100644 index f19210a9..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/blue@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/green.css b/public/assets/vendor/icheck/skins/minimal/green.css deleted file mode 100644 index aa685f36..00000000 --- a/public/assets/vendor/icheck/skins/minimal/green.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, green ------------------------------------ */ -.icheckbox_minimal-green, -.iradio_minimal-green { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(green.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-green { - background-position: 0 0; -} - .icheckbox_minimal-green.hover { - background-position: -20px 0; - } - .icheckbox_minimal-green.checked { - background-position: -40px 0; - } - .icheckbox_minimal-green.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-green.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-green { - background-position: -100px 0; -} - .iradio_minimal-green.hover { - background-position: -120px 0; - } - .iradio_minimal-green.checked { - background-position: -140px 0; - } - .iradio_minimal-green.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-green.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-green, - .iradio_minimal-green { - background-image: url(green@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/green.png b/public/assets/vendor/icheck/skins/minimal/green.png deleted file mode 100644 index 9171ebc7..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/green.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/green@2x.png b/public/assets/vendor/icheck/skins/minimal/green@2x.png deleted file mode 100644 index 7f18f96a..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/green@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/grey.css b/public/assets/vendor/icheck/skins/minimal/grey.css deleted file mode 100644 index f2426977..00000000 --- a/public/assets/vendor/icheck/skins/minimal/grey.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, grey ------------------------------------ */ -.icheckbox_minimal-grey, -.iradio_minimal-grey { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(grey.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-grey { - background-position: 0 0; -} - .icheckbox_minimal-grey.hover { - background-position: -20px 0; - } - .icheckbox_minimal-grey.checked { - background-position: -40px 0; - } - .icheckbox_minimal-grey.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-grey.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-grey { - background-position: -100px 0; -} - .iradio_minimal-grey.hover { - background-position: -120px 0; - } - .iradio_minimal-grey.checked { - background-position: -140px 0; - } - .iradio_minimal-grey.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-grey.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-grey, - .iradio_minimal-grey { - background-image: url(grey@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/grey.png b/public/assets/vendor/icheck/skins/minimal/grey.png deleted file mode 100644 index 22dcdbcf..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/grey.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/grey@2x.png b/public/assets/vendor/icheck/skins/minimal/grey@2x.png deleted file mode 100644 index 85e82ddd..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/grey@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/minimal.css b/public/assets/vendor/icheck/skins/minimal/minimal.css deleted file mode 100644 index c2c6620f..00000000 --- a/public/assets/vendor/icheck/skins/minimal/minimal.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, black ------------------------------------ */ -.icheckbox_minimal, -.iradio_minimal { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(minimal.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal { - background-position: 0 0; -} - .icheckbox_minimal.hover { - background-position: -20px 0; - } - .icheckbox_minimal.checked { - background-position: -40px 0; - } - .icheckbox_minimal.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal { - background-position: -100px 0; -} - .iradio_minimal.hover { - background-position: -120px 0; - } - .iradio_minimal.checked { - background-position: -140px 0; - } - .iradio_minimal.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal, - .iradio_minimal { - background-image: url(minimal@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/minimal.png b/public/assets/vendor/icheck/skins/minimal/minimal.png deleted file mode 100644 index 943be16f..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/minimal.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/minimal@2x.png b/public/assets/vendor/icheck/skins/minimal/minimal@2x.png deleted file mode 100644 index d62291da..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/minimal@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/orange.css b/public/assets/vendor/icheck/skins/minimal/orange.css deleted file mode 100644 index ba1b9c34..00000000 --- a/public/assets/vendor/icheck/skins/minimal/orange.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, orange ------------------------------------ */ -.icheckbox_minimal-orange, -.iradio_minimal-orange { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(orange.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-orange { - background-position: 0 0; -} - .icheckbox_minimal-orange.hover { - background-position: -20px 0; - } - .icheckbox_minimal-orange.checked { - background-position: -40px 0; - } - .icheckbox_minimal-orange.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-orange.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-orange { - background-position: -100px 0; -} - .iradio_minimal-orange.hover { - background-position: -120px 0; - } - .iradio_minimal-orange.checked { - background-position: -140px 0; - } - .iradio_minimal-orange.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-orange.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-orange, - .iradio_minimal-orange { - background-image: url(orange@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/orange.png b/public/assets/vendor/icheck/skins/minimal/orange.png deleted file mode 100644 index f2a31497..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/orange.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/orange@2x.png b/public/assets/vendor/icheck/skins/minimal/orange@2x.png deleted file mode 100644 index 68c83591..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/orange@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/pink.css b/public/assets/vendor/icheck/skins/minimal/pink.css deleted file mode 100644 index 77c57418..00000000 --- a/public/assets/vendor/icheck/skins/minimal/pink.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, pink ------------------------------------ */ -.icheckbox_minimal-pink, -.iradio_minimal-pink { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(pink.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-pink { - background-position: 0 0; -} - .icheckbox_minimal-pink.hover { - background-position: -20px 0; - } - .icheckbox_minimal-pink.checked { - background-position: -40px 0; - } - .icheckbox_minimal-pink.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-pink.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-pink { - background-position: -100px 0; -} - .iradio_minimal-pink.hover { - background-position: -120px 0; - } - .iradio_minimal-pink.checked { - background-position: -140px 0; - } - .iradio_minimal-pink.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-pink.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-pink, - .iradio_minimal-pink { - background-image: url(pink@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/pink.png b/public/assets/vendor/icheck/skins/minimal/pink.png deleted file mode 100644 index 660553c0..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/pink.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/pink@2x.png b/public/assets/vendor/icheck/skins/minimal/pink@2x.png deleted file mode 100644 index 7d7b3851..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/pink@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/purple.css b/public/assets/vendor/icheck/skins/minimal/purple.css deleted file mode 100644 index d509f043..00000000 --- a/public/assets/vendor/icheck/skins/minimal/purple.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, purple ------------------------------------ */ -.icheckbox_minimal-purple, -.iradio_minimal-purple { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(purple.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-purple { - background-position: 0 0; -} - .icheckbox_minimal-purple.hover { - background-position: -20px 0; - } - .icheckbox_minimal-purple.checked { - background-position: -40px 0; - } - .icheckbox_minimal-purple.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-purple.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-purple { - background-position: -100px 0; -} - .iradio_minimal-purple.hover { - background-position: -120px 0; - } - .iradio_minimal-purple.checked { - background-position: -140px 0; - } - .iradio_minimal-purple.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-purple.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-purple, - .iradio_minimal-purple { - background-image: url(purple@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/purple.png b/public/assets/vendor/icheck/skins/minimal/purple.png deleted file mode 100644 index 48dec794..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/purple.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/purple@2x.png b/public/assets/vendor/icheck/skins/minimal/purple@2x.png deleted file mode 100644 index 3bb70417..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/purple@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/red.css b/public/assets/vendor/icheck/skins/minimal/red.css deleted file mode 100644 index 2280e5b0..00000000 --- a/public/assets/vendor/icheck/skins/minimal/red.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, red ------------------------------------ */ -.icheckbox_minimal-red, -.iradio_minimal-red { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(red.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-red { - background-position: 0 0; -} - .icheckbox_minimal-red.hover { - background-position: -20px 0; - } - .icheckbox_minimal-red.checked { - background-position: -40px 0; - } - .icheckbox_minimal-red.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-red.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-red { - background-position: -100px 0; -} - .iradio_minimal-red.hover { - background-position: -120px 0; - } - .iradio_minimal-red.checked { - background-position: -140px 0; - } - .iradio_minimal-red.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-red.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-red, - .iradio_minimal-red { - background-image: url(red@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/red.png b/public/assets/vendor/icheck/skins/minimal/red.png deleted file mode 100644 index 4443f809..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/red.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/red@2x.png b/public/assets/vendor/icheck/skins/minimal/red@2x.png deleted file mode 100644 index 2eb55a65..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/red@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/yellow.css b/public/assets/vendor/icheck/skins/minimal/yellow.css deleted file mode 100644 index 730bb4c4..00000000 --- a/public/assets/vendor/icheck/skins/minimal/yellow.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Minimal skin, yellow ------------------------------------ */ -.icheckbox_minimal-yellow, -.iradio_minimal-yellow { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 18px; - height: 18px; - background: url(yellow.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_minimal-yellow { - background-position: 0 0; -} - .icheckbox_minimal-yellow.hover { - background-position: -20px 0; - } - .icheckbox_minimal-yellow.checked { - background-position: -40px 0; - } - .icheckbox_minimal-yellow.disabled { - background-position: -60px 0; - cursor: default; - } - .icheckbox_minimal-yellow.checked.disabled { - background-position: -80px 0; - } - -.iradio_minimal-yellow { - background-position: -100px 0; -} - .iradio_minimal-yellow.hover { - background-position: -120px 0; - } - .iradio_minimal-yellow.checked { - background-position: -140px 0; - } - .iradio_minimal-yellow.disabled { - background-position: -160px 0; - cursor: default; - } - .iradio_minimal-yellow.checked.disabled { - background-position: -180px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_minimal-yellow, - .iradio_minimal-yellow { - background-image: url(yellow@2x.png); - -webkit-background-size: 200px 20px; - background-size: 200px 20px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/minimal/yellow.png b/public/assets/vendor/icheck/skins/minimal/yellow.png deleted file mode 100644 index 0999b7ec..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/yellow.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/minimal/yellow@2x.png b/public/assets/vendor/icheck/skins/minimal/yellow@2x.png deleted file mode 100644 index c16f2b7d..00000000 Binary files a/public/assets/vendor/icheck/skins/minimal/yellow@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/polaris/polaris.css b/public/assets/vendor/icheck/skins/polaris/polaris.css deleted file mode 100644 index 2a4d519c..00000000 --- a/public/assets/vendor/icheck/skins/polaris/polaris.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Polaris skin ------------------------------------ */ -.icheckbox_polaris, -.iradio_polaris { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 29px; - height: 29px; - background: url(polaris.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_polaris { - background-position: 0 0; -} - .icheckbox_polaris.hover { - background-position: -31px 0; - } - .icheckbox_polaris.checked { - background-position: -62px 0; - } - .icheckbox_polaris.disabled { - background-position: -93px 0; - cursor: default; - } - .icheckbox_polaris.checked.disabled { - background-position: -124px 0; - } - -.iradio_polaris { - background-position: -155px 0; -} - .iradio_polaris.hover { - background-position: -186px 0; - } - .iradio_polaris.checked { - background-position: -217px 0; - } - .iradio_polaris.disabled { - background-position: -248px 0; - cursor: default; - } - .iradio_polaris.checked.disabled { - background-position: -279px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_polaris, - .iradio_polaris { - background-image: url(polaris@2x.png); - -webkit-background-size: 310px 31px; - background-size: 310px 31px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/polaris/polaris.png b/public/assets/vendor/icheck/skins/polaris/polaris.png deleted file mode 100644 index 60c14e6a..00000000 Binary files a/public/assets/vendor/icheck/skins/polaris/polaris.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/polaris/polaris@2x.png b/public/assets/vendor/icheck/skins/polaris/polaris@2x.png deleted file mode 100644 index c75b8269..00000000 Binary files a/public/assets/vendor/icheck/skins/polaris/polaris@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/_all.css b/public/assets/vendor/icheck/skins/square/_all.css deleted file mode 100644 index 90c3a69e..00000000 --- a/public/assets/vendor/icheck/skins/square/_all.css +++ /dev/null @@ -1,590 +0,0 @@ -/* iCheck plugin Square skin ------------------------------------ */ -.icheckbox_square, -.iradio_square { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(square.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square { - background-position: 0 0; -} - .icheckbox_square.hover { - background-position: -24px 0; - } - .icheckbox_square.checked { - background-position: -48px 0; - } - .icheckbox_square.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square.checked.disabled { - background-position: -96px 0; - } - -.iradio_square { - background-position: -120px 0; -} - .iradio_square.hover { - background-position: -144px 0; - } - .iradio_square.checked { - background-position: -168px 0; - } - .iradio_square.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square, - .iradio_square { - background-image: url(square@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* red */ -.icheckbox_square-red, -.iradio_square-red { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(red.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-red { - background-position: 0 0; -} - .icheckbox_square-red.hover { - background-position: -24px 0; - } - .icheckbox_square-red.checked { - background-position: -48px 0; - } - .icheckbox_square-red.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-red.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-red { - background-position: -120px 0; -} - .iradio_square-red.hover { - background-position: -144px 0; - } - .iradio_square-red.checked { - background-position: -168px 0; - } - .iradio_square-red.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-red.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-red, - .iradio_square-red { - background-image: url(red@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* green */ -.icheckbox_square-green, -.iradio_square-green { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(green.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-green { - background-position: 0 0; -} - .icheckbox_square-green.hover { - background-position: -24px 0; - } - .icheckbox_square-green.checked { - background-position: -48px 0; - } - .icheckbox_square-green.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-green.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-green { - background-position: -120px 0; -} - .iradio_square-green.hover { - background-position: -144px 0; - } - .iradio_square-green.checked { - background-position: -168px 0; - } - .iradio_square-green.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-green.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-green, - .iradio_square-green { - background-image: url(green@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* blue */ -.icheckbox_square-blue, -.iradio_square-blue { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(blue.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-blue { - background-position: 0 0; -} - .icheckbox_square-blue.hover { - background-position: -24px 0; - } - .icheckbox_square-blue.checked { - background-position: -48px 0; - } - .icheckbox_square-blue.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-blue.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-blue { - background-position: -120px 0; -} - .iradio_square-blue.hover { - background-position: -144px 0; - } - .iradio_square-blue.checked { - background-position: -168px 0; - } - .iradio_square-blue.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-blue.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-blue, - .iradio_square-blue { - background-image: url(blue@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* aero */ -.icheckbox_square-aero, -.iradio_square-aero { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(aero.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-aero { - background-position: 0 0; -} - .icheckbox_square-aero.hover { - background-position: -24px 0; - } - .icheckbox_square-aero.checked { - background-position: -48px 0; - } - .icheckbox_square-aero.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-aero.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-aero { - background-position: -120px 0; -} - .iradio_square-aero.hover { - background-position: -144px 0; - } - .iradio_square-aero.checked { - background-position: -168px 0; - } - .iradio_square-aero.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-aero.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-aero, - .iradio_square-aero { - background-image: url(aero@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* grey */ -.icheckbox_square-grey, -.iradio_square-grey { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(grey.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-grey { - background-position: 0 0; -} - .icheckbox_square-grey.hover { - background-position: -24px 0; - } - .icheckbox_square-grey.checked { - background-position: -48px 0; - } - .icheckbox_square-grey.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-grey.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-grey { - background-position: -120px 0; -} - .iradio_square-grey.hover { - background-position: -144px 0; - } - .iradio_square-grey.checked { - background-position: -168px 0; - } - .iradio_square-grey.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-grey.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-grey, - .iradio_square-grey { - background-image: url(grey@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* orange */ -.icheckbox_square-orange, -.iradio_square-orange { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(orange.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-orange { - background-position: 0 0; -} - .icheckbox_square-orange.hover { - background-position: -24px 0; - } - .icheckbox_square-orange.checked { - background-position: -48px 0; - } - .icheckbox_square-orange.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-orange.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-orange { - background-position: -120px 0; -} - .iradio_square-orange.hover { - background-position: -144px 0; - } - .iradio_square-orange.checked { - background-position: -168px 0; - } - .iradio_square-orange.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-orange.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-orange, - .iradio_square-orange { - background-image: url(orange@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* yellow */ -.icheckbox_square-yellow, -.iradio_square-yellow { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(yellow.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-yellow { - background-position: 0 0; -} - .icheckbox_square-yellow.hover { - background-position: -24px 0; - } - .icheckbox_square-yellow.checked { - background-position: -48px 0; - } - .icheckbox_square-yellow.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-yellow.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-yellow { - background-position: -120px 0; -} - .iradio_square-yellow.hover { - background-position: -144px 0; - } - .iradio_square-yellow.checked { - background-position: -168px 0; - } - .iradio_square-yellow.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-yellow.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-yellow, - .iradio_square-yellow { - background-image: url(yellow@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* pink */ -.icheckbox_square-pink, -.iradio_square-pink { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(pink.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-pink { - background-position: 0 0; -} - .icheckbox_square-pink.hover { - background-position: -24px 0; - } - .icheckbox_square-pink.checked { - background-position: -48px 0; - } - .icheckbox_square-pink.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-pink.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-pink { - background-position: -120px 0; -} - .iradio_square-pink.hover { - background-position: -144px 0; - } - .iradio_square-pink.checked { - background-position: -168px 0; - } - .iradio_square-pink.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-pink.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-pink, - .iradio_square-pink { - background-image: url(pink@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} - -/* purple */ -.icheckbox_square-purple, -.iradio_square-purple { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(purple.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-purple { - background-position: 0 0; -} - .icheckbox_square-purple.hover { - background-position: -24px 0; - } - .icheckbox_square-purple.checked { - background-position: -48px 0; - } - .icheckbox_square-purple.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-purple.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-purple { - background-position: -120px 0; -} - .iradio_square-purple.hover { - background-position: -144px 0; - } - .iradio_square-purple.checked { - background-position: -168px 0; - } - .iradio_square-purple.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-purple.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-purple, - .iradio_square-purple { - background-image: url(purple@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/aero.css b/public/assets/vendor/icheck/skins/square/aero.css deleted file mode 100644 index e31b3abb..00000000 --- a/public/assets/vendor/icheck/skins/square/aero.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, aero ------------------------------------ */ -.icheckbox_square-aero, -.iradio_square-aero { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(aero.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-aero { - background-position: 0 0; -} - .icheckbox_square-aero.hover { - background-position: -24px 0; - } - .icheckbox_square-aero.checked { - background-position: -48px 0; - } - .icheckbox_square-aero.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-aero.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-aero { - background-position: -120px 0; -} - .iradio_square-aero.hover { - background-position: -144px 0; - } - .iradio_square-aero.checked { - background-position: -168px 0; - } - .iradio_square-aero.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-aero.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-aero, - .iradio_square-aero { - background-image: url(aero@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/aero.png b/public/assets/vendor/icheck/skins/square/aero.png deleted file mode 100644 index 1a332e6c..00000000 Binary files a/public/assets/vendor/icheck/skins/square/aero.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/aero@2x.png b/public/assets/vendor/icheck/skins/square/aero@2x.png deleted file mode 100644 index 07c5a022..00000000 Binary files a/public/assets/vendor/icheck/skins/square/aero@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/blue.css b/public/assets/vendor/icheck/skins/square/blue.css deleted file mode 100644 index f8db2ab6..00000000 --- a/public/assets/vendor/icheck/skins/square/blue.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, blue ------------------------------------ */ -.icheckbox_square-blue, -.iradio_square-blue { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(blue.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-blue { - background-position: 0 0; -} - .icheckbox_square-blue.hover { - background-position: -24px 0; - } - .icheckbox_square-blue.checked { - background-position: -48px 0; - } - .icheckbox_square-blue.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-blue.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-blue { - background-position: -120px 0; -} - .iradio_square-blue.hover { - background-position: -144px 0; - } - .iradio_square-blue.checked { - background-position: -168px 0; - } - .iradio_square-blue.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-blue.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-blue, - .iradio_square-blue { - background-image: url(blue@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/blue.png b/public/assets/vendor/icheck/skins/square/blue.png deleted file mode 100644 index a3e040fc..00000000 Binary files a/public/assets/vendor/icheck/skins/square/blue.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/blue@2x.png b/public/assets/vendor/icheck/skins/square/blue@2x.png deleted file mode 100644 index 8fdea12f..00000000 Binary files a/public/assets/vendor/icheck/skins/square/blue@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/green.css b/public/assets/vendor/icheck/skins/square/green.css deleted file mode 100644 index 23f149bd..00000000 --- a/public/assets/vendor/icheck/skins/square/green.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, green ------------------------------------ */ -.icheckbox_square-green, -.iradio_square-green { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(green.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-green { - background-position: 0 0; -} - .icheckbox_square-green.hover { - background-position: -24px 0; - } - .icheckbox_square-green.checked { - background-position: -48px 0; - } - .icheckbox_square-green.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-green.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-green { - background-position: -120px 0; -} - .iradio_square-green.hover { - background-position: -144px 0; - } - .iradio_square-green.checked { - background-position: -168px 0; - } - .iradio_square-green.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-green.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-green, - .iradio_square-green { - background-image: url(green@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/green.png b/public/assets/vendor/icheck/skins/square/green.png deleted file mode 100644 index 465824e7..00000000 Binary files a/public/assets/vendor/icheck/skins/square/green.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/green@2x.png b/public/assets/vendor/icheck/skins/square/green@2x.png deleted file mode 100644 index 784e8747..00000000 Binary files a/public/assets/vendor/icheck/skins/square/green@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/grey.css b/public/assets/vendor/icheck/skins/square/grey.css deleted file mode 100644 index 909db1ab..00000000 --- a/public/assets/vendor/icheck/skins/square/grey.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, grey ------------------------------------ */ -.icheckbox_square-grey, -.iradio_square-grey { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(grey.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-grey { - background-position: 0 0; -} - .icheckbox_square-grey.hover { - background-position: -24px 0; - } - .icheckbox_square-grey.checked { - background-position: -48px 0; - } - .icheckbox_square-grey.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-grey.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-grey { - background-position: -120px 0; -} - .iradio_square-grey.hover { - background-position: -144px 0; - } - .iradio_square-grey.checked { - background-position: -168px 0; - } - .iradio_square-grey.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-grey.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-grey, - .iradio_square-grey { - background-image: url(grey@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/grey.png b/public/assets/vendor/icheck/skins/square/grey.png deleted file mode 100644 index f6937585..00000000 Binary files a/public/assets/vendor/icheck/skins/square/grey.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/grey@2x.png b/public/assets/vendor/icheck/skins/square/grey@2x.png deleted file mode 100644 index 5d6341c0..00000000 Binary files a/public/assets/vendor/icheck/skins/square/grey@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/orange.css b/public/assets/vendor/icheck/skins/square/orange.css deleted file mode 100644 index c6e5892d..00000000 --- a/public/assets/vendor/icheck/skins/square/orange.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, orange ------------------------------------ */ -.icheckbox_square-orange, -.iradio_square-orange { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(orange.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-orange { - background-position: 0 0; -} - .icheckbox_square-orange.hover { - background-position: -24px 0; - } - .icheckbox_square-orange.checked { - background-position: -48px 0; - } - .icheckbox_square-orange.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-orange.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-orange { - background-position: -120px 0; -} - .iradio_square-orange.hover { - background-position: -144px 0; - } - .iradio_square-orange.checked { - background-position: -168px 0; - } - .iradio_square-orange.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-orange.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-orange, - .iradio_square-orange { - background-image: url(orange@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/orange.png b/public/assets/vendor/icheck/skins/square/orange.png deleted file mode 100644 index 84608500..00000000 Binary files a/public/assets/vendor/icheck/skins/square/orange.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/orange@2x.png b/public/assets/vendor/icheck/skins/square/orange@2x.png deleted file mode 100644 index b1f23197..00000000 Binary files a/public/assets/vendor/icheck/skins/square/orange@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/pink.css b/public/assets/vendor/icheck/skins/square/pink.css deleted file mode 100644 index bdab9c79..00000000 --- a/public/assets/vendor/icheck/skins/square/pink.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, pink ------------------------------------ */ -.icheckbox_square-pink, -.iradio_square-pink { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(pink.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-pink { - background-position: 0 0; -} - .icheckbox_square-pink.hover { - background-position: -24px 0; - } - .icheckbox_square-pink.checked { - background-position: -48px 0; - } - .icheckbox_square-pink.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-pink.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-pink { - background-position: -120px 0; -} - .iradio_square-pink.hover { - background-position: -144px 0; - } - .iradio_square-pink.checked { - background-position: -168px 0; - } - .iradio_square-pink.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-pink.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-pink, - .iradio_square-pink { - background-image: url(pink@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/pink.png b/public/assets/vendor/icheck/skins/square/pink.png deleted file mode 100644 index 9c8b4e2b..00000000 Binary files a/public/assets/vendor/icheck/skins/square/pink.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/pink@2x.png b/public/assets/vendor/icheck/skins/square/pink@2x.png deleted file mode 100644 index b1f3a6ed..00000000 Binary files a/public/assets/vendor/icheck/skins/square/pink@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/purple.css b/public/assets/vendor/icheck/skins/square/purple.css deleted file mode 100644 index 4c291b41..00000000 --- a/public/assets/vendor/icheck/skins/square/purple.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, purple ------------------------------------ */ -.icheckbox_square-purple, -.iradio_square-purple { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(purple.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-purple { - background-position: 0 0; -} - .icheckbox_square-purple.hover { - background-position: -24px 0; - } - .icheckbox_square-purple.checked { - background-position: -48px 0; - } - .icheckbox_square-purple.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-purple.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-purple { - background-position: -120px 0; -} - .iradio_square-purple.hover { - background-position: -144px 0; - } - .iradio_square-purple.checked { - background-position: -168px 0; - } - .iradio_square-purple.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-purple.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-purple, - .iradio_square-purple { - background-image: url(purple@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/purple.png b/public/assets/vendor/icheck/skins/square/purple.png deleted file mode 100644 index 6bfc16a3..00000000 Binary files a/public/assets/vendor/icheck/skins/square/purple.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/purple@2x.png b/public/assets/vendor/icheck/skins/square/purple@2x.png deleted file mode 100644 index 6d3c8b1a..00000000 Binary files a/public/assets/vendor/icheck/skins/square/purple@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/red.css b/public/assets/vendor/icheck/skins/square/red.css deleted file mode 100644 index 7341bc62..00000000 --- a/public/assets/vendor/icheck/skins/square/red.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, red ------------------------------------ */ -.icheckbox_square-red, -.iradio_square-red { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(red.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-red { - background-position: 0 0; -} - .icheckbox_square-red.hover { - background-position: -24px 0; - } - .icheckbox_square-red.checked { - background-position: -48px 0; - } - .icheckbox_square-red.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-red.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-red { - background-position: -120px 0; -} - .iradio_square-red.hover { - background-position: -144px 0; - } - .iradio_square-red.checked { - background-position: -168px 0; - } - .iradio_square-red.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-red.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-red, - .iradio_square-red { - background-image: url(red@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/red.png b/public/assets/vendor/icheck/skins/square/red.png deleted file mode 100644 index 749675a9..00000000 Binary files a/public/assets/vendor/icheck/skins/square/red.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/red@2x.png b/public/assets/vendor/icheck/skins/square/red@2x.png deleted file mode 100644 index c05700a5..00000000 Binary files a/public/assets/vendor/icheck/skins/square/red@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/square.css b/public/assets/vendor/icheck/skins/square/square.css deleted file mode 100644 index fb628f91..00000000 --- a/public/assets/vendor/icheck/skins/square/square.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, black ------------------------------------ */ -.icheckbox_square, -.iradio_square { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(square.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square { - background-position: 0 0; -} - .icheckbox_square.hover { - background-position: -24px 0; - } - .icheckbox_square.checked { - background-position: -48px 0; - } - .icheckbox_square.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square.checked.disabled { - background-position: -96px 0; - } - -.iradio_square { - background-position: -120px 0; -} - .iradio_square.hover { - background-position: -144px 0; - } - .iradio_square.checked { - background-position: -168px 0; - } - .iradio_square.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square, - .iradio_square { - background-image: url(square@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/square.png b/public/assets/vendor/icheck/skins/square/square.png deleted file mode 100644 index 2a3c8811..00000000 Binary files a/public/assets/vendor/icheck/skins/square/square.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/square@2x.png b/public/assets/vendor/icheck/skins/square/square@2x.png deleted file mode 100644 index 9b56c448..00000000 Binary files a/public/assets/vendor/icheck/skins/square/square@2x.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/yellow.css b/public/assets/vendor/icheck/skins/square/yellow.css deleted file mode 100644 index 23b11231..00000000 --- a/public/assets/vendor/icheck/skins/square/yellow.css +++ /dev/null @@ -1,59 +0,0 @@ -/* iCheck plugin Square skin, yellow ------------------------------------ */ -.icheckbox_square-yellow, -.iradio_square-yellow { - display: inline-block; - *display: inline; - vertical-align: middle; - margin: 0; - padding: 0; - width: 22px; - height: 22px; - background: url(yellow.png) no-repeat; - border: none; - cursor: pointer; -} - -.icheckbox_square-yellow { - background-position: 0 0; -} - .icheckbox_square-yellow.hover { - background-position: -24px 0; - } - .icheckbox_square-yellow.checked { - background-position: -48px 0; - } - .icheckbox_square-yellow.disabled { - background-position: -72px 0; - cursor: default; - } - .icheckbox_square-yellow.checked.disabled { - background-position: -96px 0; - } - -.iradio_square-yellow { - background-position: -120px 0; -} - .iradio_square-yellow.hover { - background-position: -144px 0; - } - .iradio_square-yellow.checked { - background-position: -168px 0; - } - .iradio_square-yellow.disabled { - background-position: -192px 0; - cursor: default; - } - .iradio_square-yellow.checked.disabled { - background-position: -216px 0; - } - -/* HiDPI support */ -@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { - .icheckbox_square-yellow, - .iradio_square-yellow { - background-image: url(yellow@2x.png); - -webkit-background-size: 240px 24px; - background-size: 240px 24px; - } -} \ No newline at end of file diff --git a/public/assets/vendor/icheck/skins/square/yellow.png b/public/assets/vendor/icheck/skins/square/yellow.png deleted file mode 100644 index b6c03309..00000000 Binary files a/public/assets/vendor/icheck/skins/square/yellow.png and /dev/null differ diff --git a/public/assets/vendor/icheck/skins/square/yellow@2x.png b/public/assets/vendor/icheck/skins/square/yellow@2x.png deleted file mode 100644 index 6b8e328e..00000000 Binary files a/public/assets/vendor/icheck/skins/square/yellow@2x.png and /dev/null differ diff --git a/public/assets/vendor/leaflet-plugins/leaflet.geodesic.js b/public/assets/vendor/leaflet-plugins/leaflet.geodesic.js deleted file mode 100644 index 63aa176f..00000000 --- a/public/assets/vendor/leaflet-plugins/leaflet.geodesic.js +++ /dev/null @@ -1,547 +0,0 @@ -"use strict"; - -// This file is part of Leaflet.Geodesic. -// Copyright (C) 2017 Henry Thasler -// based on code by Chris Veness Copyright (C) 2014 https://github.com/chrisveness/geodesy -// -// Leaflet.Geodesic is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Leaflet.Geodesic is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Leaflet.Geodesic. If not, see . - - -/** Extend Number object with method to convert numeric degrees to radians */ -if (typeof Number.prototype.toRadians === "undefined") { - Number.prototype.toRadians = function () { - return this * Math.PI / 180 - } -} - -/** Extend Number object with method to convert radians to numeric (signed) degrees */ -if (typeof Number.prototype.toDegrees === "undefined") { - Number.prototype.toDegrees = function () { - return this * 180 / Math.PI - } -} - -const INTERSECT_LNG = 179.999 // Lng used for intersection and wrap around on map edges - -L.Geodesic = L.Polyline.extend({ - options: { - color: "blue", - steps: 10, - dash: 1, - wrap: true - }, - - initialize: function (latlngs, options) { - this.options = this._merge_options(this.options, options) - this.datum = {} - this.datum.ellipsoid = { - a: 6378137, - b: 6356752.3142, - f: 1 / 298.257223563 - } // WGS-84 - this._latlngs = (this.options.dash < 1) ? this._generate_GeodesicDashed( - latlngs) : this._generate_Geodesic(latlngs) - L.Polyline.prototype.initialize.call(this, this._latlngs, this.options) - }, - - setLatLngs: function (latlngs) { - this._latlngs = (this.options.dash < 1) ? this._generate_GeodesicDashed( - latlngs) : this._generate_Geodesic(latlngs) - L.Polyline.prototype.setLatLngs.call(this, this._latlngs) - }, - - /** - * Calculates some statistic values of current geodesic multipolyline - * @returns (Object} Object with several properties (e.g. overall distance) - */ - getStats: function () { - let obj = { - distance: 0, - points: 0, - polygons: this._latlngs.length - }, - poly, points - - for (poly = 0; poly < this._latlngs.length; poly++) { - obj.points += this._latlngs[poly].length - for (points = 0; points < (this._latlngs[poly].length - 1); points++) { - obj.distance += this._vincenty_inverse(this._latlngs[poly][points], - this._latlngs[poly][points + 1]).distance - } - } - return obj - }, - - - /** - * Creates geodesic lines from geoJson. Replaces all current features of this instance. - * Supports LineString, MultiLineString and Polygon - * @param {Object} geojson - geosjon as object. - */ - geoJson: function (geojson) { - - let normalized = L.GeoJSON.asFeature(geojson) - let features = normalized.type === "FeatureCollection" ? normalized.features : [ - normalized - ] - this._latlngs = [] - for (let feature of features) { - let geometry = feature.type === "Feature" ? feature.geometry : - feature, - coords = geometry.coordinates - - switch (geometry.type) { - case "LineString": - this._latlngs.push(this._generate_Geodesic([L.GeoJSON.coordsToLatLngs( - coords, 0)])) - break - case "MultiLineString": - case "Polygon": - this._latlngs.push(this._generate_Geodesic(L.GeoJSON.coordsToLatLngs( - coords, 1))) - break - case "Point": - case "MultiPoint": - console.log("Dude, points can't be drawn as geodesic lines...") - break - default: - console.log("Drawing " + geometry.type + - " as a geodesic is not supported. Skipping...") - } - } - L.Polyline.prototype.setLatLngs.call(this, this._latlngs) - }, - - /** - * Creates a great circle. Replaces all current lines. - * @param {Object} center - geographic position - * @param {number} radius - radius of the circle in metres - */ - createCircle: function (center, radius) { - let polylineIndex = 0 - let prev = { - lat: 0, - lng: 0, - brg: 0 - } - let step - - this._latlngs = [] - this._latlngs[polylineIndex] = [] - - let direct = this._vincenty_direct(L.latLng(center), 0, radius, this.options - .wrap) - prev = L.latLng(direct.lat, direct.lng) - this._latlngs[polylineIndex].push(prev) - for (step = 1; step <= this.options.steps;) { - direct = this._vincenty_direct(L.latLng(center), 360 / this.options - .steps * step, radius, this.options.wrap) - let gp = L.latLng(direct.lat, direct.lng) - if (Math.abs(gp.lng - prev.lng) > 180) { - let inverse = this._vincenty_inverse(prev, gp) - let sec = this._intersection(prev, inverse.initialBearing, { - lat: -89, - lng: ((gp.lng - prev.lng) > 0) ? -INTERSECT_LNG : INTERSECT_LNG - }, 0) - if (sec) { - this._latlngs[polylineIndex].push(L.latLng(sec.lat, sec.lng)) - polylineIndex++ - this._latlngs[polylineIndex] = [] - prev = L.latLng(sec.lat, -sec.lng) - this._latlngs[polylineIndex].push(prev) - } else { - polylineIndex++ - this._latlngs[polylineIndex] = [] - this._latlngs[polylineIndex].push(gp) - prev = gp - step++ - } - } else { - this._latlngs[polylineIndex].push(gp) - prev = gp - step++ - } - } - - L.Polyline.prototype.setLatLngs.call(this, this._latlngs) - }, - - /** - * Creates a geodesic Polyline from given coordinates - * @param {Object} latlngs - One or more polylines as an array. See Leaflet doc about Polyline - * @returns (Object} An array of arrays of geographical points. - */ - _generate_Geodesic: function (latlngs) { - let _geo = [], - _geocnt = 0, - s, poly, points, pointA, pointB - - for (poly = 0; poly < latlngs.length; poly++) { - _geo[_geocnt] = [] - for (points = 0; points < (latlngs[poly].length - 1); points++) { - pointA = L.latLng(latlngs[poly][points]) - pointB = L.latLng(latlngs[poly][points + 1]) - if (pointA.equals(pointB)) { - continue; - } - let inverse = this._vincenty_inverse(pointA, pointB) - let prev = pointA - _geo[_geocnt].push(prev) - for (s = 1; s <= this.options.steps;) { - let direct = this._vincenty_direct(pointA, inverse.initialBearing, - inverse.distance / this.options.steps * s, this.options.wrap - ) - let gp = L.latLng(direct.lat, direct.lng) - if (Math.abs(gp.lng - prev.lng) > 180) { - let sec = this._intersection(pointA, inverse.initialBearing, { - lat: -89, - lng: ((gp.lng - prev.lng) > 0) ? -INTERSECT_LNG : INTERSECT_LNG - }, 0) - if (sec) { - _geo[_geocnt].push(L.latLng(sec.lat, sec.lng)) - _geocnt++ - _geo[_geocnt] = [] - prev = L.latLng(sec.lat, -sec.lng) - _geo[_geocnt].push(prev) - } else { - _geocnt++ - _geo[_geocnt] = [] - _geo[_geocnt].push(gp) - prev = gp - s++ - } - } else { - _geo[_geocnt].push(gp) - prev = gp - s++ - } - } - } - _geocnt++ - } - return _geo - }, - - - /** - * Creates a dashed geodesic Polyline from given coordinates - under work - * @param {Object} latlngs - One or more polylines as an array. See Leaflet doc about Polyline - * @returns (Object} An array of arrays of geographical points. - */ - _generate_GeodesicDashed: function (latlngs) { - let _geo = [], - _geocnt = 0, - s, poly, points - // _geo = latlngs; // bypass - - for (poly = 0; poly < latlngs.length; poly++) { - _geo[_geocnt] = [] - for (points = 0; points < (latlngs[poly].length - 1); points++) { - let inverse = this._vincenty_inverse(L.latLng(latlngs[poly][ - points - ]), L.latLng(latlngs[poly][points + 1])) - let prev = L.latLng(latlngs[poly][points]) - _geo[_geocnt].push(prev) - for (s = 1; s <= this.options.steps;) { - let direct = this._vincenty_direct(L.latLng(latlngs[poly][ - points - ]), inverse.initialBearing, inverse.distance / this.options - .steps * s - inverse.distance / this.options.steps * (1 - - this.options.dash), this.options.wrap) - let gp = L.latLng(direct.lat, direct.lng) - if (Math.abs(gp.lng - prev.lng) > 180) { - let sec = this._intersection(L.latLng(latlngs[poly][points]), - inverse.initialBearing, { - lat: -89, - lng: ((gp.lng - prev.lng) > 0) ? -INTERSECT_LNG : INTERSECT_LNG - }, 0) - if (sec) { - _geo[_geocnt].push(L.latLng(sec.lat, sec.lng)) - _geocnt++ - _geo[_geocnt] = [] - prev = L.latLng(sec.lat, -sec.lng) - _geo[_geocnt].push(prev) - } else { - _geocnt++ - _geo[_geocnt] = [] - _geo[_geocnt].push(gp) - prev = gp - s++ - } - } else { - _geo[_geocnt].push(gp) - _geocnt++ - let direct2 = this._vincenty_direct(L.latLng(latlngs[poly][ - points - ]), inverse.initialBearing, inverse.distance / this.options - .steps * s, this.options.wrap) - _geo[_geocnt] = [] - _geo[_geocnt].push(L.latLng(direct2.lat, direct2.lng)) - s++ - } - } - } - _geocnt++ - } - return _geo - }, - - - /** - * Vincenty direct calculation. - * based on the work of Chris Veness (https://github.com/chrisveness/geodesy) - * - * @private - * @param {number} initialBearing - Initial bearing in degrees from north. - * @param {number} distance - Distance along bearing in metres. - * @returns (Object} Object including point (destination point), finalBearing. - */ - - _vincenty_direct: function (p1, initialBearing, distance, wrap) { - var φ1 = p1.lat.toRadians(), - λ1 = p1.lng.toRadians(); - var α1 = initialBearing.toRadians(); - var s = distance; - - var a = this.datum.ellipsoid.a, - b = this.datum.ellipsoid.b, - f = this.datum.ellipsoid.f; - - var sinα1 = Math.sin(α1); - var cosα1 = Math.cos(α1); - - var tanU1 = (1 - f) * Math.tan(φ1), - cosU1 = 1 / Math.sqrt((1 + tanU1 * tanU1)), - sinU1 = tanU1 * cosU1; - var σ1 = Math.atan2(tanU1, cosα1); - var sinα = cosU1 * sinα1; - var cosSqα = 1 - sinα * sinα; - var uSq = cosSqα * (a * a - b * b) / (b * b); - var A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * - uSq))); - var B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))); - - var σ = s / (b * A), - σʹ, iterations = 0; - do { - var cos2σM = Math.cos(2 * σ1 + σ); - var sinσ = Math.sin(σ); - var cosσ = Math.cos(σ); - var Δσ = B * sinσ * (cos2σM + B / 4 * (cosσ * (-1 + 2 * cos2σM * - cos2σM) - - B / 6 * cos2σM * (-3 + 4 * sinσ * sinσ) * (-3 + 4 * cos2σM * - cos2σM))); - σʹ = σ; - σ = s / (b * A) + Δσ; - } while (Math.abs(σ - σʹ) > 1e-12 && ++iterations); - - var x = sinU1 * sinσ - cosU1 * cosσ * cosα1; - var φ2 = Math.atan2(sinU1 * cosσ + cosU1 * sinσ * cosα1, (1 - f) * - Math.sqrt(sinα * sinα + x * x)); - var λ = Math.atan2(sinσ * sinα1, cosU1 * cosσ - sinU1 * sinσ * cosα1); - var C = f / 16 * cosSqα * (4 + f * (4 - 3 * cosSqα)); - var L = λ - (1 - C) * f * sinα * - (σ + C * sinσ * (cos2σM + C * cosσ * (-1 + 2 * cos2σM * cos2σM))); - - if (wrap) - var λ2 = (λ1 + L + 3 * Math.PI) % (2 * Math.PI) - Math.PI; // normalise to -180...+180 - else - var λ2 = (λ1 + L); // do not normalize - - var revAz = Math.atan2(sinα, -x); - - return { - lat: φ2.toDegrees(), - lng: λ2.toDegrees(), - finalBearing: revAz.toDegrees() - }; - }, - - /** - * Vincenty inverse calculation. - * based on the work of Chris Veness (https://github.com/chrisveness/geodesy) - * - * @private - * @param {LatLng} p1 - Latitude/longitude of start point. - * @param {LatLng} p2 - Latitude/longitude of destination point. - * @returns {Object} Object including distance, initialBearing, finalBearing. - * @throws {Error} If formula failed to converge. - */ - _vincenty_inverse: function (p1, p2) { - var φ1 = p1.lat.toRadians(), - λ1 = p1.lng.toRadians(); - var φ2 = p2.lat.toRadians(), - λ2 = p2.lng.toRadians(); - - var a = this.datum.ellipsoid.a, - b = this.datum.ellipsoid.b, - f = this.datum.ellipsoid.f; - - var L = λ2 - λ1; - var tanU1 = (1 - f) * Math.tan(φ1), - cosU1 = 1 / Math.sqrt((1 + tanU1 * tanU1)), - sinU1 = tanU1 * cosU1; - var tanU2 = (1 - f) * Math.tan(φ2), - cosU2 = 1 / Math.sqrt((1 + tanU2 * tanU2)), - sinU2 = tanU2 * cosU2; - - var λ = L, - λʹ, iterations = 0; - do { - var sinλ = Math.sin(λ), - cosλ = Math.cos(λ); - var sinSqσ = (cosU2 * sinλ) * (cosU2 * sinλ) + (cosU1 * sinU2 - - sinU1 * cosU2 * cosλ) * (cosU1 * sinU2 - sinU1 * cosU2 * cosλ); - var sinσ = Math.sqrt(sinSqσ); - if (sinσ == 0) return 0; // co-incident points - var cosσ = sinU1 * sinU2 + cosU1 * cosU2 * cosλ; - var σ = Math.atan2(sinσ, cosσ); - var sinα = cosU1 * cosU2 * sinλ / sinσ; - var cosSqα = 1 - sinα * sinα; - var cos2σM = cosσ - 2 * sinU1 * sinU2 / cosSqα; - if (isNaN(cos2σM)) cos2σM = 0; // equatorial line: cosSqα=0 (§6) - var C = f / 16 * cosSqα * (4 + f * (4 - 3 * cosSqα)); - λʹ = λ; - λ = L + (1 - C) * f * sinα * (σ + C * sinσ * (cos2σM + C * cosσ * (- - 1 + 2 * cos2σM * cos2σM))); - } while (Math.abs(λ - λʹ) > 1e-12 && ++iterations < 100); - if (iterations >= 100) { - console.log("Formula failed to converge. Altering target position.") - return this._vincenty_inverse(p1, { - lat: p2.lat, - lng: p2.lng - 0.01 - }) - // throw new Error('Formula failed to converge'); - } - - var uSq = cosSqα * (a * a - b * b) / (b * b); - var A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * - uSq))); - var B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))); - var Δσ = B * sinσ * (cos2σM + B / 4 * (cosσ * (-1 + 2 * cos2σM * - cos2σM) - - B / 6 * cos2σM * (-3 + 4 * sinσ * sinσ) * (-3 + 4 * cos2σM * - cos2σM))); - - var s = b * A * (σ - Δσ); - - var fwdAz = Math.atan2(cosU2 * sinλ, cosU1 * sinU2 - sinU1 * cosU2 * - cosλ); - var revAz = Math.atan2(cosU1 * sinλ, -sinU1 * cosU2 + cosU1 * sinU2 * - cosλ); - - s = Number(s.toFixed(3)); // round to 1mm precision - return { - distance: s, - initialBearing: fwdAz.toDegrees(), - finalBearing: revAz.toDegrees() - }; - }, - - - /** - * Returns the point of intersection of two paths defined by point and bearing. - * based on the work of Chris Veness (https://github.com/chrisveness/geodesy) - * - * @param {LatLon} p1 - First point. - * @param {number} brng1 - Initial bearing from first point. - * @param {LatLon} p2 - Second point. - * @param {number} brng2 - Initial bearing from second point. - * @returns {Object} containing lat/lng information of intersection. - * - * @example - * var p1 = LatLon(51.8853, 0.2545), brng1 = 108.55; - * var p2 = LatLon(49.0034, 2.5735), brng2 = 32.44; - * var pInt = LatLon.intersection(p1, brng1, p2, brng2); // pInt.toString(): 50.9078°N, 4.5084°E - */ - _intersection: function (p1, brng1, p2, brng2) { - // see http://williams.best.vwh.net/avform.htm#Intersection - - var φ1 = p1.lat.toRadians(), - λ1 = p1.lng.toRadians(); - var φ2 = p2.lat.toRadians(), - λ2 = p2.lng.toRadians(); - var θ13 = Number(brng1).toRadians(), - θ23 = Number(brng2).toRadians(); - var Δφ = φ2 - φ1, - Δλ = λ2 - λ1; - - var δ12 = 2 * Math.asin(Math.sqrt(Math.sin(Δφ / 2) * Math.sin(Δφ / 2) + - Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ / 2) * Math.sin(Δλ / - 2))); - if (δ12 == 0) return null; - - // initial/final bearings between points - var θ1 = Math.acos((Math.sin(φ2) - Math.sin(φ1) * Math.cos(δ12)) / - (Math.sin(δ12) * Math.cos(φ1))); - if (isNaN(θ1)) θ1 = 0; // protect against rounding - var θ2 = Math.acos((Math.sin(φ1) - Math.sin(φ2) * Math.cos(δ12)) / - (Math.sin(δ12) * Math.cos(φ2))); - - if (Math.sin(λ2 - λ1) > 0) { - var θ12 = θ1; - var θ21 = 2 * Math.PI - θ2; - } else { - var θ12 = 2 * Math.PI - θ1; - var θ21 = θ2; - } - - var α1 = (θ13 - θ12 + Math.PI) % (2 * Math.PI) - Math.PI; // angle 2-1-3 - var α2 = (θ21 - θ23 + Math.PI) % (2 * Math.PI) - Math.PI; // angle 1-2-3 - - if (Math.sin(α1) == 0 && Math.sin(α2) == 0) return null; // infinite intersections - if (Math.sin(α1) * Math.sin(α2) < 0) return null; // ambiguous intersection - - //α1 = Math.abs(α1); - //α2 = Math.abs(α2); - // ... Ed Williams takes abs of α1/α2, but seems to break calculation? - - var α3 = Math.acos(-Math.cos(α1) * Math.cos(α2) + - Math.sin(α1) * Math.sin(α2) * Math.cos(δ12)); - var δ13 = Math.atan2(Math.sin(δ12) * Math.sin(α1) * Math.sin(α2), - Math.cos(α2) + Math.cos(α1) * Math.cos(α3)) - var φ3 = Math.asin(Math.sin(φ1) * Math.cos(δ13) + - Math.cos(φ1) * Math.sin(δ13) * Math.cos(θ13)); - var Δλ13 = Math.atan2(Math.sin(θ13) * Math.sin(δ13) * Math.cos(φ1), - Math.cos(δ13) - Math.sin(φ1) * Math.sin(φ3)); - var λ3 = λ1 + Δλ13; - λ3 = (λ3 + 3 * Math.PI) % (2 * Math.PI) - Math.PI; // normalise to -180..+180º - - return { - lat: φ3.toDegrees(), - lng: λ3.toDegrees() - }; - }, - - /** - * Overwrites obj1's values with obj2's and adds obj2's if non existent in obj1 - * @param obj1 - * @param obj2 - * @returns obj3 a new object based on obj1 and obj2 - */ - _merge_options: function (obj1, obj2) { - let obj3 = {}; - for (let attrname in obj1) { - obj3[attrname] = obj1[attrname]; - } - for (let attrname in obj2) { - obj3[attrname] = obj2[attrname]; - } - return obj3; - } -}); - -L.geodesic = function (latlngs, options) { - return new L.Geodesic(latlngs, options); -}; diff --git a/public/assets/vendor/leaflet-plugins/leaflet.rotatedMarker.js b/public/assets/vendor/leaflet-plugins/leaflet.rotatedMarker.js deleted file mode 100644 index 6a53d656..00000000 --- a/public/assets/vendor/leaflet-plugins/leaflet.rotatedMarker.js +++ /dev/null @@ -1,59 +0,0 @@ -(function () { - // save these original methods before they are overwritten - var proto_initIcon = L.Marker.prototype._initIcon; - var proto_setPos = L.Marker.prototype._setPos; - - var oldIE = (L.DomUtil.TRANSFORM === 'msTransform'); - - L.Marker.addInitHook(function () { - var iconOptions = this.options.icon && this.options.icon.options; - var iconAnchor = iconOptions && this.options.icon.options.iconAnchor; - if (iconAnchor) { - iconAnchor = (iconAnchor[0] + 'px ' + iconAnchor[1] + 'px'); - } - this.options.rotationOrigin = this.options.rotationOrigin || iconAnchor || 'center bottom'; - this.options.rotationAngle = this.options.rotationAngle || 0; - - // Ensure marker keeps rotated during dragging - this.on('drag', function (e) { - e.target._applyRotation(); - }); - }); - - L.Marker.include({ - _initIcon: function () { - proto_initIcon.call(this); - }, - - _setPos: function (pos) { - proto_setPos.call(this, pos); - this._applyRotation(); - }, - - _applyRotation: function () { - if (this.options.rotationAngle) { - this._icon.style[L.DomUtil.TRANSFORM + 'Origin'] = this.options.rotationOrigin; - - if (oldIE) { - // for IE 9, use the 2D rotation - this._icon.style[L.DomUtil.TRANSFORM] = 'rotate(' + this.options.rotationAngle + 'deg)'; - } else { - // for modern browsers, prefer the 3D accelerated version - this._icon.style[L.DomUtil.TRANSFORM] += ' rotateZ(' + this.options.rotationAngle + 'deg)'; - } - } - }, - - setRotationAngle: function (angle) { - this.options.rotationAngle = angle; - this.update(); - return this; - }, - - setRotationOrigin: function (origin) { - this.options.rotationOrigin = origin; - this.update(); - return this; - } - }); -})(); diff --git a/public/assets/vendor/pjax/jquery.pjax.js b/public/assets/vendor/pjax/jquery.pjax.js deleted file mode 100644 index d57269d4..00000000 --- a/public/assets/vendor/pjax/jquery.pjax.js +++ /dev/null @@ -1,903 +0,0 @@ -/*! - * Copyright 2012, Chris Wanstrath - * Released under the MIT License - * https://github.com/defunkt/jquery-pjax - */ - -(function($){ - -// When called on a container with a selector, fetches the href with -// ajax into the container or with the data-pjax attribute on the link -// itself. -// -// Tries to make sure the back button and ctrl+click work the way -// you'd expect. -// -// Exported as $.fn.pjax -// -// Accepts a jQuery ajax options object that may include these -// pjax specific options: -// -// -// container - String selector for the element where to place the response body. -// push - Whether to pushState the URL. Defaults to true (of course). -// replace - Want to use replaceState instead? That's cool. -// -// For convenience the second parameter can be either the container or -// the options object. -// -// Returns the jQuery object -function fnPjax(selector, container, options) { - options = optionsFor(container, options) - return this.on('click.pjax', selector, function(event) { - var opts = options - if (!opts.container) { - opts = $.extend({}, options) - opts.container = $(this).attr('data-pjax') - } - handleClick(event, opts) - }) -} - -// Public: pjax on click handler -// -// Exported as $.pjax.click. -// -// event - "click" jQuery.Event -// options - pjax options -// -// Examples -// -// $(document).on('click', 'a', $.pjax.click) -// // is the same as -// $(document).pjax('a') -// -// Returns nothing. -function handleClick(event, container, options) { - options = optionsFor(container, options) - - var link = event.currentTarget - var $link = $(link) - - if (link.tagName.toUpperCase() !== 'A') - throw "$.fn.pjax or $.pjax.click requires an anchor element" - - // Middle click, cmd click, and ctrl click should open - // links in a new tab as normal. - if ( event.which > 1 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey ) - return - - // Ignore cross origin links - if ( location.protocol !== link.protocol || location.hostname !== link.hostname ) - return - - // Ignore case when a hash is being tacked on the current URL - if ( link.href.indexOf('#') > -1 && stripHash(link) == stripHash(location) ) - return - - // Ignore event with default prevented - if (event.isDefaultPrevented()) - return - - var defaults = { - url: link.href, - container: $link.attr('data-pjax'), - target: link - } - - var opts = $.extend({}, defaults, options) - var clickEvent = $.Event('pjax:click') - $link.trigger(clickEvent, [opts]) - - if (!clickEvent.isDefaultPrevented()) { - pjax(opts) - event.preventDefault() - $link.trigger('pjax:clicked', [opts]) - } -} - -// Public: pjax on form submit handler -// -// Exported as $.pjax.submit -// -// event - "click" jQuery.Event -// options - pjax options -// -// Examples -// -// $(document).on('submit', 'form', function(event) { -// $.pjax.submit(event, '[data-pjax-container]') -// }) -// -// Returns nothing. -function handleSubmit(event, container, options) { - options = optionsFor(container, options) - - var form = event.currentTarget - var $form = $(form) - - if (form.tagName.toUpperCase() !== 'FORM') - throw "$.pjax.submit requires a form element" - - var defaults = { - type: ($form.attr('method') || 'GET').toUpperCase(), - url: $form.attr('action'), - container: $form.attr('data-pjax'), - target: form - } - - if (defaults.type !== 'GET' && window.FormData !== undefined) { - defaults.data = new FormData(form) - defaults.processData = false - defaults.contentType = false - } else { - // Can't handle file uploads, exit - if ($form.find(':file').length) { - return - } - - // Fallback to manually serializing the fields - defaults.data = $form.serializeArray() - } - - pjax($.extend({}, defaults, options)) - - event.preventDefault() -} - -// Loads a URL with ajax, puts the response body inside a container, -// then pushState()'s the loaded URL. -// -// Works just like $.ajax in that it accepts a jQuery ajax -// settings object (with keys like url, type, data, etc). -// -// Accepts these extra keys: -// -// container - String selector for where to stick the response body. -// push - Whether to pushState the URL. Defaults to true (of course). -// replace - Want to use replaceState instead? That's cool. -// -// Use it just like $.ajax: -// -// var xhr = $.pjax({ url: this.href, container: '#main' }) -// console.log( xhr.readyState ) -// -// Returns whatever $.ajax returns. -function pjax(options) { - options = $.extend(true, {}, $.ajaxSettings, pjax.defaults, options) - - if ($.isFunction(options.url)) { - options.url = options.url() - } - - var hash = parseURL(options.url).hash - - var containerType = $.type(options.container) - if (containerType !== 'string') { - throw "expected string value for 'container' option; got " + containerType - } - var context = options.context = $(options.container) - if (!context.length) { - throw "the container selector '" + options.container + "' did not match anything" - } - - // We want the browser to maintain two separate internal caches: one - // for pjax'd partial page loads and one for normal page loads. - // Without adding this secret parameter, some browsers will often - // confuse the two. - if (!options.data) options.data = {} - if ($.isArray(options.data)) { - options.data.push({name: '_pjax', value: options.container}) - } else { - options.data._pjax = options.container - } - - function fire(type, args, props) { - if (!props) props = {} - props.relatedTarget = options.target - var event = $.Event(type, props) - context.trigger(event, args) - return !event.isDefaultPrevented() - } - - var timeoutTimer - - options.beforeSend = function(xhr, settings) { - // No timeout for non-GET requests - // Its not safe to request the resource again with a fallback method. - if (settings.type !== 'GET') { - settings.timeout = 0 - } - - xhr.setRequestHeader('X-PJAX', 'true') - xhr.setRequestHeader('X-PJAX-Container', options.container) - - if (!fire('pjax:beforeSend', [xhr, settings])) - return false - - if (settings.timeout > 0) { - timeoutTimer = setTimeout(function() { - if (fire('pjax:timeout', [xhr, options])) - xhr.abort('timeout') - }, settings.timeout) - - // Clear timeout setting so jquerys internal timeout isn't invoked - settings.timeout = 0 - } - - var url = parseURL(settings.url) - if (hash) url.hash = hash - options.requestUrl = stripInternalParams(url) - } - - options.complete = function(xhr, textStatus) { - if (timeoutTimer) - clearTimeout(timeoutTimer) - - fire('pjax:complete', [xhr, textStatus, options]) - - fire('pjax:end', [xhr, options]) - } - - options.error = function(xhr, textStatus, errorThrown) { - var container = extractContainer("", xhr, options) - - var allowed = fire('pjax:error', [xhr, textStatus, errorThrown, options]) - if (options.type == 'GET' && textStatus !== 'abort' && allowed) { - locationReplace(container.url) - } - } - - options.success = function(data, status, xhr) { - var previousState = pjax.state - - // If $.pjax.defaults.version is a function, invoke it first. - // Otherwise it can be a static string. - var currentVersion = typeof $.pjax.defaults.version === 'function' ? - $.pjax.defaults.version() : - $.pjax.defaults.version - - var latestVersion = xhr.getResponseHeader('X-PJAX-Version') - - var container = extractContainer(data, xhr, options) - - var url = parseURL(container.url) - if (hash) { - url.hash = hash - container.url = url.href - } - - // If there is a layout version mismatch, hard load the new url - if (currentVersion && latestVersion && currentVersion !== latestVersion) { - locationReplace(container.url) - return - } - - // If the new response is missing a body, hard load the page - if (!container.contents) { - locationReplace(container.url) - return - } - - pjax.state = { - id: options.id || uniqueId(), - url: container.url, - title: container.title, - container: options.container, - fragment: options.fragment, - timeout: options.timeout - } - - if (options.push || options.replace) { - window.history.replaceState(pjax.state, container.title, container.url) - } - - // Only blur the focus if the focused element is within the container. - var blurFocus = $.contains(context, document.activeElement) - - // Clear out any focused controls before inserting new page contents. - if (blurFocus) { - try { - document.activeElement.blur() - } catch (e) { /* ignore */ } - } - - if (container.title) document.title = container.title - - fire('pjax:beforeReplace', [container.contents, options], { - state: pjax.state, - previousState: previousState - }) - context.html(container.contents) - - // FF bug: Won't autofocus fields that are inserted via JS. - // This behavior is incorrect. So if theres no current focus, autofocus - // the last field. - // - // http://www.w3.org/html/wg/drafts/html/master/forms.html - var autofocusEl = context.find('input[autofocus], textarea[autofocus]').last()[0] - if (autofocusEl && document.activeElement !== autofocusEl) { - autofocusEl.focus() - } - - executeScriptTags(container.scripts) - - var scrollTo = options.scrollTo - - // Ensure browser scrolls to the element referenced by the URL anchor - if (hash) { - var name = decodeURIComponent(hash.slice(1)) - var target = document.getElementById(name) || document.getElementsByName(name)[0] - if (target) scrollTo = $(target).offset().top - } - - if (typeof scrollTo == 'number') $(window).scrollTop(scrollTo) - - fire('pjax:success', [data, status, xhr, options]) - } - - - // Initialize pjax.state for the initial page load. Assume we're - // using the container and options of the link we're loading for the - // back button to the initial page. This ensures good back button - // behavior. - if (!pjax.state) { - pjax.state = { - id: uniqueId(), - url: window.location.href, - title: document.title, - container: options.container, - fragment: options.fragment, - timeout: options.timeout - } - window.history.replaceState(pjax.state, document.title) - } - - // Cancel the current request if we're already pjaxing - abortXHR(pjax.xhr) - - pjax.options = options - var xhr = pjax.xhr = $.ajax(options) - - if (xhr.readyState > 0) { - if (options.push && !options.replace) { - // Cache current container element before replacing it - cachePush(pjax.state.id, [options.container, cloneContents(context)]) - - window.history.pushState(null, "", options.requestUrl) - } - - fire('pjax:start', [xhr, options]) - fire('pjax:send', [xhr, options]) - } - - return pjax.xhr -} - -// Public: Reload current page with pjax. -// -// Returns whatever $.pjax returns. -function pjaxReload(container, options) { - var defaults = { - url: window.location.href, - push: false, - replace: true, - scrollTo: false - } - - return pjax($.extend(defaults, optionsFor(container, options))) -} - -// Internal: Hard replace current state with url. -// -// Work for around WebKit -// https://bugs.webkit.org/show_bug.cgi?id=93506 -// -// Returns nothing. -function locationReplace(url) { - window.history.replaceState(null, "", pjax.state.url) - window.location.replace(url) -} - - -var initialPop = true -var initialURL = window.location.href -var initialState = window.history.state - -// Initialize $.pjax.state if possible -// Happens when reloading a page and coming forward from a different -// session history. -if (initialState && initialState.container) { - pjax.state = initialState -} - -// Non-webkit browsers don't fire an initial popstate event -if ('state' in window.history) { - initialPop = false -} - -// popstate handler takes care of the back and forward buttons -// -// You probably shouldn't use pjax on pages with other pushState -// stuff yet. -function onPjaxPopstate(event) { - - // Hitting back or forward should override any pending PJAX request. - if (!initialPop) { - abortXHR(pjax.xhr) - } - - var previousState = pjax.state - var state = event.state - var direction - - if (state && state.container) { - // When coming forward from a separate history session, will get an - // initial pop with a state we are already at. Skip reloading the current - // page. - if (initialPop && initialURL == state.url) return - - if (previousState) { - // If popping back to the same state, just skip. - // Could be clicking back from hashchange rather than a pushState. - if (previousState.id === state.id) return - - // Since state IDs always increase, we can deduce the navigation direction - direction = previousState.id < state.id ? 'forward' : 'back' - } - - var cache = cacheMapping[state.id] || [] - var containerSelector = cache[0] || state.container - var container = $(containerSelector), contents = cache[1] - - if (container.length) { - if (previousState) { - // Cache current container before replacement and inform the - // cache which direction the history shifted. - cachePop(direction, previousState.id, [containerSelector, cloneContents(container)]) - } - - var popstateEvent = $.Event('pjax:popstate', { - state: state, - direction: direction - }) - container.trigger(popstateEvent) - - var options = { - id: state.id, - url: state.url, - container: containerSelector, - push: false, - fragment: state.fragment, - timeout: state.timeout, - scrollTo: false - } - - if (contents) { - container.trigger('pjax:start', [null, options]) - - pjax.state = state - if (state.title) document.title = state.title - var beforeReplaceEvent = $.Event('pjax:beforeReplace', { - state: state, - previousState: previousState - }) - container.trigger(beforeReplaceEvent, [contents, options]) - container.html(contents) - - container.trigger('pjax:end', [null, options]) - } else { - pjax(options) - } - - // Force reflow/relayout before the browser tries to restore the - // scroll position. - container[0].offsetHeight // eslint-disable-line no-unused-expressions - } else { - locationReplace(location.href) - } - } - initialPop = false -} - -// Fallback version of main pjax function for browsers that don't -// support pushState. -// -// Returns nothing since it retriggers a hard form submission. -function fallbackPjax(options) { - var url = $.isFunction(options.url) ? options.url() : options.url, - method = options.type ? options.type.toUpperCase() : 'GET' - - var form = $('
', { - method: method === 'GET' ? 'GET' : 'POST', - action: url, - style: 'display:none' - }) - - if (method !== 'GET' && method !== 'POST') { - form.append($('', { - type: 'hidden', - name: '_method', - value: method.toLowerCase() - })) - } - - var data = options.data - if (typeof data === 'string') { - $.each(data.split('&'), function(index, value) { - var pair = value.split('=') - form.append($('', {type: 'hidden', name: pair[0], value: pair[1]})) - }) - } else if ($.isArray(data)) { - $.each(data, function(index, value) { - form.append($('', {type: 'hidden', name: value.name, value: value.value})) - }) - } else if (typeof data === 'object') { - var key - for (key in data) - form.append($('', {type: 'hidden', name: key, value: data[key]})) - } - - $(document.body).append(form) - form.submit() -} - -// Internal: Abort an XmlHttpRequest if it hasn't been completed, -// also removing its event handlers. -function abortXHR(xhr) { - if ( xhr && xhr.readyState < 4) { - xhr.onreadystatechange = $.noop - xhr.abort() - } -} - -// Internal: Generate unique id for state object. -// -// Use a timestamp instead of a counter since ids should still be -// unique across page loads. -// -// Returns Number. -function uniqueId() { - return (new Date).getTime() -} - -function cloneContents(container) { - var cloned = container.clone() - // Unmark script tags as already being eval'd so they can get executed again - // when restored from cache. HAXX: Uses jQuery internal method. - cloned.find('script').each(function(){ - if (!this.src) $._data(this, 'globalEval', false) - }) - return cloned.contents() -} - -// Internal: Strip internal query params from parsed URL. -// -// Returns sanitized url.href String. -function stripInternalParams(url) { - url.search = url.search.replace(/([?&])(_pjax|_)=[^&]*/g, '').replace(/^&/, '') - return url.href.replace(/\?($|#)/, '$1') -} - -// Internal: Parse URL components and returns a Locationish object. -// -// url - String URL -// -// Returns HTMLAnchorElement that acts like Location. -function parseURL(url) { - var a = document.createElement('a') - a.href = url - return a -} - -// Internal: Return the `href` component of given URL object with the hash -// portion removed. -// -// location - Location or HTMLAnchorElement -// -// Returns String -function stripHash(location) { - return location.href.replace(/#.*/, '') -} - -// Internal: Build options Object for arguments. -// -// For convenience the first parameter can be either the container or -// the options object. -// -// Examples -// -// optionsFor('#container') -// // => {container: '#container'} -// -// optionsFor('#container', {push: true}) -// // => {container: '#container', push: true} -// -// optionsFor({container: '#container', push: true}) -// // => {container: '#container', push: true} -// -// Returns options Object. -function optionsFor(container, options) { - if (container && options) { - options = $.extend({}, options) - options.container = container - return options - } else if ($.isPlainObject(container)) { - return container - } else { - return {container: container} - } -} - -// Internal: Filter and find all elements matching the selector. -// -// Where $.fn.find only matches descendants, findAll will test all the -// top level elements in the jQuery object as well. -// -// elems - jQuery object of Elements -// selector - String selector to match -// -// Returns a jQuery object. -function findAll(elems, selector) { - return elems.filter(selector).add(elems.find(selector)) -} - -function parseHTML(html) { - return $.parseHTML(html, document, true) -} - -// Internal: Extracts container and metadata from response. -// -// 1. Extracts X-PJAX-URL header if set -// 2. Extracts inline tags -// 3. Builds response Element and extracts fragment if set -// -// data - String response data -// xhr - XHR response -// options - pjax options Object -// -// Returns an Object with url, title, and contents keys. -function extractContainer(data, xhr, options) { - var obj = {}, fullDocument = /<html/i.test(data) - - // Prefer X-PJAX-URL header if it was set, otherwise fallback to - // using the original requested url. - var serverUrl = xhr.getResponseHeader('X-PJAX-URL') - obj.url = serverUrl ? stripInternalParams(parseURL(serverUrl)) : options.requestUrl - - var $head, $body - // Attempt to parse response html into elements - if (fullDocument) { - $body = $(parseHTML(data.match(/<body[^>]*>([\s\S.]*)<\/body>/i)[0])) - var head = data.match(/<head[^>]*>([\s\S.]*)<\/head>/i) - $head = head != null ? $(parseHTML(head[0])) : $body - } else { - $head = $body = $(parseHTML(data)) - } - - // If response data is empty, return fast - if ($body.length === 0) - return obj - - // If there's a <title> tag in the header, use it as - // the page's title. - obj.title = findAll($head, 'title').last().text() - - if (options.fragment) { - var $fragment = $body - // If they specified a fragment, look for it in the response - // and pull it out. - if (options.fragment !== 'body') { - $fragment = findAll($fragment, options.fragment).first() - } - - if ($fragment.length) { - obj.contents = options.fragment === 'body' ? $fragment : $fragment.contents() - - // If there's no title, look for data-title and title attributes - // on the fragment - if (!obj.title) - obj.title = $fragment.attr('title') || $fragment.data('title') - } - - } else if (!fullDocument) { - obj.contents = $body - } - - // Clean up any <title> tags - if (obj.contents) { - // Remove any parent title elements - obj.contents = obj.contents.not(function() { return $(this).is('title') }) - - // Then scrub any titles from their descendants - obj.contents.find('title').remove() - - // Gather all script[src] elements - obj.scripts = findAll(obj.contents, 'script[src]').remove() - obj.contents = obj.contents.not(obj.scripts) - } - - // Trim any whitespace off the title - if (obj.title) obj.title = $.trim(obj.title) - - return obj -} - -// Load an execute scripts using standard script request. -// -// Avoids jQuery's traditional $.getScript which does a XHR request and -// globalEval. -// -// scripts - jQuery object of script Elements -// -// Returns nothing. -function executeScriptTags(scripts) { - if (!scripts) return - - var existingScripts = $('script[src]') - - scripts.each(function() { - var src = this.src - var matchedScripts = existingScripts.filter(function() { - return this.src === src - }) - if (matchedScripts.length) return - - var script = document.createElement('script') - var type = $(this).attr('type') - if (type) script.type = type - script.src = $(this).attr('src') - document.head.appendChild(script) - }) -} - -// Internal: History DOM caching class. -var cacheMapping = {} -var cacheForwardStack = [] -var cacheBackStack = [] - -// Push previous state id and container contents into the history -// cache. Should be called in conjunction with `pushState` to save the -// previous container contents. -// -// id - State ID Number -// value - DOM Element to cache -// -// Returns nothing. -function cachePush(id, value) { - cacheMapping[id] = value - cacheBackStack.push(id) - - // Remove all entries in forward history stack after pushing a new page. - trimCacheStack(cacheForwardStack, 0) - - // Trim back history stack to max cache length. - trimCacheStack(cacheBackStack, pjax.defaults.maxCacheLength) -} - -// Shifts cache from directional history cache. Should be -// called on `popstate` with the previous state id and container -// contents. -// -// direction - "forward" or "back" String -// id - State ID Number -// value - DOM Element to cache -// -// Returns nothing. -function cachePop(direction, id, value) { - var pushStack, popStack - cacheMapping[id] = value - - if (direction === 'forward') { - pushStack = cacheBackStack - popStack = cacheForwardStack - } else { - pushStack = cacheForwardStack - popStack = cacheBackStack - } - - pushStack.push(id) - id = popStack.pop() - if (id) delete cacheMapping[id] - - // Trim whichever stack we just pushed to to max cache length. - trimCacheStack(pushStack, pjax.defaults.maxCacheLength) -} - -// Trim a cache stack (either cacheBackStack or cacheForwardStack) to be no -// longer than the specified length, deleting cached DOM elements as necessary. -// -// stack - Array of state IDs -// length - Maximum length to trim to -// -// Returns nothing. -function trimCacheStack(stack, length) { - while (stack.length > length) - delete cacheMapping[stack.shift()] -} - -// Public: Find version identifier for the initial page load. -// -// Returns String version or undefined. -function findVersion() { - return $('meta').filter(function() { - var name = $(this).attr('http-equiv') - return name && name.toUpperCase() === 'X-PJAX-VERSION' - }).attr('content') -} - -// Install pjax functions on $.pjax to enable pushState behavior. -// -// Does nothing if already enabled. -// -// Examples -// -// $.pjax.enable() -// -// Returns nothing. -function enable() { - $.fn.pjax = fnPjax - $.pjax = pjax - $.pjax.enable = $.noop - $.pjax.disable = disable - $.pjax.click = handleClick - $.pjax.submit = handleSubmit - $.pjax.reload = pjaxReload - $.pjax.defaults = { - timeout: 650, - push: true, - replace: false, - type: 'GET', - dataType: 'html', - scrollTo: 0, - maxCacheLength: 20, - version: findVersion - } - $(window).on('popstate.pjax', onPjaxPopstate) -} - -// Disable pushState behavior. -// -// This is the case when a browser doesn't support pushState. It is -// sometimes useful to disable pushState for debugging on a modern -// browser. -// -// Examples -// -// $.pjax.disable() -// -// Returns nothing. -function disable() { - $.fn.pjax = function() { return this } - $.pjax = fallbackPjax - $.pjax.enable = enable - $.pjax.disable = $.noop - $.pjax.click = $.noop - $.pjax.submit = $.noop - $.pjax.reload = function() { window.location.reload() } - - $(window).off('popstate.pjax', onPjaxPopstate) -} - - -// Add the state property to jQuery's event object so we can use it in -// $(window).bind('popstate') -if ($.event.props && $.inArray('state', $.event.props) < 0) { - $.event.props.push('state') -} else if (!('state' in $.Event.prototype)) { - $.event.addProp('state') -} - -// Is pjax supported by this browser? -$.support.pjax = - window.history && window.history.pushState && window.history.replaceState && - // pushState isn't reliable on iOS until 5. - !navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/) - -if ($.support.pjax) { - enable() -} else { - disable() -} - -})(jQuery) diff --git a/public/assets/vendor/select2/.bower.json b/public/assets/vendor/select2/.bower.json deleted file mode 100644 index 1e55dca4..00000000 --- a/public/assets/vendor/select2/.bower.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "select2", - "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.", - "main": [ - "dist/js/select2.js", - "src/scss/core.scss" - ], - "repository": { - "type": "git", - "url": "git@github.com:select2/select2.git" - }, - "homepage": "https://github.com/ivaynberg/select2", - "version": "4.0.3", - "_release": "4.0.3", - "_resolution": { - "type": "version", - "tag": "4.0.3", - "commit": "566c7846fbf8c3b7674346f26d0ee872c0a77629" - }, - "_source": "https://github.com/ivaynberg/select2.git", - "_target": "4.0.3", - "_originalSource": "select2" -} \ No newline at end of file diff --git a/public/assets/vendor/select2/.editorconfig b/public/assets/vendor/select2/.editorconfig deleted file mode 100644 index 54f4d3be..00000000 --- a/public/assets/vendor/select2/.editorconfig +++ /dev/null @@ -1,6 +0,0 @@ -[*] -indent_style = space -end_of_line = lf - -[*.js] -indent_size = 2 diff --git a/public/assets/vendor/select2/.gitignore b/public/assets/vendor/select2/.gitignore deleted file mode 100644 index aa970da6..00000000 --- a/public/assets/vendor/select2/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -dist/js/i18n/build.txt -.sass-cache diff --git a/public/assets/vendor/select2/.jshintignore b/public/assets/vendor/select2/.jshintignore deleted file mode 100644 index ba5a30f8..00000000 --- a/public/assets/vendor/select2/.jshintignore +++ /dev/null @@ -1,4 +0,0 @@ -src/js/banner.*.js -src/js/wrapper.*.js -tests/vendor/*.js -tests/helpers.js diff --git a/public/assets/vendor/select2/.jshintrc b/public/assets/vendor/select2/.jshintrc deleted file mode 100644 index 94299268..00000000 --- a/public/assets/vendor/select2/.jshintrc +++ /dev/null @@ -1,25 +0,0 @@ -{ - "bitwise": true, - "camelcase": true, - "curly": true, - "es3": true, - "eqnull": true, - "freeze": true, - "globals": { - "console": false, - "define": false, - "document": false, - "MockContainer": false, - "module": false, - "QUnit": false, - "require": false, - "test": false, - "window": false - }, - "indent": 2, - "maxlen": 80, - "noarg": true, - "nonew": true, - "quotmark": "single", - "undef": true -} diff --git a/public/assets/vendor/select2/.travis.yml b/public/assets/vendor/select2/.travis.yml deleted file mode 100644 index 0af4c696..00000000 --- a/public/assets/vendor/select2/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: node_js - -sudo: false - -node_js: - - 0.10 - -env: - global: - - secure: XMNK8GVxkwKa6oLl7nJwgg/wmY1YDk5rrMd+UXz26EDCsMDbiy1P7GhN2fEiBSLaQ7YfEuvaDcmzQxTrT0YTHp1PDzb2o9J4tIDdEkqPcv1y8xMaYDfmsN0rBPdBwZEg9H5zUgi7OdUbrGswSYxsKCE3x8EOqK89104HyOo1LN4= - - secure: BU5BPRx6H4O3WJ509YPixjUxg+hDF3z2BVJX6NiGmKWweqvCEYFfiiHLwDEgp/ynRcF9vGVi1V4Ly1jq7f8NIajbDZ5q443XchZFYFg78K/EwD5mK6LYt16zb7+Jn0KbzwHeGRGzc9AvcEYlW6i634cSCm4n3BnqtF5PpogSzdw= - -script: - - grunt ci - -notifications: - email: false - irc: - channels: - - "chat.freenode.net#select2" - on_success: change - on_failure: always diff --git a/public/assets/vendor/select2/CONTRIBUTING.md b/public/assets/vendor/select2/CONTRIBUTING.md deleted file mode 100644 index ad81e803..00000000 --- a/public/assets/vendor/select2/CONTRIBUTING.md +++ /dev/null @@ -1,204 +0,0 @@ -Contributing to Select2 -======================= -Looking to contribute something to Select2? **Here's how you can help.** - -Please take a moment to review this document in order to make the contribution -process easy and effective for everyone involved. - -Following these guidelines helps to communicate that you respect the time of -the developers managing and developing this open source project. In return, -they should reciprocate that respect in addressing your issue or assessing -patches and features. - -Using the issue tracker ------------------------ -When [reporting bugs][reporting-bugs] or -[requesting features][requesting-features], the -[issue tracker on GitHub][issue-tracker] is the recommended channel to use. - -The issue tracker **is not** a place for support requests. The -[mailing list][community] or [IRC channel][community] are better places to -get help. - -Reporting bugs with Select2 ---------------------------- -We really appreciate clear bug reports that _consistently_ show an issue -_within Select2_. - -The ideal bug report follows these guidelines: - -1. **Use the [GitHub issue search][issue-search]** — Check if the issue - has already been reported. -2. **Check if the issue has been fixed** — Try to reproduce the problem - using the code in the `master` branch. -3. **Isolate the problem** — Try to create an - [isolated test case][isolated-case] that consistently reproduces the problem. - -Please try to be as detailed as possible in your bug report, especially if an -isolated test case cannot be made. Some useful questions to include the answer -to are: - -- What steps can be used to reproduce the issue? -- What is the bug and what is the expected outcome? -- What browser(s) and Operating System have you tested with? -- Does the bug happen consistently across all tested browsers? -- What version of jQuery are you using? And what version of Select2? -- Are you using Select2 with other plugins? - -All of these questions will help others fix and identify any potential bugs. - -Requesting features in Select2 ------------------------------- -Select2 is a large library that carries with it a lot of functionality. Because -of this, many feature requests will not be implemented in the core library. - -Before starting work on a major feature for Select2, **contact the -[community][community] first** or you may risk spending a considerable amount of -time on something which the project developers are not interested in bringing -into the project. - -Contributing changes to Select2 -------------------------------- -Select2 is made up of multiple submodules that all come together to make the -standard and extended builds that are available to users. The build system uses -Node.js to manage and compile the submodules, all of which is done using the -Grunt build system. - -### Installing development dependencies - -Select2 can be built and developed on any system which supports Node.js. The -preferred Node.js version is 0.10, but 0.12 and later versions can be used -without any noticeable issues. You can download Node.js at -[their website][nodejs]. - -All other required Node.js packages can be installed using [npm][npm], which -comes bundled alongside Node.js. - -```bash -cd /path/to/select2/repo -npm install -``` - -You may need to install libsass on your system if it is not already available -in order to build the SASS files which generate the CSS for themes and the main -component. - -In order to build and serve the documentation, you need to have [Jekyll][jekyll] -installed on your system. - -### Building the Select2 component - -Select2 uses the [Grunt][grunt] build task system and defines a few custom -tasks for common routines. One of them is the `compile` task, which compiles -the JavaScript and CSS and produces the final files. - -```bash -cd /path/to/select2/repo -grunt compile -``` - -You can also generate the minified versions (`.min.js` files) by executing the -`minify` task after compiling. - -```bash -cd /path/to/select2/repo -grunt minify -``` - -### Building the documentation - -Using the Grunt build system, you run Jekyll and serve the documentation -locally. This will also set up the examples to use the latest version of -Select2 that has been built. - -```bash -cd /path/to/select2/repo -grunt docs -``` - -### Running tests - -Select2 uses the QUnit test system to test individual components. - -```bash -cd /path/to/selct2/repo -grunt test -``` - -### Submitting a pull request - -We use GitHub's pull request system for submitting patches. Here are some -guidelines to follow when creating the pull request for your fix. - -1. Make sure to create a ticket for your pull request. This will serve as the -bug ticket, and any discussion about the bug will take place there. Your pull -request will be focused on the specific changes that fix the bug. -2. Make sure to reference the ticket you are fixing within your pull request. -This will allow us to close off the ticket once we merge the pull request, or -follow up on the ticket if there are any related blocking issues. -3. Explain why the specific change was made. Not everyone who is reviewing your -pull request will be familiar with the problem it is fixing. -4. Run your tests first. If your tests aren't passing, the pull request won't -be able to be merged. If you're breaking existing tests, make sure that you -aren't causing any breaking changes. -5. Only include source changes. While it's not required, only including changes -from the `src` directory will prevent merge conflicts from occuring. Making -this happen can be as a simple as not committing changes from the `dist` -directory. - -By following these steps, you will make it easier for your pull request to be -reviewed and eventually merged. - -Triaging issues and pull requests ---------------------------------- -Anyone can help the project maintainers triage issues and review pull requests. - -### Handling new issues - -Select2 regularly receives new issues which need to be tested and organized. - -When a new issue that comes in that is similar to another existing issue, it -should be checked to make sure it is not a duplicate. Duplicates issues should -be marked by replying to the issue with "Duplicate of #[issue number]" where -`[issue number]` is the url or issue number for the existing issue. This will -allow the project maintainers to quickly close off additional issues and keep -the discussion focused within a single issue. - -If you can test issues that are reported to Select2 that contain test cases and -confirm under what conditions bugs happen, that will allow others to identify -what causes a bug quicker. - -### Reviewing pull requests - -It is very common for pull requests to be opened for issues that contain a clear -solution to the problem. These pull requests should be rigorously reviewed by -the community before being accepted. If you are not sure about a piece of -submitted code, or know of a better way to do something, do not hesitate to make -a comment on the pull request. - -### Reviving old tickets - -If you come across tickets which have not been updated for a while, you are -encouraged to revive them. While this can be as simple as saying `:+1:`, it is -best if you can include more information on the issue. Common bugs and feature -requests are more likely to be fixed, whether it is by the community or the -developers, so keeping tickets up to date is encouraged. - -Licensing ---------- - -It should also be made clear that **all code contributed to Select** must be -licensable under the [MIT license][licensing]. Code that cannot be released -under this license **cannot be accepted** into the project. - -[community]: https://select2.github.io/community.html -[grunt]: http://gruntjs.com/ -[isolated-case]: http://css-tricks.com/6263-reduced-test-cases/ -[issue-search]: https://github.com/select2/select2/search?q=&type=Issues -[issue-tracker]: https://github.com/select2/select2/issues -[jekyll]: https://jekyllrb.com/docs/installation/ -[licensing]: https://github.com/select2/select2/blob/master/LICENSE.md -[nodejs]: https://nodejs.org/ -[npm]: https://www.npmjs.com/ -[reporting-bugs]: #reporting-bugs-with-select2 -[requesting-features]: #requesting-features-in-select2 \ No newline at end of file diff --git a/public/assets/vendor/select2/Gruntfile.js b/public/assets/vendor/select2/Gruntfile.js deleted file mode 100644 index 63619dea..00000000 --- a/public/assets/vendor/select2/Gruntfile.js +++ /dev/null @@ -1,370 +0,0 @@ -module.exports = function (grunt) { - // Full list of files that must be included by RequireJS - includes = [ - 'jquery.select2', - 'almond', - - 'jquery-mousewheel' // shimmed for non-full builds - ]; - - fullIncludes = [ - 'jquery', - - 'select2/compat/containerCss', - 'select2/compat/dropdownCss', - - 'select2/compat/initSelection', - 'select2/compat/inputData', - 'select2/compat/matcher', - 'select2/compat/query', - - 'select2/dropdown/attachContainer', - 'select2/dropdown/stopPropagation', - - 'select2/selection/stopPropagation' - ].concat(includes); - - var i18nModules = []; - var i18nPaths = {}; - - var i18nFiles = grunt.file.expand({ - cwd: 'src/js' - }, 'select2/i18n/*.js'); - - var testFiles = grunt.file.expand('tests/**/*.html'); - var testUrls = testFiles.map(function (filePath) { - return 'http://localhost:9999/' + filePath; - }); - - var testBuildNumber = "unknown"; - - if (process.env.TRAVIS_JOB_ID) { - testBuildNumber = "travis-" + process.env.TRAVIS_JOB_ID; - } else { - var currentTime = new Date(); - - testBuildNumber = "manual-" + currentTime.getTime(); - } - - for (var i = 0; i < i18nFiles.length; i++) { - var file = i18nFiles[i]; - var name = file.split('.')[0]; - - i18nModules.push({ - name: name - }); - - i18nPaths[name] = '../../' + name; - } - - var minifiedBanner = '/*! Select2 <%= package.version %> | https://github.com/select2/select2/blob/master/LICENSE.md */'; - - grunt.initConfig({ - package: grunt.file.readJSON('package.json'), - - clean: { - docs: ['docs/_site'] - }, - - concat: { - 'dist': { - options: { - banner: grunt.file.read('src/js/wrapper.start.js'), - }, - src: [ - 'dist/js/select2.js', - 'src/js/wrapper.end.js' - ], - dest: 'dist/js/select2.js' - }, - 'dist.full': { - options: { - banner: grunt.file.read('src/js/wrapper.start.js'), - }, - src: [ - 'dist/js/select2.full.js', - 'src/js/wrapper.end.js' - ], - dest: 'dist/js/select2.full.js' - } - }, - - connect: { - tests: { - options: { - base: '.', - hostname: '127.0.0.1', - port: 9999 - } - } - }, - - uglify: { - 'dist': { - src: 'dist/js/select2.js', - dest: 'dist/js/select2.min.js', - options: { - banner: minifiedBanner - } - }, - 'dist.full': { - src: 'dist/js/select2.full.js', - dest: 'dist/js/select2.full.min.js', - options: { - banner: minifiedBanner - } - } - }, - - qunit: { - all: { - options: { - urls: testUrls - } - } - }, - - 'saucelabs-qunit': { - all: { - options: { - build: testBuildNumber, - tags: ['tests', 'qunit'], - urls: testUrls, - testname: 'QUnit test for Select2', - browsers: [ - { - browserName: 'internet explorer', - version: '8' - }, - { - browserName: 'internet explorer', - version: '9' - }, - { - browserName: 'internet explorer', - version: '10' - }, - { - browserName: 'internet explorer', - version: '11' - }, - - { - browserName: 'firefox', - platform: 'linux' - }, - - { - browserName: 'chrome' - }, - - { - browserName: 'opera', - version: '12', - platform: 'linux' - } - ] - } - } - }, - - 'gh-pages': { - options: { - base: 'docs', - branch: 'master', - clone: 'node_modules/grunt-gh-pages/repo', - message: 'Updated docs with master', - push: true, - repo: 'git@github.com:select2/select2.github.io.git' - }, - src: '**' - }, - - jekyll: { - options: { - src: 'docs', - dest: 'docs/_site' - }, - build: { - d: null - }, - serve: { - options: { - serve: true, - watch: true - } - } - }, - - jshint: { - options: { - jshintrc: true - }, - code: { - src: ['src/js/**/*.js'] - }, - tests: { - src: ['tests/**/*.js'] - } - }, - - sass: { - dist: { - options: { - outputStyle: 'compressed' - }, - files: { - 'dist/css/select2.min.css': [ - 'src/scss/core.scss', - 'src/scss/theme/default/layout.css' - ] - } - }, - dev: { - options: { - outputStyle: 'nested' - }, - files: { - 'dist/css/select2.css': [ - 'src/scss/core.scss', - 'src/scss/theme/default/layout.css' - ] - } - } - }, - - symlink: { - docs: { - cwd: 'dist', - expand: true, - overwrite: false, - src: [ - '*' - ], - dest: 'docs/dist', - filter: 'isDirectory' - } - }, - - requirejs: { - 'dist': { - options: { - baseUrl: 'src/js', - optimize: 'none', - name: 'select2/core', - out: 'dist/js/select2.js', - include: includes, - namespace: 'S2', - paths: { - 'almond': require.resolve('almond').slice(0, -3), - 'jquery': 'jquery.shim', - 'jquery-mousewheel': 'jquery.mousewheel.shim' - }, - wrap: { - startFile: 'src/js/banner.start.js', - endFile: 'src/js/banner.end.js' - } - } - }, - 'dist.full': { - options: { - baseUrl: 'src/js', - optimize: 'none', - name: 'select2/core', - out: 'dist/js/select2.full.js', - include: fullIncludes, - namespace: 'S2', - paths: { - 'almond': require.resolve('almond').slice(0, -3), - 'jquery': 'jquery.shim', - 'jquery-mousewheel': require.resolve('jquery-mousewheel').slice(0, -3) - }, - wrap: { - startFile: 'src/js/banner.start.js', - endFile: 'src/js/banner.end.js' - } - } - }, - 'i18n': { - options: { - baseUrl: 'src/js/select2/i18n', - dir: 'dist/js/i18n', - paths: i18nPaths, - modules: i18nModules, - namespace: 'S2', - wrap: { - start: minifiedBanner + grunt.file.read('src/js/banner.start.js'), - end: grunt.file.read('src/js/banner.end.js') - } - } - } - }, - - watch: { - js: { - files: [ - 'src/js/select2/**/*.js', - 'tests/**/*.js' - ], - tasks: [ - 'compile', - 'test', - 'minify' - ] - }, - css: { - files: [ - 'src/scss/**/*.scss' - ], - tasks: [ - 'compile', - 'minify' - ] - } - } - }); - - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-contrib-concat'); - grunt.loadNpmTasks('grunt-contrib-connect'); - grunt.loadNpmTasks('grunt-contrib-jshint'); - grunt.loadNpmTasks('grunt-contrib-qunit'); - grunt.loadNpmTasks('grunt-contrib-requirejs'); - grunt.loadNpmTasks('grunt-contrib-symlink'); - grunt.loadNpmTasks('grunt-contrib-uglify'); - grunt.loadNpmTasks('grunt-contrib-watch'); - - grunt.loadNpmTasks('grunt-gh-pages'); - grunt.loadNpmTasks('grunt-jekyll'); - grunt.loadNpmTasks('grunt-saucelabs'); - grunt.loadNpmTasks('grunt-sass'); - - grunt.registerTask('default', ['compile', 'test', 'minify']); - - grunt.registerTask('compile', [ - 'requirejs:dist', 'requirejs:dist.full', 'requirejs:i18n', - 'concat:dist', 'concat:dist.full', - 'sass:dev' - ]); - grunt.registerTask('minify', ['uglify', 'sass:dist']); - grunt.registerTask('test', ['connect:tests', 'qunit', 'jshint']); - - var ciTasks = []; - - ciTasks.push('compile') - ciTasks.push('connect:tests'); - - // Can't run Sauce Labs tests in pull requests - if (process.env.TRAVIS_PULL_REQUEST == 'false') { - ciTasks.push('saucelabs-qunit'); - } - - ciTasks.push('qunit'); - ciTasks.push('jshint'); - - grunt.registerTask('ci', ciTasks); - - grunt.registerTask('docs', ['symlink:docs', 'jekyll:serve']); - - grunt.registerTask('docs-release', ['default', 'clean:docs', 'gh-pages']); -}; diff --git a/public/assets/vendor/select2/ISSUE_TEMPLATE.md b/public/assets/vendor/select2/ISSUE_TEMPLATE.md deleted file mode 100644 index 42223285..00000000 --- a/public/assets/vendor/select2/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,46 +0,0 @@ -## Prerequisites - -- [ ] I have searched for similar issues in both open and closed tickets and cannot find a duplicate -- [ ] The issue still exists against the latest `master` branch of Select2 -- [ ] This is not a usage question (Those should be directed to the [community](https://select2.github.io/community.html)) -- [ ] I have attempted to find the simplest possible steos to reproduce the issue -- [ ] I have included a failing test as a pull request (Optional) - -## Steps to reproduce the issue - -1. -2. -3. - -## Expected behavior and actual behavior - -When I follow those steps, I see... - -I was expecting... - -## Environment - -Browsers - -- [ ] Google Chrome -- [ ] Mozilla Firefox -- [ ] Internet Explorer - -Operating System - -- [ ] Windows -- [ ] Mac OS X -- [ ] Linux -- [ ] Mobile - -Libraries - -- jQuery version: -- Select2 version: - -## Isolating the problem - -- [ ] This bug happens [on the examples page](https://select2.github.io/examples.html) -- [ ] The bug happens consistently across all tested browsers -- [ ] This bug happens when using Select2 without other pluigns -- [ ] I can reproduce this bug in [a jsbin](https://jsbin.com/) diff --git a/public/assets/vendor/select2/LICENSE.md b/public/assets/vendor/select2/LICENSE.md deleted file mode 100644 index 86c7c291..00000000 --- a/public/assets/vendor/select2/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2012-2015 Kevin Brown, Igor Vaynberg, and Select2 contributors - -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. diff --git a/public/assets/vendor/select2/PULL_REQUEST_TEMPLATE.md b/public/assets/vendor/select2/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 82395c75..00000000 --- a/public/assets/vendor/select2/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,13 +0,0 @@ -This pull request includes a - -- [ ] Bug fix -- [ ] New feature -- [ ] Translation - -The following changes were made - -- -- -- - -If this is related to an existing ticket, include a link to it as well. diff --git a/public/assets/vendor/select2/README.md b/public/assets/vendor/select2/README.md deleted file mode 100644 index 5984bb24..00000000 --- a/public/assets/vendor/select2/README.md +++ /dev/null @@ -1,121 +0,0 @@ -Select2 -======= -[![Build Status][travis-ci-image]][travis-ci-status] - -Select2 is a jQuery-based replacement for select boxes. It supports searching, -remote data sets, and pagination of results. - -To get started, checkout examples and documentation at -https://select2.github.io/ - -Use cases ---------- -* Enhancing native selects with search. -* Enhancing native selects with a better multi-select interface. -* Loading data from JavaScript: easily load items via AJAX and have them - searchable. -* Nesting optgroups: native selects only support one level of nesting. Select2 - does not have this restriction. -* Tagging: ability to add new items on the fly. -* Working with large, remote datasets: ability to partially load a dataset based - on the search term. -* Paging of large datasets: easy support for loading more pages when the results - are scrolled to the end. -* Templating: support for custom rendering of results and selections. - -Browser compatibility ---------------------- -* IE 8+ -* Chrome 8+ -* Firefox 10+ -* Safari 3+ -* Opera 10.6+ - -Select2 is automatically tested on the following browsers. - -[![Sauce Labs Test Status][saucelabs-matrix]][saucelabs-status] - -Usage ------ -You can source Select2 directly from a CDN like [JSDliver][jsdelivr] or -[CDNJS][cdnjs], [download it from this GitHub repo][releases], or use one of -the integrations below. - -Integrations ------------- -Third party developers have create plugins for platforms which allow Select2 to be integrated more natively and quickly. For many platforms, additional plugins are not required because Select2 acts as a standard `<select>` box. - -Plugins - -* [Django] - - [django-easy-select2] - - [django-select2] -* [Meteor] - [meteor-select2] -* [Ruby on Rails][ruby-on-rails] - [select2-rails] -* [Wicket] - [wicketstuff-select2] -* [Yii 2][yii2] - [yii2-widget-select2] - -Themes - -- [Bootstrap 3][bootstrap3] - [select2-bootstrap-theme] -- [Flat UI][flat-ui] - [select2-flat-theme] -- [Metro UI][metro-ui] - [select2-metro] - -Missing an integration? Modify this `README` and make a pull request back here to Select2 on GitHub. - -Internationalization (i18n) ---------------------------- -Select2 supports multiple languages by simply including the right language JS -file (`dist/js/i18n/it.js`, `dist/js/i18n/nl.js`, etc.) after -`dist/js/select2.js`. - -Missing a language? Just copy `src/js/select2/i18n/en.js`, translate it, and -make a pull request back to Select2 here on GitHub. - -Documentation -------------- -The documentation for Select2 is available -[through GitHub Pages][documentation] and is located within this repository -in the [`docs` folder][documentation-folder]. - -Community ---------- -You can find out about the different ways to get in touch with the Select2 -community at the [Select2 community page][community]. - -Copyright and license ---------------------- -The license is available within the repository in the [LICENSE][license] file. - -[cdnjs]: http://www.cdnjs.com/libraries/select2 -[community]: https://select2.github.io/community.html -[documentation]: https://select2.github.io/ -[documentation-folder]: https://github.com/select2/select2/tree/master/docs -[freenode]: https://freenode.net/ -[jsdelivr]: http://www.jsdelivr.com/#!select2 -[license]: LICENSE.md -[releases]: https://github.com/select2/select2/releases -[saucelabs-matrix]: https://saucelabs.com/browser-matrix/select2.svg -[saucelabs-status]: https://saucelabs.com/u/select2 -[travis-ci-image]: https://img.shields.io/travis/select2/select2/master.svg -[travis-ci-status]: https://travis-ci.org/select2/select2 - -[bootstrap3]: https://getbootstrap.com/ -[django]: https://www.djangoproject.com/ -[django-easy-select2]: https://github.com/asyncee/django-easy-select2 -[django-select2]: https://github.com/applegrew/django-select2 -[flat-ui]: http://designmodo.github.io/Flat-UI/ -[meteor]: https://www.meteor.com/ -[meteor-select2]: https://github.com/nate-strauser/meteor-select2 -[metro-ui]: http://metroui.org.ua/ -[select2-metro]: http://metroui.org.ua/select2.html -[ruby-on-rails]: http://rubyonrails.org/ -[select2-bootstrap-theme]: https://github.com/select2/select2-bootstrap-theme -[select2-flat-theme]: https://github.com/techhysahil/select2-Flat_Theme -[select2-rails]: https://github.com/argerim/select2-rails -[vue.js]: http://vuejs.org/ -[select2-vue]: http://vuejs.org/examples/select2.html -[wicket]: https://wicket.apache.org/ -[wicketstuff-select2]: https://github.com/wicketstuff/core/tree/master/select2-parent -[yii2]: http://www.yiiframework.com/ -[yii2-widget-select2]: https://github.com/kartik-v/yii2-widget-select2 diff --git a/public/assets/vendor/select2/bower.json b/public/assets/vendor/select2/bower.json deleted file mode 100644 index 834e4957..00000000 --- a/public/assets/vendor/select2/bower.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "select2", - "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.", - "main": [ - "dist/js/select2.js", - "src/scss/core.scss" - ], - "repository": { - "type": "git", - "url": "git@github.com:select2/select2.git" - } -} diff --git a/public/assets/vendor/select2/component.json b/public/assets/vendor/select2/component.json deleted file mode 100644 index cacb935a..00000000 --- a/public/assets/vendor/select2/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "select2", - "repo": "select/select2", - "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.", - "version": "4.0.3", - "demo": "https://select2.github.io/", - "keywords": [ - "jquery" - ], - "main": "dist/js/select2.js", - "styles": [ - "dist/css/select2.css" - ], - "scripts": [ - "dist/js/select2.js", - "dist/js/i18n/*.js" - ], - "license": "MIT" -} diff --git a/public/assets/vendor/select2/composer.json b/public/assets/vendor/select2/composer.json deleted file mode 100644 index e03d5df4..00000000 --- a/public/assets/vendor/select2/composer.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "select2/select2", - "description": "Select2 is a jQuery based replacement for select boxes.", - "type": "component", - "homepage": "https://select2.github.io/", - "license": "MIT", - "require": { - "robloach/component-installer": "*" - }, - "extra": { - "component": { - "scripts": [ - "dist/js/select2.js" - ], - "styles": [ - "dist/css/select2.css" - ], - "files": [ - "dist/js/select2.js", - "dist/js/i18n/*.js", - "dist/css/select2.css" - ] - } - } -} diff --git a/public/assets/vendor/select2/dist/css/select2.css b/public/assets/vendor/select2/dist/css/select2.css deleted file mode 100644 index 447b2b86..00000000 --- a/public/assets/vendor/select2/dist/css/select2.css +++ /dev/null @@ -1,484 +0,0 @@ -.select2-container { - box-sizing: border-box; - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; } - .select2-container .select2-selection--single { - box-sizing: border-box; - cursor: pointer; - display: block; - height: 28px; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--single .select2-selection__rendered { - display: block; - padding-left: 8px; - padding-right: 20px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-selection--single .select2-selection__clear { - position: relative; } - .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { - padding-right: 8px; - padding-left: 20px; } - .select2-container .select2-selection--multiple { - box-sizing: border-box; - cursor: pointer; - display: block; - min-height: 32px; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--multiple .select2-selection__rendered { - display: inline-block; - overflow: hidden; - padding-left: 8px; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-search--inline { - float: left; } - .select2-container .select2-search--inline .select2-search__field { - box-sizing: border-box; - border: none; - font-size: 100%; - margin-top: 5px; - padding: 0; } - .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - -.select2-dropdown { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - box-sizing: border-box; - display: block; - position: absolute; - left: -100000px; - width: 100%; - z-index: 1051; } - -.select2-results { - display: block; } - -.select2-results__options { - list-style: none; - margin: 0; - padding: 0; } - -.select2-results__option { - padding: 6px; - user-select: none; - -webkit-user-select: none; } - .select2-results__option[aria-selected] { - cursor: pointer; } - -.select2-container--open .select2-dropdown { - left: 0; } - -.select2-container--open .select2-dropdown--above { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--open .select2-dropdown--below { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-search--dropdown { - display: block; - padding: 4px; } - .select2-search--dropdown .select2-search__field { - padding: 4px; - width: 100%; - box-sizing: border-box; } - .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - .select2-search--dropdown.select2-search--hide { - display: none; } - -.select2-close-mask { - border: 0; - margin: 0; - padding: 0; - display: block; - position: fixed; - left: 0; - top: 0; - min-height: 100%; - min-width: 100%; - height: auto; - width: auto; - opacity: 0; - z-index: 99; - background-color: #fff; - filter: alpha(opacity=0); } - -.select2-hidden-accessible { - border: 0 !important; - clip: rect(0 0 0 0) !important; - height: 1px !important; - margin: -1px !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; } - -.select2-container--default .select2-selection--single { - background-color: #fff; - border: 1px solid #aaa; - border-radius: 4px; } - .select2-container--default .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--default .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; } - .select2-container--default .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--default .select2-selection--single .select2-selection__arrow { - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; } - .select2-container--default .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { - left: 1px; - right: auto; } - -.select2-container--default.select2-container--disabled .select2-selection--single { - background-color: #eee; - cursor: default; } - .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { - display: none; } - -.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--default .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; } - .select2-container--default .select2-selection--multiple .select2-selection__rendered { - box-sizing: border-box; - list-style: none; - margin: 0; - padding: 0 5px; - width: 100%; } - .select2-container--default .select2-selection--multiple .select2-selection__rendered li { - list-style: none; } - .select2-container--default .select2-selection--multiple .select2-selection__placeholder { - color: #999; - margin-top: 5px; - float: left; } - .select2-container--default .select2-selection--multiple .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-top: 5px; - margin-right: 10px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { - color: #999; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #333; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { - float: right; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--default.select2-container--focus .select2-selection--multiple { - border: solid black 1px; - outline: 0; } - -.select2-container--default.select2-container--disabled .select2-selection--multiple { - background-color: #eee; - cursor: default; } - -.select2-container--default.select2-container--disabled .select2-selection__choice__remove { - display: none; } - -.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--default .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; } - -.select2-container--default .select2-search--inline .select2-search__field { - background: transparent; - border: none; - outline: 0; - box-shadow: none; - -webkit-appearance: textfield; } - -.select2-container--default .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--default .select2-results__option[role=group] { - padding: 0; } - -.select2-container--default .select2-results__option[aria-disabled=true] { - color: #999; } - -.select2-container--default .select2-results__option[aria-selected=true] { - background-color: #ddd; } - -.select2-container--default .select2-results__option .select2-results__option { - padding-left: 1em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__group { - padding-left: 0; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option { - margin-left: -1em; - padding-left: 2em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -2em; - padding-left: 3em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -3em; - padding-left: 4em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -4em; - padding-left: 5em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -5em; - padding-left: 6em; } - -.select2-container--default .select2-results__option--highlighted[aria-selected] { - background-color: #5897fb; - color: white; } - -.select2-container--default .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic .select2-selection--single { - background-color: #f7f7f7; - border: 1px solid #aaa; - border-radius: 4px; - outline: 0; - background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); - background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); - background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - .select2-container--classic .select2-selection--single:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--classic .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-right: 10px; } - .select2-container--classic .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--classic .select2-selection--single .select2-selection__arrow { - background-color: #ddd; - border: none; - border-left: 1px solid #aaa; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; - background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); - background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); - background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } - .select2-container--classic .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { - border: none; - border-right: 1px solid #aaa; - border-radius: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - left: 1px; - right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--single { - border: 1px solid #5897fb; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { - background: transparent; - border: none; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; - background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); - background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); - background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); - background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); - background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } - -.select2-container--classic .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; - outline: 0; } - .select2-container--classic .select2-selection--multiple:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--multiple .select2-selection__rendered { - list-style: none; - margin: 0; - padding: 0 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__clear { - display: none; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { - color: #888; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #555; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - float: right; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--multiple { - border: 1px solid #5897fb; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--classic .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; - outline: 0; } - -.select2-container--classic .select2-search--inline .select2-search__field { - outline: 0; - box-shadow: none; } - -.select2-container--classic .select2-dropdown { - background-color: white; - border: 1px solid transparent; } - -.select2-container--classic .select2-dropdown--above { - border-bottom: none; } - -.select2-container--classic .select2-dropdown--below { - border-top: none; } - -.select2-container--classic .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--classic .select2-results__option[role=group] { - padding: 0; } - -.select2-container--classic .select2-results__option[aria-disabled=true] { - color: grey; } - -.select2-container--classic .select2-results__option--highlighted[aria-selected] { - background-color: #3875d7; - color: white; } - -.select2-container--classic .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic.select2-container--open .select2-dropdown { - border-color: #5897fb; } diff --git a/public/assets/vendor/select2/dist/css/select2.min.css b/public/assets/vendor/select2/dist/css/select2.min.css deleted file mode 100644 index 76de04d9..00000000 --- a/public/assets/vendor/select2/dist/css/select2.min.css +++ /dev/null @@ -1 +0,0 @@ -.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/public/assets/vendor/select2/dist/js/i18n/ar.js b/public/assets/vendor/select2/dist/js/i18n/ar.js deleted file mode 100644 index 01a68829..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/ar.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="الرجاء حذف "+t+" عناصر";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="الرجاء إضافة "+t+" عناصر";return n},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){var t="تستطيع إختيار "+e.maximum+" بنود فقط";return t},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/az.js b/public/assets/vendor/select2/dist/js/i18n/az.js deleted file mode 100644 index 2accb973..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/az.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/bg.js b/public/assets/vendor/select2/dist/js/i18n/bg.js deleted file mode 100644 index 35ae9894..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/bg.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/ca.js b/public/assets/vendor/select2/dist/js/i18n/ca.js deleted file mode 100644 index fdb5f3d2..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/ca.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/cs.js b/public/assets/vendor/select2/dist/js/i18n/cs.js deleted file mode 100644 index 9651378a..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/cs.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/da.js b/public/assets/vendor/select2/dist/js/i18n/da.js deleted file mode 100644 index 501c51e9..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/da.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/de.js b/public/assets/vendor/select2/dist/js/i18n/de.js deleted file mode 100644 index 9a6d5536..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/de.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/el.js b/public/assets/vendor/select2/dist/js/i18n/el.js deleted file mode 100644 index 4735d140..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/el.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/en.js b/public/assets/vendor/select2/dist/js/i18n/en.js deleted file mode 100644 index 8e80ede8..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/en.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/es.js b/public/assets/vendor/select2/dist/js/i18n/es.js deleted file mode 100644 index 0a096502..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/es.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/et.js b/public/assets/vendor/select2/dist/js/i18n/et.js deleted file mode 100644 index c70f4a5b..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/et.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/eu.js b/public/assets/vendor/select2/dist/js/i18n/eu.js deleted file mode 100644 index 9336053a..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/eu.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/fa.js b/public/assets/vendor/select2/dist/js/i18n/fa.js deleted file mode 100644 index 5118cd28..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/fa.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/fi.js b/public/assets/vendor/select2/dist/js/i18n/fi.js deleted file mode 100644 index 9e60f26a..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/fi.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/fr.js b/public/assets/vendor/select2/dist/js/i18n/fr.js deleted file mode 100644 index e4a66500..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/fr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/gl.js b/public/assets/vendor/select2/dist/js/i18n/gl.js deleted file mode 100644 index 02f258f9..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/gl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/he.js b/public/assets/vendor/select2/dist/js/i18n/he.js deleted file mode 100644 index 881f8d38..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/he.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/hi.js b/public/assets/vendor/select2/dist/js/i18n/hi.js deleted file mode 100644 index e8296842..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/hi.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/hr.js b/public/assets/vendor/select2/dist/js/i18n/hr.js deleted file mode 100644 index 89f7b12b..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/hr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/hu.js b/public/assets/vendor/select2/dist/js/i18n/hu.js deleted file mode 100644 index 74c8a90d..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/hu.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/id.js b/public/assets/vendor/select2/dist/js/i18n/id.js deleted file mode 100644 index 95867826..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/id.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/is.js b/public/assets/vendor/select2/dist/js/i18n/is.js deleted file mode 100644 index ab97a14d..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/is.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/it.js b/public/assets/vendor/select2/dist/js/i18n/it.js deleted file mode 100644 index 7796b9f7..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/it.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/ja.js b/public/assets/vendor/select2/dist/js/i18n/ja.js deleted file mode 100644 index 9f4fff6c..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/ja.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/km.js b/public/assets/vendor/select2/dist/js/i18n/km.js deleted file mode 100644 index 8e94adcf..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/km.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/ko.js b/public/assets/vendor/select2/dist/js/i18n/ko.js deleted file mode 100644 index 4ed03215..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/ko.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/lt.js b/public/assets/vendor/select2/dist/js/i18n/lt.js deleted file mode 100644 index 05f3a6e5..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/lt.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/lv.js b/public/assets/vendor/select2/dist/js/i18n/lv.js deleted file mode 100644 index df8ee942..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/lv.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/mk.js b/public/assets/vendor/select2/dist/js/i18n/mk.js deleted file mode 100644 index 319ecca1..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/mk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/ms.js b/public/assets/vendor/select2/dist/js/i18n/ms.js deleted file mode 100644 index 4258f125..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/ms.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/nb.js b/public/assets/vendor/select2/dist/js/i18n/nb.js deleted file mode 100644 index 6770087c..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/nb.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/nl.js b/public/assets/vendor/select2/dist/js/i18n/nl.js deleted file mode 100644 index 8bd5e3cf..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/nl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/pl.js b/public/assets/vendor/select2/dist/js/i18n/pl.js deleted file mode 100644 index 54ba28e9..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/pl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/pt-BR.js b/public/assets/vendor/select2/dist/js/i18n/pt-BR.js deleted file mode 100644 index a6629c8a..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/pt-BR.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/pt.js b/public/assets/vendor/select2/dist/js/i18n/pt.js deleted file mode 100644 index 0cbda561..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/pt.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/ro.js b/public/assets/vendor/select2/dist/js/i18n/ro.js deleted file mode 100644 index 788a2637..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/ro.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/ru.js b/public/assets/vendor/select2/dist/js/i18n/ru.js deleted file mode 100644 index 9ecab809..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/ru.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/sk.js b/public/assets/vendor/select2/dist/js/i18n/sk.js deleted file mode 100644 index 82f29413..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/sk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/sr-Cyrl.js b/public/assets/vendor/select2/dist/js/i18n/sr-Cyrl.js deleted file mode 100644 index e9453940..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/sr-Cyrl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/sr.js b/public/assets/vendor/select2/dist/js/i18n/sr.js deleted file mode 100644 index ac0cc721..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/sr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/sv.js b/public/assets/vendor/select2/dist/js/i18n/sv.js deleted file mode 100644 index bedac08c..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/sv.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/th.js b/public/assets/vendor/select2/dist/js/i18n/th.js deleted file mode 100644 index 097a86c6..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/th.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/tr.js b/public/assets/vendor/select2/dist/js/i18n/tr.js deleted file mode 100644 index 25d27a87..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/tr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/uk.js b/public/assets/vendor/select2/dist/js/i18n/uk.js deleted file mode 100644 index eb3ca890..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/uk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/vi.js b/public/assets/vendor/select2/dist/js/i18n/vi.js deleted file mode 100644 index 8975b8ac..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/vi.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/zh-CN.js b/public/assets/vendor/select2/dist/js/i18n/zh-CN.js deleted file mode 100644 index 2ed95972..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/zh-CN.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/i18n/zh-TW.js b/public/assets/vendor/select2/dist/js/i18n/zh-TW.js deleted file mode 100644 index ea0812ee..00000000 --- a/public/assets/vendor/select2/dist/js/i18n/zh-TW.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/select2.full.js b/public/assets/vendor/select2/dist/js/select2.full.js deleted file mode 100644 index e750834e..00000000 --- a/public/assets/vendor/select2/dist/js/select2.full.js +++ /dev/null @@ -1,6436 +0,0 @@ -/*! - * Select2 4.0.3 - * https://select2.github.io - * - * Released under the MIT license - * https://github.com/select2/select2/blob/master/LICENSE.md - */ -(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node/CommonJS - factory(require('jquery')); - } else { - // Browser globals - factory(jQuery); - } -}(function (jQuery) { - // This is needed so we can catch the AMD loader configuration and use it - // The inner file should be wrapped (by `banner.start.js`) in a function that - // returns the AMD loader references. - var S2 = -(function () { - // Restore the Select2 AMD loader so it can be used - // Needed mostly in the language files, where the loader is not inserted - if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { - var S2 = jQuery.fn.select2.amd; - } -var S2;(function () { if (!S2 || !S2.requirejs) { -if (!S2) { S2 = {}; } else { require = S2; } -/** - * @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved. - * Available via the MIT or new BSD license. - * see: http://github.com/jrburke/almond for details - */ -//Going sloppy to avoid 'use strict' string cost, but strict practices should -//be followed. -/*jslint sloppy: true */ -/*global setTimeout: false */ - -var requirejs, require, define; -(function (undef) { - var main, req, makeMap, handlers, - defined = {}, - waiting = {}, - config = {}, - defining = {}, - hasOwn = Object.prototype.hasOwnProperty, - aps = [].slice, - jsSuffixRegExp = /\.js$/; - - function hasProp(obj, prop) { - return hasOwn.call(obj, prop); - } - - /** - * Given a relative module name, like ./something, normalize it to - * a real name that can be mapped to a path. - * @param {String} name the relative name - * @param {String} baseName a real name that the name arg is relative - * to. - * @returns {String} normalized name - */ - function normalize(name, baseName) { - var nameParts, nameSegment, mapValue, foundMap, lastIndex, - foundI, foundStarMap, starI, i, j, part, - baseParts = baseName && baseName.split("/"), - map = config.map, - starMap = (map && map['*']) || {}; - - //Adjust any relative paths. - if (name && name.charAt(0) === ".") { - //If have a base name, try to normalize against it, - //otherwise, assume it is a top-level require that will - //be relative to baseUrl in the end. - if (baseName) { - name = name.split('/'); - lastIndex = name.length - 1; - - // Node .js allowance: - if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { - name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); - } - - //Lop off the last part of baseParts, so that . matches the - //"directory" and not name of the baseName's module. For instance, - //baseName of "one/two/three", maps to "one/two/three.js", but we - //want the directory, "one/two" for this normalization. - name = baseParts.slice(0, baseParts.length - 1).concat(name); - - //start trimDots - for (i = 0; i < name.length; i += 1) { - part = name[i]; - if (part === ".") { - name.splice(i, 1); - i -= 1; - } else if (part === "..") { - if (i === 1 && (name[2] === '..' || name[0] === '..')) { - //End of the line. Keep at least one non-dot - //path segment at the front so it can be mapped - //correctly to disk. Otherwise, there is likely - //no path mapping for a path starting with '..'. - //This can still fail, but catches the most reasonable - //uses of .. - break; - } else if (i > 0) { - name.splice(i - 1, 2); - i -= 2; - } - } - } - //end trimDots - - name = name.join("/"); - } else if (name.indexOf('./') === 0) { - // No baseName, so this is ID is resolved relative - // to baseUrl, pull off the leading dot. - name = name.substring(2); - } - } - - //Apply map config if available. - if ((baseParts || starMap) && map) { - nameParts = name.split('/'); - - for (i = nameParts.length; i > 0; i -= 1) { - nameSegment = nameParts.slice(0, i).join("/"); - - if (baseParts) { - //Find the longest baseName segment match in the config. - //So, do joins on the biggest to smallest lengths of baseParts. - for (j = baseParts.length; j > 0; j -= 1) { - mapValue = map[baseParts.slice(0, j).join('/')]; - - //baseName segment has config, find if it has one for - //this name. - if (mapValue) { - mapValue = mapValue[nameSegment]; - if (mapValue) { - //Match, update name to the new value. - foundMap = mapValue; - foundI = i; - break; - } - } - } - } - - if (foundMap) { - break; - } - - //Check for a star map match, but just hold on to it, - //if there is a shorter segment match later in a matching - //config, then favor over this star map. - if (!foundStarMap && starMap && starMap[nameSegment]) { - foundStarMap = starMap[nameSegment]; - starI = i; - } - } - - if (!foundMap && foundStarMap) { - foundMap = foundStarMap; - foundI = starI; - } - - if (foundMap) { - nameParts.splice(0, foundI, foundMap); - name = nameParts.join('/'); - } - } - - return name; - } - - function makeRequire(relName, forceSync) { - return function () { - //A version of a require function that passes a moduleName - //value for items that may need to - //look up paths relative to the moduleName - var args = aps.call(arguments, 0); - - //If first arg is not require('string'), and there is only - //one arg, it is the array form without a callback. Insert - //a null so that the following concat is correct. - if (typeof args[0] !== 'string' && args.length === 1) { - args.push(null); - } - return req.apply(undef, args.concat([relName, forceSync])); - }; - } - - function makeNormalize(relName) { - return function (name) { - return normalize(name, relName); - }; - } - - function makeLoad(depName) { - return function (value) { - defined[depName] = value; - }; - } - - function callDep(name) { - if (hasProp(waiting, name)) { - var args = waiting[name]; - delete waiting[name]; - defining[name] = true; - main.apply(undef, args); - } - - if (!hasProp(defined, name) && !hasProp(defining, name)) { - throw new Error('No ' + name); - } - return defined[name]; - } - - //Turns a plugin!resource to [plugin, resource] - //with the plugin being undefined if the name - //did not have a plugin prefix. - function splitPrefix(name) { - var prefix, - index = name ? name.indexOf('!') : -1; - if (index > -1) { - prefix = name.substring(0, index); - name = name.substring(index + 1, name.length); - } - return [prefix, name]; - } - - /** - * Makes a name map, normalizing the name, and using a plugin - * for normalization if necessary. Grabs a ref to plugin - * too, as an optimization. - */ - makeMap = function (name, relName) { - var plugin, - parts = splitPrefix(name), - prefix = parts[0]; - - name = parts[1]; - - if (prefix) { - prefix = normalize(prefix, relName); - plugin = callDep(prefix); - } - - //Normalize according - if (prefix) { - if (plugin && plugin.normalize) { - name = plugin.normalize(name, makeNormalize(relName)); - } else { - name = normalize(name, relName); - } - } else { - name = normalize(name, relName); - parts = splitPrefix(name); - prefix = parts[0]; - name = parts[1]; - if (prefix) { - plugin = callDep(prefix); - } - } - - //Using ridiculous property names for space reasons - return { - f: prefix ? prefix + '!' + name : name, //fullName - n: name, - pr: prefix, - p: plugin - }; - }; - - function makeConfig(name) { - return function () { - return (config && config.config && config.config[name]) || {}; - }; - } - - handlers = { - require: function (name) { - return makeRequire(name); - }, - exports: function (name) { - var e = defined[name]; - if (typeof e !== 'undefined') { - return e; - } else { - return (defined[name] = {}); - } - }, - module: function (name) { - return { - id: name, - uri: '', - exports: defined[name], - config: makeConfig(name) - }; - } - }; - - main = function (name, deps, callback, relName) { - var cjsModule, depName, ret, map, i, - args = [], - callbackType = typeof callback, - usingExports; - - //Use name if no relName - relName = relName || name; - - //Call the callback to define the module, if necessary. - if (callbackType === 'undefined' || callbackType === 'function') { - //Pull out the defined dependencies and pass the ordered - //values to the callback. - //Default to [require, exports, module] if no deps - deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; - for (i = 0; i < deps.length; i += 1) { - map = makeMap(deps[i], relName); - depName = map.f; - - //Fast path CommonJS standard dependencies. - if (depName === "require") { - args[i] = handlers.require(name); - } else if (depName === "exports") { - //CommonJS module spec 1.1 - args[i] = handlers.exports(name); - usingExports = true; - } else if (depName === "module") { - //CommonJS module spec 1.1 - cjsModule = args[i] = handlers.module(name); - } else if (hasProp(defined, depName) || - hasProp(waiting, depName) || - hasProp(defining, depName)) { - args[i] = callDep(depName); - } else if (map.p) { - map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); - args[i] = defined[depName]; - } else { - throw new Error(name + ' missing ' + depName); - } - } - - ret = callback ? callback.apply(defined[name], args) : undefined; - - if (name) { - //If setting exports via "module" is in play, - //favor that over return value and exports. After that, - //favor a non-undefined return value over exports use. - if (cjsModule && cjsModule.exports !== undef && - cjsModule.exports !== defined[name]) { - defined[name] = cjsModule.exports; - } else if (ret !== undef || !usingExports) { - //Use the return value from the function. - defined[name] = ret; - } - } - } else if (name) { - //May just be an object definition for the module. Only - //worry about defining if have a module name. - defined[name] = callback; - } - }; - - requirejs = require = req = function (deps, callback, relName, forceSync, alt) { - if (typeof deps === "string") { - if (handlers[deps]) { - //callback in this case is really relName - return handlers[deps](callback); - } - //Just return the module wanted. In this scenario, the - //deps arg is the module name, and second arg (if passed) - //is just the relName. - //Normalize module name, if it contains . or .. - return callDep(makeMap(deps, callback).f); - } else if (!deps.splice) { - //deps is a config object, not an array. - config = deps; - if (config.deps) { - req(config.deps, config.callback); - } - if (!callback) { - return; - } - - if (callback.splice) { - //callback is an array, which means it is a dependency list. - //Adjust args if there are dependencies - deps = callback; - callback = relName; - relName = null; - } else { - deps = undef; - } - } - - //Support require(['a']) - callback = callback || function () {}; - - //If relName is a function, it is an errback handler, - //so remove it. - if (typeof relName === 'function') { - relName = forceSync; - forceSync = alt; - } - - //Simulate async callback; - if (forceSync) { - main(undef, deps, callback, relName); - } else { - //Using a non-zero value because of concern for what old browsers - //do, and latest browsers "upgrade" to 4 if lower value is used: - //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: - //If want a value immediately, use require('id') instead -- something - //that works in almond on the global level, but not guaranteed and - //unlikely to work in other AMD implementations. - setTimeout(function () { - main(undef, deps, callback, relName); - }, 4); - } - - return req; - }; - - /** - * Just drops the config on the floor, but returns req in case - * the config return value is used. - */ - req.config = function (cfg) { - return req(cfg); - }; - - /** - * Expose module registry for debugging and tooling - */ - requirejs._defined = defined; - - define = function (name, deps, callback) { - if (typeof name !== 'string') { - throw new Error('See almond README: incorrect module build, no module name'); - } - - //This module may not have dependencies - if (!deps.splice) { - //deps is not an array, so probably means - //an object literal or factory function for - //the value. Adjust args. - callback = deps; - deps = []; - } - - if (!hasProp(defined, name) && !hasProp(waiting, name)) { - waiting[name] = [name, deps, callback]; - } - }; - - define.amd = { - jQuery: true - }; -}()); - -S2.requirejs = requirejs;S2.require = require;S2.define = define; -} -}()); -S2.define("almond", function(){}); - -/* global jQuery:false, $:false */ -S2.define('jquery',[],function () { - var _$ = jQuery || $; - - if (_$ == null && console && console.error) { - console.error( - 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + - 'found. Make sure that you are including jQuery before Select2 on your ' + - 'web page.' - ); - } - - return _$; -}); - -S2.define('select2/utils',[ - 'jquery' -], function ($) { - var Utils = {}; - - Utils.Extend = function (ChildClass, SuperClass) { - var __hasProp = {}.hasOwnProperty; - - function BaseConstructor () { - this.constructor = ChildClass; - } - - for (var key in SuperClass) { - if (__hasProp.call(SuperClass, key)) { - ChildClass[key] = SuperClass[key]; - } - } - - BaseConstructor.prototype = SuperClass.prototype; - ChildClass.prototype = new BaseConstructor(); - ChildClass.__super__ = SuperClass.prototype; - - return ChildClass; - }; - - function getMethods (theClass) { - var proto = theClass.prototype; - - var methods = []; - - for (var methodName in proto) { - var m = proto[methodName]; - - if (typeof m !== 'function') { - continue; - } - - if (methodName === 'constructor') { - continue; - } - - methods.push(methodName); - } - - return methods; - } - - Utils.Decorate = function (SuperClass, DecoratorClass) { - var decoratedMethods = getMethods(DecoratorClass); - var superMethods = getMethods(SuperClass); - - function DecoratedClass () { - var unshift = Array.prototype.unshift; - - var argCount = DecoratorClass.prototype.constructor.length; - - var calledConstructor = SuperClass.prototype.constructor; - - if (argCount > 0) { - unshift.call(arguments, SuperClass.prototype.constructor); - - calledConstructor = DecoratorClass.prototype.constructor; - } - - calledConstructor.apply(this, arguments); - } - - DecoratorClass.displayName = SuperClass.displayName; - - function ctr () { - this.constructor = DecoratedClass; - } - - DecoratedClass.prototype = new ctr(); - - for (var m = 0; m < superMethods.length; m++) { - var superMethod = superMethods[m]; - - DecoratedClass.prototype[superMethod] = - SuperClass.prototype[superMethod]; - } - - var calledMethod = function (methodName) { - // Stub out the original method if it's not decorating an actual method - var originalMethod = function () {}; - - if (methodName in DecoratedClass.prototype) { - originalMethod = DecoratedClass.prototype[methodName]; - } - - var decoratedMethod = DecoratorClass.prototype[methodName]; - - return function () { - var unshift = Array.prototype.unshift; - - unshift.call(arguments, originalMethod); - - return decoratedMethod.apply(this, arguments); - }; - }; - - for (var d = 0; d < decoratedMethods.length; d++) { - var decoratedMethod = decoratedMethods[d]; - - DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); - } - - return DecoratedClass; - }; - - var Observable = function () { - this.listeners = {}; - }; - - Observable.prototype.on = function (event, callback) { - this.listeners = this.listeners || {}; - - if (event in this.listeners) { - this.listeners[event].push(callback); - } else { - this.listeners[event] = [callback]; - } - }; - - Observable.prototype.trigger = function (event) { - var slice = Array.prototype.slice; - var params = slice.call(arguments, 1); - - this.listeners = this.listeners || {}; - - // Params should always come in as an array - if (params == null) { - params = []; - } - - // If there are no arguments to the event, use a temporary object - if (params.length === 0) { - params.push({}); - } - - // Set the `_type` of the first object to the event - params[0]._type = event; - - if (event in this.listeners) { - this.invoke(this.listeners[event], slice.call(arguments, 1)); - } - - if ('*' in this.listeners) { - this.invoke(this.listeners['*'], arguments); - } - }; - - Observable.prototype.invoke = function (listeners, params) { - for (var i = 0, len = listeners.length; i < len; i++) { - listeners[i].apply(this, params); - } - }; - - Utils.Observable = Observable; - - Utils.generateChars = function (length) { - var chars = ''; - - for (var i = 0; i < length; i++) { - var randomChar = Math.floor(Math.random() * 36); - chars += randomChar.toString(36); - } - - return chars; - }; - - Utils.bind = function (func, context) { - return function () { - func.apply(context, arguments); - }; - }; - - Utils._convertData = function (data) { - for (var originalKey in data) { - var keys = originalKey.split('-'); - - var dataLevel = data; - - if (keys.length === 1) { - continue; - } - - for (var k = 0; k < keys.length; k++) { - var key = keys[k]; - - // Lowercase the first letter - // By default, dash-separated becomes camelCase - key = key.substring(0, 1).toLowerCase() + key.substring(1); - - if (!(key in dataLevel)) { - dataLevel[key] = {}; - } - - if (k == keys.length - 1) { - dataLevel[key] = data[originalKey]; - } - - dataLevel = dataLevel[key]; - } - - delete data[originalKey]; - } - - return data; - }; - - Utils.hasScroll = function (index, el) { - // Adapted from the function created by @ShadowScripter - // and adapted by @BillBarry on the Stack Exchange Code Review website. - // The original code can be found at - // http://codereview.stackexchange.com/q/13338 - // and was designed to be used with the Sizzle selector engine. - - var $el = $(el); - var overflowX = el.style.overflowX; - var overflowY = el.style.overflowY; - - //Check both x and y declarations - if (overflowX === overflowY && - (overflowY === 'hidden' || overflowY === 'visible')) { - return false; - } - - if (overflowX === 'scroll' || overflowY === 'scroll') { - return true; - } - - return ($el.innerHeight() < el.scrollHeight || - $el.innerWidth() < el.scrollWidth); - }; - - Utils.escapeMarkup = function (markup) { - var replaceMap = { - '\\': '\', - '&': '&', - '<': '<', - '>': '>', - '"': '"', - '\'': ''', - '/': '/' - }; - - // Do not try to escape the markup if it's not a string - if (typeof markup !== 'string') { - return markup; - } - - return String(markup).replace(/[&<>"'\/\\]/g, function (match) { - return replaceMap[match]; - }); - }; - - // Append an array of jQuery nodes to a given element. - Utils.appendMany = function ($element, $nodes) { - // jQuery 1.7.x does not support $.fn.append() with an array - // Fall back to a jQuery object collection using $.fn.add() - if ($.fn.jquery.substr(0, 3) === '1.7') { - var $jqNodes = $(); - - $.map($nodes, function (node) { - $jqNodes = $jqNodes.add(node); - }); - - $nodes = $jqNodes; - } - - $element.append($nodes); - }; - - return Utils; -}); - -S2.define('select2/results',[ - 'jquery', - './utils' -], function ($, Utils) { - function Results ($element, options, dataAdapter) { - this.$element = $element; - this.data = dataAdapter; - this.options = options; - - Results.__super__.constructor.call(this); - } - - Utils.Extend(Results, Utils.Observable); - - Results.prototype.render = function () { - var $results = $( - '<ul class="select2-results__options" role="tree"></ul>' - ); - - if (this.options.get('multiple')) { - $results.attr('aria-multiselectable', 'true'); - } - - this.$results = $results; - - return $results; - }; - - Results.prototype.clear = function () { - this.$results.empty(); - }; - - Results.prototype.displayMessage = function (params) { - var escapeMarkup = this.options.get('escapeMarkup'); - - this.clear(); - this.hideLoading(); - - var $message = $( - '<li role="treeitem" aria-live="assertive"' + - ' class="select2-results__option"></li>' - ); - - var message = this.options.get('translations').get(params.message); - - $message.append( - escapeMarkup( - message(params.args) - ) - ); - - $message[0].className += ' select2-results__message'; - - this.$results.append($message); - }; - - Results.prototype.hideMessages = function () { - this.$results.find('.select2-results__message').remove(); - }; - - Results.prototype.append = function (data) { - this.hideLoading(); - - var $options = []; - - if (data.results == null || data.results.length === 0) { - if (this.$results.children().length === 0) { - this.trigger('results:message', { - message: 'noResults' - }); - } - - return; - } - - data.results = this.sort(data.results); - - for (var d = 0; d < data.results.length; d++) { - var item = data.results[d]; - - var $option = this.option(item); - - $options.push($option); - } - - this.$results.append($options); - }; - - Results.prototype.position = function ($results, $dropdown) { - var $resultsContainer = $dropdown.find('.select2-results'); - $resultsContainer.append($results); - }; - - Results.prototype.sort = function (data) { - var sorter = this.options.get('sorter'); - - return sorter(data); - }; - - Results.prototype.highlightFirstItem = function () { - var $options = this.$results - .find('.select2-results__option[aria-selected]'); - - var $selected = $options.filter('[aria-selected=true]'); - - // Check if there are any selected options - if ($selected.length > 0) { - // If there are selected options, highlight the first - $selected.first().trigger('mouseenter'); - } else { - // If there are no selected options, highlight the first option - // in the dropdown - $options.first().trigger('mouseenter'); - } - - this.ensureHighlightVisible(); - }; - - Results.prototype.setClasses = function () { - var self = this; - - this.data.current(function (selected) { - var selectedIds = $.map(selected, function (s) { - return s.id.toString(); - }); - - var $options = self.$results - .find('.select2-results__option[aria-selected]'); - - $options.each(function () { - var $option = $(this); - - var item = $.data(this, 'data'); - - // id needs to be converted to a string when comparing - var id = '' + item.id; - - if ((item.element != null && item.element.selected) || - (item.element == null && $.inArray(id, selectedIds) > -1)) { - $option.attr('aria-selected', 'true'); - } else { - $option.attr('aria-selected', 'false'); - } - }); - - }); - }; - - Results.prototype.showLoading = function (params) { - this.hideLoading(); - - var loadingMore = this.options.get('translations').get('searching'); - - var loading = { - disabled: true, - loading: true, - text: loadingMore(params) - }; - var $loading = this.option(loading); - $loading.className += ' loading-results'; - - this.$results.prepend($loading); - }; - - Results.prototype.hideLoading = function () { - this.$results.find('.loading-results').remove(); - }; - - Results.prototype.option = function (data) { - var option = document.createElement('li'); - option.className = 'select2-results__option'; - - var attrs = { - 'role': 'treeitem', - 'aria-selected': 'false' - }; - - if (data.disabled) { - delete attrs['aria-selected']; - attrs['aria-disabled'] = 'true'; - } - - if (data.id == null) { - delete attrs['aria-selected']; - } - - if (data._resultId != null) { - option.id = data._resultId; - } - - if (data.title) { - option.title = data.title; - } - - if (data.children) { - attrs.role = 'group'; - attrs['aria-label'] = data.text; - delete attrs['aria-selected']; - } - - for (var attr in attrs) { - var val = attrs[attr]; - - option.setAttribute(attr, val); - } - - if (data.children) { - var $option = $(option); - - var label = document.createElement('strong'); - label.className = 'select2-results__group'; - - var $label = $(label); - this.template(data, label); - - var $children = []; - - for (var c = 0; c < data.children.length; c++) { - var child = data.children[c]; - - var $child = this.option(child); - - $children.push($child); - } - - var $childrenContainer = $('<ul></ul>', { - 'class': 'select2-results__options select2-results__options--nested' - }); - - $childrenContainer.append($children); - - $option.append(label); - $option.append($childrenContainer); - } else { - this.template(data, option); - } - - $.data(option, 'data', data); - - return option; - }; - - Results.prototype.bind = function (container, $container) { - var self = this; - - var id = container.id + '-results'; - - this.$results.attr('id', id); - - container.on('results:all', function (params) { - self.clear(); - self.append(params.data); - - if (container.isOpen()) { - self.setClasses(); - self.highlightFirstItem(); - } - }); - - container.on('results:append', function (params) { - self.append(params.data); - - if (container.isOpen()) { - self.setClasses(); - } - }); - - container.on('query', function (params) { - self.hideMessages(); - self.showLoading(params); - }); - - container.on('select', function () { - if (!container.isOpen()) { - return; - } - - self.setClasses(); - self.highlightFirstItem(); - }); - - container.on('unselect', function () { - if (!container.isOpen()) { - return; - } - - self.setClasses(); - self.highlightFirstItem(); - }); - - container.on('open', function () { - // When the dropdown is open, aria-expended="true" - self.$results.attr('aria-expanded', 'true'); - self.$results.attr('aria-hidden', 'false'); - - self.setClasses(); - self.ensureHighlightVisible(); - }); - - container.on('close', function () { - // When the dropdown is closed, aria-expended="false" - self.$results.attr('aria-expanded', 'false'); - self.$results.attr('aria-hidden', 'true'); - self.$results.removeAttr('aria-activedescendant'); - }); - - container.on('results:toggle', function () { - var $highlighted = self.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - $highlighted.trigger('mouseup'); - }); - - container.on('results:select', function () { - var $highlighted = self.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - var data = $highlighted.data('data'); - - if ($highlighted.attr('aria-selected') == 'true') { - self.trigger('close', {}); - } else { - self.trigger('select', { - data: data - }); - } - }); - - container.on('results:previous', function () { - var $highlighted = self.getHighlightedResults(); - - var $options = self.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - // If we are already at te top, don't move further - if (currentIndex === 0) { - return; - } - - var nextIndex = currentIndex - 1; - - // If none are highlighted, highlight the first - if ($highlighted.length === 0) { - nextIndex = 0; - } - - var $next = $options.eq(nextIndex); - - $next.trigger('mouseenter'); - - var currentOffset = self.$results.offset().top; - var nextTop = $next.offset().top; - var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); - - if (nextIndex === 0) { - self.$results.scrollTop(0); - } else if (nextTop - currentOffset < 0) { - self.$results.scrollTop(nextOffset); - } - }); - - container.on('results:next', function () { - var $highlighted = self.getHighlightedResults(); - - var $options = self.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - var nextIndex = currentIndex + 1; - - // If we are at the last option, stay there - if (nextIndex >= $options.length) { - return; - } - - var $next = $options.eq(nextIndex); - - $next.trigger('mouseenter'); - - var currentOffset = self.$results.offset().top + - self.$results.outerHeight(false); - var nextBottom = $next.offset().top + $next.outerHeight(false); - var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; - - if (nextIndex === 0) { - self.$results.scrollTop(0); - } else if (nextBottom > currentOffset) { - self.$results.scrollTop(nextOffset); - } - }); - - container.on('results:focus', function (params) { - params.element.addClass('select2-results__option--highlighted'); - }); - - container.on('results:message', function (params) { - self.displayMessage(params); - }); - - if ($.fn.mousewheel) { - this.$results.on('mousewheel', function (e) { - var top = self.$results.scrollTop(); - - var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; - - var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; - var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); - - if (isAtTop) { - self.$results.scrollTop(0); - - e.preventDefault(); - e.stopPropagation(); - } else if (isAtBottom) { - self.$results.scrollTop( - self.$results.get(0).scrollHeight - self.$results.height() - ); - - e.preventDefault(); - e.stopPropagation(); - } - }); - } - - this.$results.on('mouseup', '.select2-results__option[aria-selected]', - function (evt) { - var $this = $(this); - - var data = $this.data('data'); - - if ($this.attr('aria-selected') === 'true') { - if (self.options.get('multiple')) { - self.trigger('unselect', { - originalEvent: evt, - data: data - }); - } else { - self.trigger('close', {}); - } - - return; - } - - self.trigger('select', { - originalEvent: evt, - data: data - }); - }); - - this.$results.on('mouseenter', '.select2-results__option[aria-selected]', - function (evt) { - var data = $(this).data('data'); - - self.getHighlightedResults() - .removeClass('select2-results__option--highlighted'); - - self.trigger('results:focus', { - data: data, - element: $(this) - }); - }); - }; - - Results.prototype.getHighlightedResults = function () { - var $highlighted = this.$results - .find('.select2-results__option--highlighted'); - - return $highlighted; - }; - - Results.prototype.destroy = function () { - this.$results.remove(); - }; - - Results.prototype.ensureHighlightVisible = function () { - var $highlighted = this.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - var $options = this.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - var currentOffset = this.$results.offset().top; - var nextTop = $highlighted.offset().top; - var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); - - var offsetDelta = nextTop - currentOffset; - nextOffset -= $highlighted.outerHeight(false) * 2; - - if (currentIndex <= 2) { - this.$results.scrollTop(0); - } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { - this.$results.scrollTop(nextOffset); - } - }; - - Results.prototype.template = function (result, container) { - var template = this.options.get('templateResult'); - var escapeMarkup = this.options.get('escapeMarkup'); - - var content = template(result, container); - - if (content == null) { - container.style.display = 'none'; - } else if (typeof content === 'string') { - container.innerHTML = escapeMarkup(content); - } else { - $(container).append(content); - } - }; - - return Results; -}); - -S2.define('select2/keys',[ - -], function () { - var KEYS = { - BACKSPACE: 8, - TAB: 9, - ENTER: 13, - SHIFT: 16, - CTRL: 17, - ALT: 18, - ESC: 27, - SPACE: 32, - PAGE_UP: 33, - PAGE_DOWN: 34, - END: 35, - HOME: 36, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40, - DELETE: 46 - }; - - return KEYS; -}); - -S2.define('select2/selection/base',[ - 'jquery', - '../utils', - '../keys' -], function ($, Utils, KEYS) { - function BaseSelection ($element, options) { - this.$element = $element; - this.options = options; - - BaseSelection.__super__.constructor.call(this); - } - - Utils.Extend(BaseSelection, Utils.Observable); - - BaseSelection.prototype.render = function () { - var $selection = $( - '<span class="select2-selection" role="combobox" ' + - ' aria-haspopup="true" aria-expanded="false">' + - '</span>' - ); - - this._tabindex = 0; - - if (this.$element.data('old-tabindex') != null) { - this._tabindex = this.$element.data('old-tabindex'); - } else if (this.$element.attr('tabindex') != null) { - this._tabindex = this.$element.attr('tabindex'); - } - - $selection.attr('title', this.$element.attr('title')); - $selection.attr('tabindex', this._tabindex); - - this.$selection = $selection; - - return $selection; - }; - - BaseSelection.prototype.bind = function (container, $container) { - var self = this; - - var id = container.id + '-container'; - var resultsId = container.id + '-results'; - - this.container = container; - - this.$selection.on('focus', function (evt) { - self.trigger('focus', evt); - }); - - this.$selection.on('blur', function (evt) { - self._handleBlur(evt); - }); - - this.$selection.on('keydown', function (evt) { - self.trigger('keypress', evt); - - if (evt.which === KEYS.SPACE) { - evt.preventDefault(); - } - }); - - container.on('results:focus', function (params) { - self.$selection.attr('aria-activedescendant', params.data._resultId); - }); - - container.on('selection:update', function (params) { - self.update(params.data); - }); - - container.on('open', function () { - // When the dropdown is open, aria-expanded="true" - self.$selection.attr('aria-expanded', 'true'); - self.$selection.attr('aria-owns', resultsId); - - self._attachCloseHandler(container); - }); - - container.on('close', function () { - // When the dropdown is closed, aria-expanded="false" - self.$selection.attr('aria-expanded', 'false'); - self.$selection.removeAttr('aria-activedescendant'); - self.$selection.removeAttr('aria-owns'); - - self.$selection.focus(); - - self._detachCloseHandler(container); - }); - - container.on('enable', function () { - self.$selection.attr('tabindex', self._tabindex); - }); - - container.on('disable', function () { - self.$selection.attr('tabindex', '-1'); - }); - }; - - BaseSelection.prototype._handleBlur = function (evt) { - var self = this; - - // This needs to be delayed as the active element is the body when the tab - // key is pressed, possibly along with others. - window.setTimeout(function () { - // Don't trigger `blur` if the focus is still in the selection - if ( - (document.activeElement == self.$selection[0]) || - ($.contains(self.$selection[0], document.activeElement)) - ) { - return; - } - - self.trigger('blur', evt); - }, 1); - }; - - BaseSelection.prototype._attachCloseHandler = function (container) { - var self = this; - - $(document.body).on('mousedown.select2.' + container.id, function (e) { - var $target = $(e.target); - - var $select = $target.closest('.select2'); - - var $all = $('.select2.select2-container--open'); - - $all.each(function () { - var $this = $(this); - - if (this == $select[0]) { - return; - } - - var $element = $this.data('element'); - - $element.select2('close'); - }); - }); - }; - - BaseSelection.prototype._detachCloseHandler = function (container) { - $(document.body).off('mousedown.select2.' + container.id); - }; - - BaseSelection.prototype.position = function ($selection, $container) { - var $selectionContainer = $container.find('.selection'); - $selectionContainer.append($selection); - }; - - BaseSelection.prototype.destroy = function () { - this._detachCloseHandler(this.container); - }; - - BaseSelection.prototype.update = function (data) { - throw new Error('The `update` method must be defined in child classes.'); - }; - - return BaseSelection; -}); - -S2.define('select2/selection/single',[ - 'jquery', - './base', - '../utils', - '../keys' -], function ($, BaseSelection, Utils, KEYS) { - function SingleSelection () { - SingleSelection.__super__.constructor.apply(this, arguments); - } - - Utils.Extend(SingleSelection, BaseSelection); - - SingleSelection.prototype.render = function () { - var $selection = SingleSelection.__super__.render.call(this); - - $selection.addClass('select2-selection--single'); - - $selection.html( - '<span class="select2-selection__rendered"></span>' + - '<span class="select2-selection__arrow" role="presentation">' + - '<b role="presentation"></b>' + - '</span>' - ); - - return $selection; - }; - - SingleSelection.prototype.bind = function (container, $container) { - var self = this; - - SingleSelection.__super__.bind.apply(this, arguments); - - var id = container.id + '-container'; - - this.$selection.find('.select2-selection__rendered').attr('id', id); - this.$selection.attr('aria-labelledby', id); - - this.$selection.on('mousedown', function (evt) { - // Only respond to left clicks - if (evt.which !== 1) { - return; - } - - self.trigger('toggle', { - originalEvent: evt - }); - }); - - this.$selection.on('focus', function (evt) { - // User focuses on the container - }); - - this.$selection.on('blur', function (evt) { - // User exits the container - }); - - container.on('focus', function (evt) { - if (!container.isOpen()) { - self.$selection.focus(); - } - }); - - container.on('selection:update', function (params) { - self.update(params.data); - }); - }; - - SingleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty(); - }; - - SingleSelection.prototype.display = function (data, container) { - var template = this.options.get('templateSelection'); - var escapeMarkup = this.options.get('escapeMarkup'); - - return escapeMarkup(template(data, container)); - }; - - SingleSelection.prototype.selectionContainer = function () { - return $('<span></span>'); - }; - - SingleSelection.prototype.update = function (data) { - if (data.length === 0) { - this.clear(); - return; - } - - var selection = data[0]; - - var $rendered = this.$selection.find('.select2-selection__rendered'); - var formatted = this.display(selection, $rendered); - - $rendered.empty().append(formatted); - $rendered.prop('title', selection.title || selection.text); - }; - - return SingleSelection; -}); - -S2.define('select2/selection/multiple',[ - 'jquery', - './base', - '../utils' -], function ($, BaseSelection, Utils) { - function MultipleSelection ($element, options) { - MultipleSelection.__super__.constructor.apply(this, arguments); - } - - Utils.Extend(MultipleSelection, BaseSelection); - - MultipleSelection.prototype.render = function () { - var $selection = MultipleSelection.__super__.render.call(this); - - $selection.addClass('select2-selection--multiple'); - - $selection.html( - '<ul class="select2-selection__rendered"></ul>' - ); - - return $selection; - }; - - MultipleSelection.prototype.bind = function (container, $container) { - var self = this; - - MultipleSelection.__super__.bind.apply(this, arguments); - - this.$selection.on('click', function (evt) { - self.trigger('toggle', { - originalEvent: evt - }); - }); - - this.$selection.on( - 'click', - '.select2-selection__choice__remove', - function (evt) { - // Ignore the event if it is disabled - if (self.options.get('disabled')) { - return; - } - - var $remove = $(this); - var $selection = $remove.parent(); - - var data = $selection.data('data'); - - self.trigger('unselect', { - originalEvent: evt, - data: data - }); - } - ); - }; - - MultipleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty(); - }; - - MultipleSelection.prototype.display = function (data, container) { - var template = this.options.get('templateSelection'); - var escapeMarkup = this.options.get('escapeMarkup'); - - return escapeMarkup(template(data, container)); - }; - - MultipleSelection.prototype.selectionContainer = function () { - var $container = $( - '<li class="select2-selection__choice">' + - '<span class="select2-selection__choice__remove" role="presentation">' + - '×' + - '</span>' + - '</li>' - ); - - return $container; - }; - - MultipleSelection.prototype.update = function (data) { - this.clear(); - - if (data.length === 0) { - return; - } - - var $selections = []; - - for (var d = 0; d < data.length; d++) { - var selection = data[d]; - - var $selection = this.selectionContainer(); - var formatted = this.display(selection, $selection); - - $selection.append(formatted); - $selection.prop('title', selection.title || selection.text); - - $selection.data('data', selection); - - $selections.push($selection); - } - - var $rendered = this.$selection.find('.select2-selection__rendered'); - - Utils.appendMany($rendered, $selections); - }; - - return MultipleSelection; -}); - -S2.define('select2/selection/placeholder',[ - '../utils' -], function (Utils) { - function Placeholder (decorated, $element, options) { - this.placeholder = this.normalizePlaceholder(options.get('placeholder')); - - decorated.call(this, $element, options); - } - - Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { - if (typeof placeholder === 'string') { - placeholder = { - id: '', - text: placeholder - }; - } - - return placeholder; - }; - - Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { - var $placeholder = this.selectionContainer(); - - $placeholder.html(this.display(placeholder)); - $placeholder.addClass('select2-selection__placeholder') - .removeClass('select2-selection__choice'); - - return $placeholder; - }; - - Placeholder.prototype.update = function (decorated, data) { - var singlePlaceholder = ( - data.length == 1 && data[0].id != this.placeholder.id - ); - var multipleSelections = data.length > 1; - - if (multipleSelections || singlePlaceholder) { - return decorated.call(this, data); - } - - this.clear(); - - var $placeholder = this.createPlaceholder(this.placeholder); - - this.$selection.find('.select2-selection__rendered').append($placeholder); - }; - - return Placeholder; -}); - -S2.define('select2/selection/allowClear',[ - 'jquery', - '../keys' -], function ($, KEYS) { - function AllowClear () { } - - AllowClear.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - if (this.placeholder == null) { - if (this.options.get('debug') && window.console && console.error) { - console.error( - 'Select2: The `allowClear` option should be used in combination ' + - 'with the `placeholder` option.' - ); - } - } - - this.$selection.on('mousedown', '.select2-selection__clear', - function (evt) { - self._handleClear(evt); - }); - - container.on('keypress', function (evt) { - self._handleKeyboardClear(evt, container); - }); - }; - - AllowClear.prototype._handleClear = function (_, evt) { - // Ignore the event if it is disabled - if (this.options.get('disabled')) { - return; - } - - var $clear = this.$selection.find('.select2-selection__clear'); - - // Ignore the event if nothing has been selected - if ($clear.length === 0) { - return; - } - - evt.stopPropagation(); - - var data = $clear.data('data'); - - for (var d = 0; d < data.length; d++) { - var unselectData = { - data: data[d] - }; - - // Trigger the `unselect` event, so people can prevent it from being - // cleared. - this.trigger('unselect', unselectData); - - // If the event was prevented, don't clear it out. - if (unselectData.prevented) { - return; - } - } - - this.$element.val(this.placeholder.id).trigger('change'); - - this.trigger('toggle', {}); - }; - - AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { - if (container.isOpen()) { - return; - } - - if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { - this._handleClear(evt); - } - }; - - AllowClear.prototype.update = function (decorated, data) { - decorated.call(this, data); - - if (this.$selection.find('.select2-selection__placeholder').length > 0 || - data.length === 0) { - return; - } - - var $remove = $( - '<span class="select2-selection__clear">' + - '×' + - '</span>' - ); - $remove.data('data', data); - - this.$selection.find('.select2-selection__rendered').prepend($remove); - }; - - return AllowClear; -}); - -S2.define('select2/selection/search',[ - 'jquery', - '../utils', - '../keys' -], function ($, Utils, KEYS) { - function Search (decorated, $element, options) { - decorated.call(this, $element, options); - } - - Search.prototype.render = function (decorated) { - var $search = $( - '<li class="select2-search select2-search--inline">' + - '<input class="select2-search__field" type="search" tabindex="-1"' + - ' autocomplete="off" autocorrect="off" autocapitalize="off"' + - ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + - '</li>' - ); - - this.$searchContainer = $search; - this.$search = $search.find('input'); - - var $rendered = decorated.call(this); - - this._transferTabIndex(); - - return $rendered; - }; - - Search.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('open', function () { - self.$search.trigger('focus'); - }); - - container.on('close', function () { - self.$search.val(''); - self.$search.removeAttr('aria-activedescendant'); - self.$search.trigger('focus'); - }); - - container.on('enable', function () { - self.$search.prop('disabled', false); - - self._transferTabIndex(); - }); - - container.on('disable', function () { - self.$search.prop('disabled', true); - }); - - container.on('focus', function (evt) { - self.$search.trigger('focus'); - }); - - container.on('results:focus', function (params) { - self.$search.attr('aria-activedescendant', params.id); - }); - - this.$selection.on('focusin', '.select2-search--inline', function (evt) { - self.trigger('focus', evt); - }); - - this.$selection.on('focusout', '.select2-search--inline', function (evt) { - self._handleBlur(evt); - }); - - this.$selection.on('keydown', '.select2-search--inline', function (evt) { - evt.stopPropagation(); - - self.trigger('keypress', evt); - - self._keyUpPrevented = evt.isDefaultPrevented(); - - var key = evt.which; - - if (key === KEYS.BACKSPACE && self.$search.val() === '') { - var $previousChoice = self.$searchContainer - .prev('.select2-selection__choice'); - - if ($previousChoice.length > 0) { - var item = $previousChoice.data('data'); - - self.searchRemoveChoice(item); - - evt.preventDefault(); - } - } - }); - - // Try to detect the IE version should the `documentMode` property that - // is stored on the document. This is only implemented in IE and is - // slightly cleaner than doing a user agent check. - // This property is not available in Edge, but Edge also doesn't have - // this bug. - var msie = document.documentMode; - var disableInputEvents = msie && msie <= 11; - - // Workaround for browsers which do not support the `input` event - // This will prevent double-triggering of events for browsers which support - // both the `keyup` and `input` events. - this.$selection.on( - 'input.searchcheck', - '.select2-search--inline', - function (evt) { - // IE will trigger the `input` event when a placeholder is used on a - // search box. To get around this issue, we are forced to ignore all - // `input` events in IE and keep using `keyup`. - if (disableInputEvents) { - self.$selection.off('input.search input.searchcheck'); - return; - } - - // Unbind the duplicated `keyup` event - self.$selection.off('keyup.search'); - } - ); - - this.$selection.on( - 'keyup.search input.search', - '.select2-search--inline', - function (evt) { - // IE will trigger the `input` event when a placeholder is used on a - // search box. To get around this issue, we are forced to ignore all - // `input` events in IE and keep using `keyup`. - if (disableInputEvents && evt.type === 'input') { - self.$selection.off('input.search input.searchcheck'); - return; - } - - var key = evt.which; - - // We can freely ignore events from modifier keys - if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { - return; - } - - // Tabbing will be handled during the `keydown` phase - if (key == KEYS.TAB) { - return; - } - - self.handleSearch(evt); - } - ); - }; - - /** - * This method will transfer the tabindex attribute from the rendered - * selection to the search box. This allows for the search box to be used as - * the primary focus instead of the selection container. - * - * @private - */ - Search.prototype._transferTabIndex = function (decorated) { - this.$search.attr('tabindex', this.$selection.attr('tabindex')); - this.$selection.attr('tabindex', '-1'); - }; - - Search.prototype.createPlaceholder = function (decorated, placeholder) { - this.$search.attr('placeholder', placeholder.text); - }; - - Search.prototype.update = function (decorated, data) { - var searchHadFocus = this.$search[0] == document.activeElement; - - this.$search.attr('placeholder', ''); - - decorated.call(this, data); - - this.$selection.find('.select2-selection__rendered') - .append(this.$searchContainer); - - this.resizeSearch(); - if (searchHadFocus) { - this.$search.focus(); - } - }; - - Search.prototype.handleSearch = function () { - this.resizeSearch(); - - if (!this._keyUpPrevented) { - var input = this.$search.val(); - - this.trigger('query', { - term: input - }); - } - - this._keyUpPrevented = false; - }; - - Search.prototype.searchRemoveChoice = function (decorated, item) { - this.trigger('unselect', { - data: item - }); - - this.$search.val(item.text); - this.handleSearch(); - }; - - Search.prototype.resizeSearch = function () { - this.$search.css('width', '25px'); - - var width = ''; - - if (this.$search.attr('placeholder') !== '') { - width = this.$selection.find('.select2-selection__rendered').innerWidth(); - } else { - var minimumWidth = this.$search.val().length + 1; - - width = (minimumWidth * 0.75) + 'em'; - } - - this.$search.css('width', width); - }; - - return Search; -}); - -S2.define('select2/selection/eventRelay',[ - 'jquery' -], function ($) { - function EventRelay () { } - - EventRelay.prototype.bind = function (decorated, container, $container) { - var self = this; - var relayEvents = [ - 'open', 'opening', - 'close', 'closing', - 'select', 'selecting', - 'unselect', 'unselecting' - ]; - - var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting']; - - decorated.call(this, container, $container); - - container.on('*', function (name, params) { - // Ignore events that should not be relayed - if ($.inArray(name, relayEvents) === -1) { - return; - } - - // The parameters should always be an object - params = params || {}; - - // Generate the jQuery event for the Select2 event - var evt = $.Event('select2:' + name, { - params: params - }); - - self.$element.trigger(evt); - - // Only handle preventable events if it was one - if ($.inArray(name, preventableEvents) === -1) { - return; - } - - params.prevented = evt.isDefaultPrevented(); - }); - }; - - return EventRelay; -}); - -S2.define('select2/translation',[ - 'jquery', - 'require' -], function ($, require) { - function Translation (dict) { - this.dict = dict || {}; - } - - Translation.prototype.all = function () { - return this.dict; - }; - - Translation.prototype.get = function (key) { - return this.dict[key]; - }; - - Translation.prototype.extend = function (translation) { - this.dict = $.extend({}, translation.all(), this.dict); - }; - - // Static functions - - Translation._cache = {}; - - Translation.loadPath = function (path) { - if (!(path in Translation._cache)) { - var translations = require(path); - - Translation._cache[path] = translations; - } - - return new Translation(Translation._cache[path]); - }; - - return Translation; -}); - -S2.define('select2/diacritics',[ - -], function () { - var diacritics = { - '\u24B6': 'A', - '\uFF21': 'A', - '\u00C0': 'A', - '\u00C1': 'A', - '\u00C2': 'A', - '\u1EA6': 'A', - '\u1EA4': 'A', - '\u1EAA': 'A', - '\u1EA8': 'A', - '\u00C3': 'A', - '\u0100': 'A', - '\u0102': 'A', - '\u1EB0': 'A', - '\u1EAE': 'A', - '\u1EB4': 'A', - '\u1EB2': 'A', - '\u0226': 'A', - '\u01E0': 'A', - '\u00C4': 'A', - '\u01DE': 'A', - '\u1EA2': 'A', - '\u00C5': 'A', - '\u01FA': 'A', - '\u01CD': 'A', - '\u0200': 'A', - '\u0202': 'A', - '\u1EA0': 'A', - '\u1EAC': 'A', - '\u1EB6': 'A', - '\u1E00': 'A', - '\u0104': 'A', - '\u023A': 'A', - '\u2C6F': 'A', - '\uA732': 'AA', - '\u00C6': 'AE', - '\u01FC': 'AE', - '\u01E2': 'AE', - '\uA734': 'AO', - '\uA736': 'AU', - '\uA738': 'AV', - '\uA73A': 'AV', - '\uA73C': 'AY', - '\u24B7': 'B', - '\uFF22': 'B', - '\u1E02': 'B', - '\u1E04': 'B', - '\u1E06': 'B', - '\u0243': 'B', - '\u0182': 'B', - '\u0181': 'B', - '\u24B8': 'C', - '\uFF23': 'C', - '\u0106': 'C', - '\u0108': 'C', - '\u010A': 'C', - '\u010C': 'C', - '\u00C7': 'C', - '\u1E08': 'C', - '\u0187': 'C', - '\u023B': 'C', - '\uA73E': 'C', - '\u24B9': 'D', - '\uFF24': 'D', - '\u1E0A': 'D', - '\u010E': 'D', - '\u1E0C': 'D', - '\u1E10': 'D', - '\u1E12': 'D', - '\u1E0E': 'D', - '\u0110': 'D', - '\u018B': 'D', - '\u018A': 'D', - '\u0189': 'D', - '\uA779': 'D', - '\u01F1': 'DZ', - '\u01C4': 'DZ', - '\u01F2': 'Dz', - '\u01C5': 'Dz', - '\u24BA': 'E', - '\uFF25': 'E', - '\u00C8': 'E', - '\u00C9': 'E', - '\u00CA': 'E', - '\u1EC0': 'E', - '\u1EBE': 'E', - '\u1EC4': 'E', - '\u1EC2': 'E', - '\u1EBC': 'E', - '\u0112': 'E', - '\u1E14': 'E', - '\u1E16': 'E', - '\u0114': 'E', - '\u0116': 'E', - '\u00CB': 'E', - '\u1EBA': 'E', - '\u011A': 'E', - '\u0204': 'E', - '\u0206': 'E', - '\u1EB8': 'E', - '\u1EC6': 'E', - '\u0228': 'E', - '\u1E1C': 'E', - '\u0118': 'E', - '\u1E18': 'E', - '\u1E1A': 'E', - '\u0190': 'E', - '\u018E': 'E', - '\u24BB': 'F', - '\uFF26': 'F', - '\u1E1E': 'F', - '\u0191': 'F', - '\uA77B': 'F', - '\u24BC': 'G', - '\uFF27': 'G', - '\u01F4': 'G', - '\u011C': 'G', - '\u1E20': 'G', - '\u011E': 'G', - '\u0120': 'G', - '\u01E6': 'G', - '\u0122': 'G', - '\u01E4': 'G', - '\u0193': 'G', - '\uA7A0': 'G', - '\uA77D': 'G', - '\uA77E': 'G', - '\u24BD': 'H', - '\uFF28': 'H', - '\u0124': 'H', - '\u1E22': 'H', - '\u1E26': 'H', - '\u021E': 'H', - '\u1E24': 'H', - '\u1E28': 'H', - '\u1E2A': 'H', - '\u0126': 'H', - '\u2C67': 'H', - '\u2C75': 'H', - '\uA78D': 'H', - '\u24BE': 'I', - '\uFF29': 'I', - '\u00CC': 'I', - '\u00CD': 'I', - '\u00CE': 'I', - '\u0128': 'I', - '\u012A': 'I', - '\u012C': 'I', - '\u0130': 'I', - '\u00CF': 'I', - '\u1E2E': 'I', - '\u1EC8': 'I', - '\u01CF': 'I', - '\u0208': 'I', - '\u020A': 'I', - '\u1ECA': 'I', - '\u012E': 'I', - '\u1E2C': 'I', - '\u0197': 'I', - '\u24BF': 'J', - '\uFF2A': 'J', - '\u0134': 'J', - '\u0248': 'J', - '\u24C0': 'K', - '\uFF2B': 'K', - '\u1E30': 'K', - '\u01E8': 'K', - '\u1E32': 'K', - '\u0136': 'K', - '\u1E34': 'K', - '\u0198': 'K', - '\u2C69': 'K', - '\uA740': 'K', - '\uA742': 'K', - '\uA744': 'K', - '\uA7A2': 'K', - '\u24C1': 'L', - '\uFF2C': 'L', - '\u013F': 'L', - '\u0139': 'L', - '\u013D': 'L', - '\u1E36': 'L', - '\u1E38': 'L', - '\u013B': 'L', - '\u1E3C': 'L', - '\u1E3A': 'L', - '\u0141': 'L', - '\u023D': 'L', - '\u2C62': 'L', - '\u2C60': 'L', - '\uA748': 'L', - '\uA746': 'L', - '\uA780': 'L', - '\u01C7': 'LJ', - '\u01C8': 'Lj', - '\u24C2': 'M', - '\uFF2D': 'M', - '\u1E3E': 'M', - '\u1E40': 'M', - '\u1E42': 'M', - '\u2C6E': 'M', - '\u019C': 'M', - '\u24C3': 'N', - '\uFF2E': 'N', - '\u01F8': 'N', - '\u0143': 'N', - '\u00D1': 'N', - '\u1E44': 'N', - '\u0147': 'N', - '\u1E46': 'N', - '\u0145': 'N', - '\u1E4A': 'N', - '\u1E48': 'N', - '\u0220': 'N', - '\u019D': 'N', - '\uA790': 'N', - '\uA7A4': 'N', - '\u01CA': 'NJ', - '\u01CB': 'Nj', - '\u24C4': 'O', - '\uFF2F': 'O', - '\u00D2': 'O', - '\u00D3': 'O', - '\u00D4': 'O', - '\u1ED2': 'O', - '\u1ED0': 'O', - '\u1ED6': 'O', - '\u1ED4': 'O', - '\u00D5': 'O', - '\u1E4C': 'O', - '\u022C': 'O', - '\u1E4E': 'O', - '\u014C': 'O', - '\u1E50': 'O', - '\u1E52': 'O', - '\u014E': 'O', - '\u022E': 'O', - '\u0230': 'O', - '\u00D6': 'O', - '\u022A': 'O', - '\u1ECE': 'O', - '\u0150': 'O', - '\u01D1': 'O', - '\u020C': 'O', - '\u020E': 'O', - '\u01A0': 'O', - '\u1EDC': 'O', - '\u1EDA': 'O', - '\u1EE0': 'O', - '\u1EDE': 'O', - '\u1EE2': 'O', - '\u1ECC': 'O', - '\u1ED8': 'O', - '\u01EA': 'O', - '\u01EC': 'O', - '\u00D8': 'O', - '\u01FE': 'O', - '\u0186': 'O', - '\u019F': 'O', - '\uA74A': 'O', - '\uA74C': 'O', - '\u01A2': 'OI', - '\uA74E': 'OO', - '\u0222': 'OU', - '\u24C5': 'P', - '\uFF30': 'P', - '\u1E54': 'P', - '\u1E56': 'P', - '\u01A4': 'P', - '\u2C63': 'P', - '\uA750': 'P', - '\uA752': 'P', - '\uA754': 'P', - '\u24C6': 'Q', - '\uFF31': 'Q', - '\uA756': 'Q', - '\uA758': 'Q', - '\u024A': 'Q', - '\u24C7': 'R', - '\uFF32': 'R', - '\u0154': 'R', - '\u1E58': 'R', - '\u0158': 'R', - '\u0210': 'R', - '\u0212': 'R', - '\u1E5A': 'R', - '\u1E5C': 'R', - '\u0156': 'R', - '\u1E5E': 'R', - '\u024C': 'R', - '\u2C64': 'R', - '\uA75A': 'R', - '\uA7A6': 'R', - '\uA782': 'R', - '\u24C8': 'S', - '\uFF33': 'S', - '\u1E9E': 'S', - '\u015A': 'S', - '\u1E64': 'S', - '\u015C': 'S', - '\u1E60': 'S', - '\u0160': 'S', - '\u1E66': 'S', - '\u1E62': 'S', - '\u1E68': 'S', - '\u0218': 'S', - '\u015E': 'S', - '\u2C7E': 'S', - '\uA7A8': 'S', - '\uA784': 'S', - '\u24C9': 'T', - '\uFF34': 'T', - '\u1E6A': 'T', - '\u0164': 'T', - '\u1E6C': 'T', - '\u021A': 'T', - '\u0162': 'T', - '\u1E70': 'T', - '\u1E6E': 'T', - '\u0166': 'T', - '\u01AC': 'T', - '\u01AE': 'T', - '\u023E': 'T', - '\uA786': 'T', - '\uA728': 'TZ', - '\u24CA': 'U', - '\uFF35': 'U', - '\u00D9': 'U', - '\u00DA': 'U', - '\u00DB': 'U', - '\u0168': 'U', - '\u1E78': 'U', - '\u016A': 'U', - '\u1E7A': 'U', - '\u016C': 'U', - '\u00DC': 'U', - '\u01DB': 'U', - '\u01D7': 'U', - '\u01D5': 'U', - '\u01D9': 'U', - '\u1EE6': 'U', - '\u016E': 'U', - '\u0170': 'U', - '\u01D3': 'U', - '\u0214': 'U', - '\u0216': 'U', - '\u01AF': 'U', - '\u1EEA': 'U', - '\u1EE8': 'U', - '\u1EEE': 'U', - '\u1EEC': 'U', - '\u1EF0': 'U', - '\u1EE4': 'U', - '\u1E72': 'U', - '\u0172': 'U', - '\u1E76': 'U', - '\u1E74': 'U', - '\u0244': 'U', - '\u24CB': 'V', - '\uFF36': 'V', - '\u1E7C': 'V', - '\u1E7E': 'V', - '\u01B2': 'V', - '\uA75E': 'V', - '\u0245': 'V', - '\uA760': 'VY', - '\u24CC': 'W', - '\uFF37': 'W', - '\u1E80': 'W', - '\u1E82': 'W', - '\u0174': 'W', - '\u1E86': 'W', - '\u1E84': 'W', - '\u1E88': 'W', - '\u2C72': 'W', - '\u24CD': 'X', - '\uFF38': 'X', - '\u1E8A': 'X', - '\u1E8C': 'X', - '\u24CE': 'Y', - '\uFF39': 'Y', - '\u1EF2': 'Y', - '\u00DD': 'Y', - '\u0176': 'Y', - '\u1EF8': 'Y', - '\u0232': 'Y', - '\u1E8E': 'Y', - '\u0178': 'Y', - '\u1EF6': 'Y', - '\u1EF4': 'Y', - '\u01B3': 'Y', - '\u024E': 'Y', - '\u1EFE': 'Y', - '\u24CF': 'Z', - '\uFF3A': 'Z', - '\u0179': 'Z', - '\u1E90': 'Z', - '\u017B': 'Z', - '\u017D': 'Z', - '\u1E92': 'Z', - '\u1E94': 'Z', - '\u01B5': 'Z', - '\u0224': 'Z', - '\u2C7F': 'Z', - '\u2C6B': 'Z', - '\uA762': 'Z', - '\u24D0': 'a', - '\uFF41': 'a', - '\u1E9A': 'a', - '\u00E0': 'a', - '\u00E1': 'a', - '\u00E2': 'a', - '\u1EA7': 'a', - '\u1EA5': 'a', - '\u1EAB': 'a', - '\u1EA9': 'a', - '\u00E3': 'a', - '\u0101': 'a', - '\u0103': 'a', - '\u1EB1': 'a', - '\u1EAF': 'a', - '\u1EB5': 'a', - '\u1EB3': 'a', - '\u0227': 'a', - '\u01E1': 'a', - '\u00E4': 'a', - '\u01DF': 'a', - '\u1EA3': 'a', - '\u00E5': 'a', - '\u01FB': 'a', - '\u01CE': 'a', - '\u0201': 'a', - '\u0203': 'a', - '\u1EA1': 'a', - '\u1EAD': 'a', - '\u1EB7': 'a', - '\u1E01': 'a', - '\u0105': 'a', - '\u2C65': 'a', - '\u0250': 'a', - '\uA733': 'aa', - '\u00E6': 'ae', - '\u01FD': 'ae', - '\u01E3': 'ae', - '\uA735': 'ao', - '\uA737': 'au', - '\uA739': 'av', - '\uA73B': 'av', - '\uA73D': 'ay', - '\u24D1': 'b', - '\uFF42': 'b', - '\u1E03': 'b', - '\u1E05': 'b', - '\u1E07': 'b', - '\u0180': 'b', - '\u0183': 'b', - '\u0253': 'b', - '\u24D2': 'c', - '\uFF43': 'c', - '\u0107': 'c', - '\u0109': 'c', - '\u010B': 'c', - '\u010D': 'c', - '\u00E7': 'c', - '\u1E09': 'c', - '\u0188': 'c', - '\u023C': 'c', - '\uA73F': 'c', - '\u2184': 'c', - '\u24D3': 'd', - '\uFF44': 'd', - '\u1E0B': 'd', - '\u010F': 'd', - '\u1E0D': 'd', - '\u1E11': 'd', - '\u1E13': 'd', - '\u1E0F': 'd', - '\u0111': 'd', - '\u018C': 'd', - '\u0256': 'd', - '\u0257': 'd', - '\uA77A': 'd', - '\u01F3': 'dz', - '\u01C6': 'dz', - '\u24D4': 'e', - '\uFF45': 'e', - '\u00E8': 'e', - '\u00E9': 'e', - '\u00EA': 'e', - '\u1EC1': 'e', - '\u1EBF': 'e', - '\u1EC5': 'e', - '\u1EC3': 'e', - '\u1EBD': 'e', - '\u0113': 'e', - '\u1E15': 'e', - '\u1E17': 'e', - '\u0115': 'e', - '\u0117': 'e', - '\u00EB': 'e', - '\u1EBB': 'e', - '\u011B': 'e', - '\u0205': 'e', - '\u0207': 'e', - '\u1EB9': 'e', - '\u1EC7': 'e', - '\u0229': 'e', - '\u1E1D': 'e', - '\u0119': 'e', - '\u1E19': 'e', - '\u1E1B': 'e', - '\u0247': 'e', - '\u025B': 'e', - '\u01DD': 'e', - '\u24D5': 'f', - '\uFF46': 'f', - '\u1E1F': 'f', - '\u0192': 'f', - '\uA77C': 'f', - '\u24D6': 'g', - '\uFF47': 'g', - '\u01F5': 'g', - '\u011D': 'g', - '\u1E21': 'g', - '\u011F': 'g', - '\u0121': 'g', - '\u01E7': 'g', - '\u0123': 'g', - '\u01E5': 'g', - '\u0260': 'g', - '\uA7A1': 'g', - '\u1D79': 'g', - '\uA77F': 'g', - '\u24D7': 'h', - '\uFF48': 'h', - '\u0125': 'h', - '\u1E23': 'h', - '\u1E27': 'h', - '\u021F': 'h', - '\u1E25': 'h', - '\u1E29': 'h', - '\u1E2B': 'h', - '\u1E96': 'h', - '\u0127': 'h', - '\u2C68': 'h', - '\u2C76': 'h', - '\u0265': 'h', - '\u0195': 'hv', - '\u24D8': 'i', - '\uFF49': 'i', - '\u00EC': 'i', - '\u00ED': 'i', - '\u00EE': 'i', - '\u0129': 'i', - '\u012B': 'i', - '\u012D': 'i', - '\u00EF': 'i', - '\u1E2F': 'i', - '\u1EC9': 'i', - '\u01D0': 'i', - '\u0209': 'i', - '\u020B': 'i', - '\u1ECB': 'i', - '\u012F': 'i', - '\u1E2D': 'i', - '\u0268': 'i', - '\u0131': 'i', - '\u24D9': 'j', - '\uFF4A': 'j', - '\u0135': 'j', - '\u01F0': 'j', - '\u0249': 'j', - '\u24DA': 'k', - '\uFF4B': 'k', - '\u1E31': 'k', - '\u01E9': 'k', - '\u1E33': 'k', - '\u0137': 'k', - '\u1E35': 'k', - '\u0199': 'k', - '\u2C6A': 'k', - '\uA741': 'k', - '\uA743': 'k', - '\uA745': 'k', - '\uA7A3': 'k', - '\u24DB': 'l', - '\uFF4C': 'l', - '\u0140': 'l', - '\u013A': 'l', - '\u013E': 'l', - '\u1E37': 'l', - '\u1E39': 'l', - '\u013C': 'l', - '\u1E3D': 'l', - '\u1E3B': 'l', - '\u017F': 'l', - '\u0142': 'l', - '\u019A': 'l', - '\u026B': 'l', - '\u2C61': 'l', - '\uA749': 'l', - '\uA781': 'l', - '\uA747': 'l', - '\u01C9': 'lj', - '\u24DC': 'm', - '\uFF4D': 'm', - '\u1E3F': 'm', - '\u1E41': 'm', - '\u1E43': 'm', - '\u0271': 'm', - '\u026F': 'm', - '\u24DD': 'n', - '\uFF4E': 'n', - '\u01F9': 'n', - '\u0144': 'n', - '\u00F1': 'n', - '\u1E45': 'n', - '\u0148': 'n', - '\u1E47': 'n', - '\u0146': 'n', - '\u1E4B': 'n', - '\u1E49': 'n', - '\u019E': 'n', - '\u0272': 'n', - '\u0149': 'n', - '\uA791': 'n', - '\uA7A5': 'n', - '\u01CC': 'nj', - '\u24DE': 'o', - '\uFF4F': 'o', - '\u00F2': 'o', - '\u00F3': 'o', - '\u00F4': 'o', - '\u1ED3': 'o', - '\u1ED1': 'o', - '\u1ED7': 'o', - '\u1ED5': 'o', - '\u00F5': 'o', - '\u1E4D': 'o', - '\u022D': 'o', - '\u1E4F': 'o', - '\u014D': 'o', - '\u1E51': 'o', - '\u1E53': 'o', - '\u014F': 'o', - '\u022F': 'o', - '\u0231': 'o', - '\u00F6': 'o', - '\u022B': 'o', - '\u1ECF': 'o', - '\u0151': 'o', - '\u01D2': 'o', - '\u020D': 'o', - '\u020F': 'o', - '\u01A1': 'o', - '\u1EDD': 'o', - '\u1EDB': 'o', - '\u1EE1': 'o', - '\u1EDF': 'o', - '\u1EE3': 'o', - '\u1ECD': 'o', - '\u1ED9': 'o', - '\u01EB': 'o', - '\u01ED': 'o', - '\u00F8': 'o', - '\u01FF': 'o', - '\u0254': 'o', - '\uA74B': 'o', - '\uA74D': 'o', - '\u0275': 'o', - '\u01A3': 'oi', - '\u0223': 'ou', - '\uA74F': 'oo', - '\u24DF': 'p', - '\uFF50': 'p', - '\u1E55': 'p', - '\u1E57': 'p', - '\u01A5': 'p', - '\u1D7D': 'p', - '\uA751': 'p', - '\uA753': 'p', - '\uA755': 'p', - '\u24E0': 'q', - '\uFF51': 'q', - '\u024B': 'q', - '\uA757': 'q', - '\uA759': 'q', - '\u24E1': 'r', - '\uFF52': 'r', - '\u0155': 'r', - '\u1E59': 'r', - '\u0159': 'r', - '\u0211': 'r', - '\u0213': 'r', - '\u1E5B': 'r', - '\u1E5D': 'r', - '\u0157': 'r', - '\u1E5F': 'r', - '\u024D': 'r', - '\u027D': 'r', - '\uA75B': 'r', - '\uA7A7': 'r', - '\uA783': 'r', - '\u24E2': 's', - '\uFF53': 's', - '\u00DF': 's', - '\u015B': 's', - '\u1E65': 's', - '\u015D': 's', - '\u1E61': 's', - '\u0161': 's', - '\u1E67': 's', - '\u1E63': 's', - '\u1E69': 's', - '\u0219': 's', - '\u015F': 's', - '\u023F': 's', - '\uA7A9': 's', - '\uA785': 's', - '\u1E9B': 's', - '\u24E3': 't', - '\uFF54': 't', - '\u1E6B': 't', - '\u1E97': 't', - '\u0165': 't', - '\u1E6D': 't', - '\u021B': 't', - '\u0163': 't', - '\u1E71': 't', - '\u1E6F': 't', - '\u0167': 't', - '\u01AD': 't', - '\u0288': 't', - '\u2C66': 't', - '\uA787': 't', - '\uA729': 'tz', - '\u24E4': 'u', - '\uFF55': 'u', - '\u00F9': 'u', - '\u00FA': 'u', - '\u00FB': 'u', - '\u0169': 'u', - '\u1E79': 'u', - '\u016B': 'u', - '\u1E7B': 'u', - '\u016D': 'u', - '\u00FC': 'u', - '\u01DC': 'u', - '\u01D8': 'u', - '\u01D6': 'u', - '\u01DA': 'u', - '\u1EE7': 'u', - '\u016F': 'u', - '\u0171': 'u', - '\u01D4': 'u', - '\u0215': 'u', - '\u0217': 'u', - '\u01B0': 'u', - '\u1EEB': 'u', - '\u1EE9': 'u', - '\u1EEF': 'u', - '\u1EED': 'u', - '\u1EF1': 'u', - '\u1EE5': 'u', - '\u1E73': 'u', - '\u0173': 'u', - '\u1E77': 'u', - '\u1E75': 'u', - '\u0289': 'u', - '\u24E5': 'v', - '\uFF56': 'v', - '\u1E7D': 'v', - '\u1E7F': 'v', - '\u028B': 'v', - '\uA75F': 'v', - '\u028C': 'v', - '\uA761': 'vy', - '\u24E6': 'w', - '\uFF57': 'w', - '\u1E81': 'w', - '\u1E83': 'w', - '\u0175': 'w', - '\u1E87': 'w', - '\u1E85': 'w', - '\u1E98': 'w', - '\u1E89': 'w', - '\u2C73': 'w', - '\u24E7': 'x', - '\uFF58': 'x', - '\u1E8B': 'x', - '\u1E8D': 'x', - '\u24E8': 'y', - '\uFF59': 'y', - '\u1EF3': 'y', - '\u00FD': 'y', - '\u0177': 'y', - '\u1EF9': 'y', - '\u0233': 'y', - '\u1E8F': 'y', - '\u00FF': 'y', - '\u1EF7': 'y', - '\u1E99': 'y', - '\u1EF5': 'y', - '\u01B4': 'y', - '\u024F': 'y', - '\u1EFF': 'y', - '\u24E9': 'z', - '\uFF5A': 'z', - '\u017A': 'z', - '\u1E91': 'z', - '\u017C': 'z', - '\u017E': 'z', - '\u1E93': 'z', - '\u1E95': 'z', - '\u01B6': 'z', - '\u0225': 'z', - '\u0240': 'z', - '\u2C6C': 'z', - '\uA763': 'z', - '\u0386': '\u0391', - '\u0388': '\u0395', - '\u0389': '\u0397', - '\u038A': '\u0399', - '\u03AA': '\u0399', - '\u038C': '\u039F', - '\u038E': '\u03A5', - '\u03AB': '\u03A5', - '\u038F': '\u03A9', - '\u03AC': '\u03B1', - '\u03AD': '\u03B5', - '\u03AE': '\u03B7', - '\u03AF': '\u03B9', - '\u03CA': '\u03B9', - '\u0390': '\u03B9', - '\u03CC': '\u03BF', - '\u03CD': '\u03C5', - '\u03CB': '\u03C5', - '\u03B0': '\u03C5', - '\u03C9': '\u03C9', - '\u03C2': '\u03C3' - }; - - return diacritics; -}); - -S2.define('select2/data/base',[ - '../utils' -], function (Utils) { - function BaseAdapter ($element, options) { - BaseAdapter.__super__.constructor.call(this); - } - - Utils.Extend(BaseAdapter, Utils.Observable); - - BaseAdapter.prototype.current = function (callback) { - throw new Error('The `current` method must be defined in child classes.'); - }; - - BaseAdapter.prototype.query = function (params, callback) { - throw new Error('The `query` method must be defined in child classes.'); - }; - - BaseAdapter.prototype.bind = function (container, $container) { - // Can be implemented in subclasses - }; - - BaseAdapter.prototype.destroy = function () { - // Can be implemented in subclasses - }; - - BaseAdapter.prototype.generateResultId = function (container, data) { - var id = container.id + '-result-'; - - id += Utils.generateChars(4); - - if (data.id != null) { - id += '-' + data.id.toString(); - } else { - id += '-' + Utils.generateChars(4); - } - return id; - }; - - return BaseAdapter; -}); - -S2.define('select2/data/select',[ - './base', - '../utils', - 'jquery' -], function (BaseAdapter, Utils, $) { - function SelectAdapter ($element, options) { - this.$element = $element; - this.options = options; - - SelectAdapter.__super__.constructor.call(this); - } - - Utils.Extend(SelectAdapter, BaseAdapter); - - SelectAdapter.prototype.current = function (callback) { - var data = []; - var self = this; - - this.$element.find(':selected').each(function () { - var $option = $(this); - - var option = self.item($option); - - data.push(option); - }); - - callback(data); - }; - - SelectAdapter.prototype.select = function (data) { - var self = this; - - data.selected = true; - - // If data.element is a DOM node, use it instead - if ($(data.element).is('option')) { - data.element.selected = true; - - this.$element.trigger('change'); - - return; - } - - if (this.$element.prop('multiple')) { - this.current(function (currentData) { - var val = []; - - data = [data]; - data.push.apply(data, currentData); - - for (var d = 0; d < data.length; d++) { - var id = data[d].id; - - if ($.inArray(id, val) === -1) { - val.push(id); - } - } - - self.$element.val(val); - self.$element.trigger('change'); - }); - } else { - var val = data.id; - - this.$element.val(val); - this.$element.trigger('change'); - } - }; - - SelectAdapter.prototype.unselect = function (data) { - var self = this; - - if (!this.$element.prop('multiple')) { - return; - } - - data.selected = false; - - if ($(data.element).is('option')) { - data.element.selected = false; - - this.$element.trigger('change'); - - return; - } - - this.current(function (currentData) { - var val = []; - - for (var d = 0; d < currentData.length; d++) { - var id = currentData[d].id; - - if (id !== data.id && $.inArray(id, val) === -1) { - val.push(id); - } - } - - self.$element.val(val); - - self.$element.trigger('change'); - }); - }; - - SelectAdapter.prototype.bind = function (container, $container) { - var self = this; - - this.container = container; - - container.on('select', function (params) { - self.select(params.data); - }); - - container.on('unselect', function (params) { - self.unselect(params.data); - }); - }; - - SelectAdapter.prototype.destroy = function () { - // Remove anything added to child elements - this.$element.find('*').each(function () { - // Remove any custom data set by Select2 - $.removeData(this, 'data'); - }); - }; - - SelectAdapter.prototype.query = function (params, callback) { - var data = []; - var self = this; - - var $options = this.$element.children(); - - $options.each(function () { - var $option = $(this); - - if (!$option.is('option') && !$option.is('optgroup')) { - return; - } - - var option = self.item($option); - - var matches = self.matches(params, option); - - if (matches !== null) { - data.push(matches); - } - }); - - callback({ - results: data - }); - }; - - SelectAdapter.prototype.addOptions = function ($options) { - Utils.appendMany(this.$element, $options); - }; - - SelectAdapter.prototype.option = function (data) { - var option; - - if (data.children) { - option = document.createElement('optgroup'); - option.label = data.text; - } else { - option = document.createElement('option'); - - if (option.textContent !== undefined) { - option.textContent = data.text; - } else { - option.innerText = data.text; - } - } - - if (data.id) { - option.value = data.id; - } - - if (data.disabled) { - option.disabled = true; - } - - if (data.selected) { - option.selected = true; - } - - if (data.title) { - option.title = data.title; - } - - var $option = $(option); - - var normalizedData = this._normalizeItem(data); - normalizedData.element = option; - - // Override the option's data with the combined data - $.data(option, 'data', normalizedData); - - return $option; - }; - - SelectAdapter.prototype.item = function ($option) { - var data = {}; - - data = $.data($option[0], 'data'); - - if (data != null) { - return data; - } - - if ($option.is('option')) { - data = { - id: $option.val(), - text: $option.text(), - disabled: $option.prop('disabled'), - selected: $option.prop('selected'), - title: $option.prop('title') - }; - } else if ($option.is('optgroup')) { - data = { - text: $option.prop('label'), - children: [], - title: $option.prop('title') - }; - - var $children = $option.children('option'); - var children = []; - - for (var c = 0; c < $children.length; c++) { - var $child = $($children[c]); - - var child = this.item($child); - - children.push(child); - } - - data.children = children; - } - - data = this._normalizeItem(data); - data.element = $option[0]; - - $.data($option[0], 'data', data); - - return data; - }; - - SelectAdapter.prototype._normalizeItem = function (item) { - if (!$.isPlainObject(item)) { - item = { - id: item, - text: item - }; - } - - item = $.extend({}, { - text: '' - }, item); - - var defaults = { - selected: false, - disabled: false - }; - - if (item.id != null) { - item.id = item.id.toString(); - } - - if (item.text != null) { - item.text = item.text.toString(); - } - - if (item._resultId == null && item.id && this.container != null) { - item._resultId = this.generateResultId(this.container, item); - } - - return $.extend({}, defaults, item); - }; - - SelectAdapter.prototype.matches = function (params, data) { - var matcher = this.options.get('matcher'); - - return matcher(params, data); - }; - - return SelectAdapter; -}); - -S2.define('select2/data/array',[ - './select', - '../utils', - 'jquery' -], function (SelectAdapter, Utils, $) { - function ArrayAdapter ($element, options) { - var data = options.get('data') || []; - - ArrayAdapter.__super__.constructor.call(this, $element, options); - - this.addOptions(this.convertToOptions(data)); - } - - Utils.Extend(ArrayAdapter, SelectAdapter); - - ArrayAdapter.prototype.select = function (data) { - var $option = this.$element.find('option').filter(function (i, elm) { - return elm.value == data.id.toString(); - }); - - if ($option.length === 0) { - $option = this.option(data); - - this.addOptions($option); - } - - ArrayAdapter.__super__.select.call(this, data); - }; - - ArrayAdapter.prototype.convertToOptions = function (data) { - var self = this; - - var $existing = this.$element.find('option'); - var existingIds = $existing.map(function () { - return self.item($(this)).id; - }).get(); - - var $options = []; - - // Filter out all items except for the one passed in the argument - function onlyItem (item) { - return function () { - return $(this).val() == item.id; - }; - } - - for (var d = 0; d < data.length; d++) { - var item = this._normalizeItem(data[d]); - - // Skip items which were pre-loaded, only merge the data - if ($.inArray(item.id, existingIds) >= 0) { - var $existingOption = $existing.filter(onlyItem(item)); - - var existingData = this.item($existingOption); - var newData = $.extend(true, {}, item, existingData); - - var $newOption = this.option(newData); - - $existingOption.replaceWith($newOption); - - continue; - } - - var $option = this.option(item); - - if (item.children) { - var $children = this.convertToOptions(item.children); - - Utils.appendMany($option, $children); - } - - $options.push($option); - } - - return $options; - }; - - return ArrayAdapter; -}); - -S2.define('select2/data/ajax',[ - './array', - '../utils', - 'jquery' -], function (ArrayAdapter, Utils, $) { - function AjaxAdapter ($element, options) { - this.ajaxOptions = this._applyDefaults(options.get('ajax')); - - if (this.ajaxOptions.processResults != null) { - this.processResults = this.ajaxOptions.processResults; - } - - AjaxAdapter.__super__.constructor.call(this, $element, options); - } - - Utils.Extend(AjaxAdapter, ArrayAdapter); - - AjaxAdapter.prototype._applyDefaults = function (options) { - var defaults = { - data: function (params) { - return $.extend({}, params, { - q: params.term - }); - }, - transport: function (params, success, failure) { - var $request = $.ajax(params); - - $request.then(success); - $request.fail(failure); - - return $request; - } - }; - - return $.extend({}, defaults, options, true); - }; - - AjaxAdapter.prototype.processResults = function (results) { - return results; - }; - - AjaxAdapter.prototype.query = function (params, callback) { - var matches = []; - var self = this; - - if (this._request != null) { - // JSONP requests cannot always be aborted - if ($.isFunction(this._request.abort)) { - this._request.abort(); - } - - this._request = null; - } - - var options = $.extend({ - type: 'GET' - }, this.ajaxOptions); - - if (typeof options.url === 'function') { - options.url = options.url.call(this.$element, params); - } - - if (typeof options.data === 'function') { - options.data = options.data.call(this.$element, params); - } - - function request () { - var $request = options.transport(options, function (data) { - var results = self.processResults(data, params); - - if (self.options.get('debug') && window.console && console.error) { - // Check to make sure that the response included a `results` key. - if (!results || !results.results || !$.isArray(results.results)) { - console.error( - 'Select2: The AJAX results did not return an array in the ' + - '`results` key of the response.' - ); - } - } - - callback(results); - }, function () { - // Attempt to detect if a request was aborted - // Only works if the transport exposes a status property - if ($request.status && $request.status === '0') { - return; - } - - self.trigger('results:message', { - message: 'errorLoading' - }); - }); - - self._request = $request; - } - - if (this.ajaxOptions.delay && params.term != null) { - if (this._queryTimeout) { - window.clearTimeout(this._queryTimeout); - } - - this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); - } else { - request(); - } - }; - - return AjaxAdapter; -}); - -S2.define('select2/data/tags',[ - 'jquery' -], function ($) { - function Tags (decorated, $element, options) { - var tags = options.get('tags'); - - var createTag = options.get('createTag'); - - if (createTag !== undefined) { - this.createTag = createTag; - } - - var insertTag = options.get('insertTag'); - - if (insertTag !== undefined) { - this.insertTag = insertTag; - } - - decorated.call(this, $element, options); - - if ($.isArray(tags)) { - for (var t = 0; t < tags.length; t++) { - var tag = tags[t]; - var item = this._normalizeItem(tag); - - var $option = this.option(item); - - this.$element.append($option); - } - } - } - - Tags.prototype.query = function (decorated, params, callback) { - var self = this; - - this._removeOldTags(); - - if (params.term == null || params.page != null) { - decorated.call(this, params, callback); - return; - } - - function wrapper (obj, child) { - var data = obj.results; - - for (var i = 0; i < data.length; i++) { - var option = data[i]; - - var checkChildren = ( - option.children != null && - !wrapper({ - results: option.children - }, true) - ); - - var checkText = option.text === params.term; - - if (checkText || checkChildren) { - if (child) { - return false; - } - - obj.data = data; - callback(obj); - - return; - } - } - - if (child) { - return true; - } - - var tag = self.createTag(params); - - if (tag != null) { - var $option = self.option(tag); - $option.attr('data-select2-tag', true); - - self.addOptions([$option]); - - self.insertTag(data, tag); - } - - obj.results = data; - - callback(obj); - } - - decorated.call(this, params, wrapper); - }; - - Tags.prototype.createTag = function (decorated, params) { - var term = $.trim(params.term); - - if (term === '') { - return null; - } - - return { - id: term, - text: term - }; - }; - - Tags.prototype.insertTag = function (_, data, tag) { - data.unshift(tag); - }; - - Tags.prototype._removeOldTags = function (_) { - var tag = this._lastTag; - - var $options = this.$element.find('option[data-select2-tag]'); - - $options.each(function () { - if (this.selected) { - return; - } - - $(this).remove(); - }); - }; - - return Tags; -}); - -S2.define('select2/data/tokenizer',[ - 'jquery' -], function ($) { - function Tokenizer (decorated, $element, options) { - var tokenizer = options.get('tokenizer'); - - if (tokenizer !== undefined) { - this.tokenizer = tokenizer; - } - - decorated.call(this, $element, options); - } - - Tokenizer.prototype.bind = function (decorated, container, $container) { - decorated.call(this, container, $container); - - this.$search = container.dropdown.$search || container.selection.$search || - $container.find('.select2-search__field'); - }; - - Tokenizer.prototype.query = function (decorated, params, callback) { - var self = this; - - function createAndSelect (data) { - // Normalize the data object so we can use it for checks - var item = self._normalizeItem(data); - - // Check if the data object already exists as a tag - // Select it if it doesn't - var $existingOptions = self.$element.find('option').filter(function () { - return $(this).val() === item.id; - }); - - // If an existing option wasn't found for it, create the option - if (!$existingOptions.length) { - var $option = self.option(item); - $option.attr('data-select2-tag', true); - - self._removeOldTags(); - self.addOptions([$option]); - } - - // Select the item, now that we know there is an option for it - select(item); - } - - function select (data) { - self.trigger('select', { - data: data - }); - } - - params.term = params.term || ''; - - var tokenData = this.tokenizer(params, this.options, createAndSelect); - - if (tokenData.term !== params.term) { - // Replace the search term if we have the search box - if (this.$search.length) { - this.$search.val(tokenData.term); - this.$search.focus(); - } - - params.term = tokenData.term; - } - - decorated.call(this, params, callback); - }; - - Tokenizer.prototype.tokenizer = function (_, params, options, callback) { - var separators = options.get('tokenSeparators') || []; - var term = params.term; - var i = 0; - - var createTag = this.createTag || function (params) { - return { - id: params.term, - text: params.term - }; - }; - - while (i < term.length) { - var termChar = term[i]; - - if ($.inArray(termChar, separators) === -1) { - i++; - - continue; - } - - var part = term.substr(0, i); - var partParams = $.extend({}, params, { - term: part - }); - - var data = createTag(partParams); - - if (data == null) { - i++; - continue; - } - - callback(data); - - // Reset the term to not include the tokenized portion - term = term.substr(i + 1) || ''; - i = 0; - } - - return { - term: term - }; - }; - - return Tokenizer; -}); - -S2.define('select2/data/minimumInputLength',[ - -], function () { - function MinimumInputLength (decorated, $e, options) { - this.minimumInputLength = options.get('minimumInputLength'); - - decorated.call(this, $e, options); - } - - MinimumInputLength.prototype.query = function (decorated, params, callback) { - params.term = params.term || ''; - - if (params.term.length < this.minimumInputLength) { - this.trigger('results:message', { - message: 'inputTooShort', - args: { - minimum: this.minimumInputLength, - input: params.term, - params: params - } - }); - - return; - } - - decorated.call(this, params, callback); - }; - - return MinimumInputLength; -}); - -S2.define('select2/data/maximumInputLength',[ - -], function () { - function MaximumInputLength (decorated, $e, options) { - this.maximumInputLength = options.get('maximumInputLength'); - - decorated.call(this, $e, options); - } - - MaximumInputLength.prototype.query = function (decorated, params, callback) { - params.term = params.term || ''; - - if (this.maximumInputLength > 0 && - params.term.length > this.maximumInputLength) { - this.trigger('results:message', { - message: 'inputTooLong', - args: { - maximum: this.maximumInputLength, - input: params.term, - params: params - } - }); - - return; - } - - decorated.call(this, params, callback); - }; - - return MaximumInputLength; -}); - -S2.define('select2/data/maximumSelectionLength',[ - -], function (){ - function MaximumSelectionLength (decorated, $e, options) { - this.maximumSelectionLength = options.get('maximumSelectionLength'); - - decorated.call(this, $e, options); - } - - MaximumSelectionLength.prototype.query = - function (decorated, params, callback) { - var self = this; - - this.current(function (currentData) { - var count = currentData != null ? currentData.length : 0; - if (self.maximumSelectionLength > 0 && - count >= self.maximumSelectionLength) { - self.trigger('results:message', { - message: 'maximumSelected', - args: { - maximum: self.maximumSelectionLength - } - }); - return; - } - decorated.call(self, params, callback); - }); - }; - - return MaximumSelectionLength; -}); - -S2.define('select2/dropdown',[ - 'jquery', - './utils' -], function ($, Utils) { - function Dropdown ($element, options) { - this.$element = $element; - this.options = options; - - Dropdown.__super__.constructor.call(this); - } - - Utils.Extend(Dropdown, Utils.Observable); - - Dropdown.prototype.render = function () { - var $dropdown = $( - '<span class="select2-dropdown">' + - '<span class="select2-results"></span>' + - '</span>' - ); - - $dropdown.attr('dir', this.options.get('dir')); - - this.$dropdown = $dropdown; - - return $dropdown; - }; - - Dropdown.prototype.bind = function () { - // Should be implemented in subclasses - }; - - Dropdown.prototype.position = function ($dropdown, $container) { - // Should be implmented in subclasses - }; - - Dropdown.prototype.destroy = function () { - // Remove the dropdown from the DOM - this.$dropdown.remove(); - }; - - return Dropdown; -}); - -S2.define('select2/dropdown/search',[ - 'jquery', - '../utils' -], function ($, Utils) { - function Search () { } - - Search.prototype.render = function (decorated) { - var $rendered = decorated.call(this); - - var $search = $( - '<span class="select2-search select2-search--dropdown">' + - '<input class="select2-search__field" type="search" tabindex="-1"' + - ' autocomplete="off" autocorrect="off" autocapitalize="off"' + - ' spellcheck="false" role="textbox" />' + - '</span>' - ); - - this.$searchContainer = $search; - this.$search = $search.find('input'); - - $rendered.prepend($search); - - return $rendered; - }; - - Search.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - this.$search.on('keydown', function (evt) { - self.trigger('keypress', evt); - - self._keyUpPrevented = evt.isDefaultPrevented(); - }); - - // Workaround for browsers which do not support the `input` event - // This will prevent double-triggering of events for browsers which support - // both the `keyup` and `input` events. - this.$search.on('input', function (evt) { - // Unbind the duplicated `keyup` event - $(this).off('keyup'); - }); - - this.$search.on('keyup input', function (evt) { - self.handleSearch(evt); - }); - - container.on('open', function () { - self.$search.attr('tabindex', 0); - - self.$search.focus(); - - window.setTimeout(function () { - self.$search.focus(); - }, 0); - }); - - container.on('close', function () { - self.$search.attr('tabindex', -1); - - self.$search.val(''); - }); - - container.on('focus', function () { - if (container.isOpen()) { - self.$search.focus(); - } - }); - - container.on('results:all', function (params) { - if (params.query.term == null || params.query.term === '') { - var showSearch = self.showSearch(params); - - if (showSearch) { - self.$searchContainer.removeClass('select2-search--hide'); - } else { - self.$searchContainer.addClass('select2-search--hide'); - } - } - }); - }; - - Search.prototype.handleSearch = function (evt) { - if (!this._keyUpPrevented) { - var input = this.$search.val(); - - this.trigger('query', { - term: input - }); - } - - this._keyUpPrevented = false; - }; - - Search.prototype.showSearch = function (_, params) { - return true; - }; - - return Search; -}); - -S2.define('select2/dropdown/hidePlaceholder',[ - -], function () { - function HidePlaceholder (decorated, $element, options, dataAdapter) { - this.placeholder = this.normalizePlaceholder(options.get('placeholder')); - - decorated.call(this, $element, options, dataAdapter); - } - - HidePlaceholder.prototype.append = function (decorated, data) { - data.results = this.removePlaceholder(data.results); - - decorated.call(this, data); - }; - - HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { - if (typeof placeholder === 'string') { - placeholder = { - id: '', - text: placeholder - }; - } - - return placeholder; - }; - - HidePlaceholder.prototype.removePlaceholder = function (_, data) { - var modifiedData = data.slice(0); - - for (var d = data.length - 1; d >= 0; d--) { - var item = data[d]; - - if (this.placeholder.id === item.id) { - modifiedData.splice(d, 1); - } - } - - return modifiedData; - }; - - return HidePlaceholder; -}); - -S2.define('select2/dropdown/infiniteScroll',[ - 'jquery' -], function ($) { - function InfiniteScroll (decorated, $element, options, dataAdapter) { - this.lastParams = {}; - - decorated.call(this, $element, options, dataAdapter); - - this.$loadingMore = this.createLoadingMore(); - this.loading = false; - } - - InfiniteScroll.prototype.append = function (decorated, data) { - this.$loadingMore.remove(); - this.loading = false; - - decorated.call(this, data); - - if (this.showLoadingMore(data)) { - this.$results.append(this.$loadingMore); - } - }; - - InfiniteScroll.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('query', function (params) { - self.lastParams = params; - self.loading = true; - }); - - container.on('query:append', function (params) { - self.lastParams = params; - self.loading = true; - }); - - this.$results.on('scroll', function () { - var isLoadMoreVisible = $.contains( - document.documentElement, - self.$loadingMore[0] - ); - - if (self.loading || !isLoadMoreVisible) { - return; - } - - var currentOffset = self.$results.offset().top + - self.$results.outerHeight(false); - var loadingMoreOffset = self.$loadingMore.offset().top + - self.$loadingMore.outerHeight(false); - - if (currentOffset + 50 >= loadingMoreOffset) { - self.loadMore(); - } - }); - }; - - InfiniteScroll.prototype.loadMore = function () { - this.loading = true; - - var params = $.extend({}, {page: 1}, this.lastParams); - - params.page++; - - this.trigger('query:append', params); - }; - - InfiniteScroll.prototype.showLoadingMore = function (_, data) { - return data.pagination && data.pagination.more; - }; - - InfiniteScroll.prototype.createLoadingMore = function () { - var $option = $( - '<li ' + - 'class="select2-results__option select2-results__option--load-more"' + - 'role="treeitem" aria-disabled="true"></li>' - ); - - var message = this.options.get('translations').get('loadingMore'); - - $option.html(message(this.lastParams)); - - return $option; - }; - - return InfiniteScroll; -}); - -S2.define('select2/dropdown/attachBody',[ - 'jquery', - '../utils' -], function ($, Utils) { - function AttachBody (decorated, $element, options) { - this.$dropdownParent = options.get('dropdownParent') || $(document.body); - - decorated.call(this, $element, options); - } - - AttachBody.prototype.bind = function (decorated, container, $container) { - var self = this; - - var setupResultsEvents = false; - - decorated.call(this, container, $container); - - container.on('open', function () { - self._showDropdown(); - self._attachPositioningHandler(container); - - if (!setupResultsEvents) { - setupResultsEvents = true; - - container.on('results:all', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - - container.on('results:append', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - } - }); - - container.on('close', function () { - self._hideDropdown(); - self._detachPositioningHandler(container); - }); - - this.$dropdownContainer.on('mousedown', function (evt) { - evt.stopPropagation(); - }); - }; - - AttachBody.prototype.destroy = function (decorated) { - decorated.call(this); - - this.$dropdownContainer.remove(); - }; - - AttachBody.prototype.position = function (decorated, $dropdown, $container) { - // Clone all of the container classes - $dropdown.attr('class', $container.attr('class')); - - $dropdown.removeClass('select2'); - $dropdown.addClass('select2-container--open'); - - $dropdown.css({ - position: 'absolute', - top: -999999 - }); - - this.$container = $container; - }; - - AttachBody.prototype.render = function (decorated) { - var $container = $('<span></span>'); - - var $dropdown = decorated.call(this); - $container.append($dropdown); - - this.$dropdownContainer = $container; - - return $container; - }; - - AttachBody.prototype._hideDropdown = function (decorated) { - this.$dropdownContainer.detach(); - }; - - AttachBody.prototype._attachPositioningHandler = - function (decorated, container) { - var self = this; - - var scrollEvent = 'scroll.select2.' + container.id; - var resizeEvent = 'resize.select2.' + container.id; - var orientationEvent = 'orientationchange.select2.' + container.id; - - var $watchers = this.$container.parents().filter(Utils.hasScroll); - $watchers.each(function () { - $(this).data('select2-scroll-position', { - x: $(this).scrollLeft(), - y: $(this).scrollTop() - }); - }); - - $watchers.on(scrollEvent, function (ev) { - var position = $(this).data('select2-scroll-position'); - $(this).scrollTop(position.y); - }); - - $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, - function (e) { - self._positionDropdown(); - self._resizeDropdown(); - }); - }; - - AttachBody.prototype._detachPositioningHandler = - function (decorated, container) { - var scrollEvent = 'scroll.select2.' + container.id; - var resizeEvent = 'resize.select2.' + container.id; - var orientationEvent = 'orientationchange.select2.' + container.id; - - var $watchers = this.$container.parents().filter(Utils.hasScroll); - $watchers.off(scrollEvent); - - $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); - }; - - AttachBody.prototype._positionDropdown = function () { - var $window = $(window); - - var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); - var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); - - var newDirection = null; - - var offset = this.$container.offset(); - - offset.bottom = offset.top + this.$container.outerHeight(false); - - var container = { - height: this.$container.outerHeight(false) - }; - - container.top = offset.top; - container.bottom = offset.top + container.height; - - var dropdown = { - height: this.$dropdown.outerHeight(false) - }; - - var viewport = { - top: $window.scrollTop(), - bottom: $window.scrollTop() + $window.height() - }; - - var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); - var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); - - var css = { - left: offset.left, - top: container.bottom - }; - - // Determine what the parent element is to use for calciulating the offset - var $offsetParent = this.$dropdownParent; - - // For statically positoned elements, we need to get the element - // that is determining the offset - if ($offsetParent.css('position') === 'static') { - $offsetParent = $offsetParent.offsetParent(); - } - - var parentOffset = $offsetParent.offset(); - - css.top -= parentOffset.top; - css.left -= parentOffset.left; - - if (!isCurrentlyAbove && !isCurrentlyBelow) { - newDirection = 'below'; - } - - if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { - newDirection = 'above'; - } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { - newDirection = 'below'; - } - - if (newDirection == 'above' || - (isCurrentlyAbove && newDirection !== 'below')) { - css.top = container.top - parentOffset.top - dropdown.height; - } - - if (newDirection != null) { - this.$dropdown - .removeClass('select2-dropdown--below select2-dropdown--above') - .addClass('select2-dropdown--' + newDirection); - this.$container - .removeClass('select2-container--below select2-container--above') - .addClass('select2-container--' + newDirection); - } - - this.$dropdownContainer.css(css); - }; - - AttachBody.prototype._resizeDropdown = function () { - var css = { - width: this.$container.outerWidth(false) + 'px' - }; - - if (this.options.get('dropdownAutoWidth')) { - css.minWidth = css.width; - css.position = 'relative'; - css.width = 'auto'; - } - - this.$dropdown.css(css); - }; - - AttachBody.prototype._showDropdown = function (decorated) { - this.$dropdownContainer.appendTo(this.$dropdownParent); - - this._positionDropdown(); - this._resizeDropdown(); - }; - - return AttachBody; -}); - -S2.define('select2/dropdown/minimumResultsForSearch',[ - -], function () { - function countResults (data) { - var count = 0; - - for (var d = 0; d < data.length; d++) { - var item = data[d]; - - if (item.children) { - count += countResults(item.children); - } else { - count++; - } - } - - return count; - } - - function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { - this.minimumResultsForSearch = options.get('minimumResultsForSearch'); - - if (this.minimumResultsForSearch < 0) { - this.minimumResultsForSearch = Infinity; - } - - decorated.call(this, $element, options, dataAdapter); - } - - MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { - if (countResults(params.data.results) < this.minimumResultsForSearch) { - return false; - } - - return decorated.call(this, params); - }; - - return MinimumResultsForSearch; -}); - -S2.define('select2/dropdown/selectOnClose',[ - -], function () { - function SelectOnClose () { } - - SelectOnClose.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('close', function (params) { - self._handleSelectOnClose(params); - }); - }; - - SelectOnClose.prototype._handleSelectOnClose = function (_, params) { - if (params && params.originalSelect2Event != null) { - var event = params.originalSelect2Event; - - // Don't select an item if the close event was triggered from a select or - // unselect event - if (event._type === 'select' || event._type === 'unselect') { - return; - } - } - - var $highlightedResults = this.getHighlightedResults(); - - // Only select highlighted results - if ($highlightedResults.length < 1) { - return; - } - - var data = $highlightedResults.data('data'); - - // Don't re-select already selected resulte - if ( - (data.element != null && data.element.selected) || - (data.element == null && data.selected) - ) { - return; - } - - this.trigger('select', { - data: data - }); - }; - - return SelectOnClose; -}); - -S2.define('select2/dropdown/closeOnSelect',[ - -], function () { - function CloseOnSelect () { } - - CloseOnSelect.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('select', function (evt) { - self._selectTriggered(evt); - }); - - container.on('unselect', function (evt) { - self._selectTriggered(evt); - }); - }; - - CloseOnSelect.prototype._selectTriggered = function (_, evt) { - var originalEvent = evt.originalEvent; - - // Don't close if the control key is being held - if (originalEvent && originalEvent.ctrlKey) { - return; - } - - this.trigger('close', { - originalEvent: originalEvent, - originalSelect2Event: evt - }); - }; - - return CloseOnSelect; -}); - -S2.define('select2/i18n/en',[],function () { - // English - return { - errorLoading: function () { - return 'The results could not be loaded.'; - }, - inputTooLong: function (args) { - var overChars = args.input.length - args.maximum; - - var message = 'Please delete ' + overChars + ' character'; - - if (overChars != 1) { - message += 's'; - } - - return message; - }, - inputTooShort: function (args) { - var remainingChars = args.minimum - args.input.length; - - var message = 'Please enter ' + remainingChars + ' or more characters'; - - return message; - }, - loadingMore: function () { - return 'Loading more results…'; - }, - maximumSelected: function (args) { - var message = 'You can only select ' + args.maximum + ' item'; - - if (args.maximum != 1) { - message += 's'; - } - - return message; - }, - noResults: function () { - return 'No results found'; - }, - searching: function () { - return 'Searching…'; - } - }; -}); - -S2.define('select2/defaults',[ - 'jquery', - 'require', - - './results', - - './selection/single', - './selection/multiple', - './selection/placeholder', - './selection/allowClear', - './selection/search', - './selection/eventRelay', - - './utils', - './translation', - './diacritics', - - './data/select', - './data/array', - './data/ajax', - './data/tags', - './data/tokenizer', - './data/minimumInputLength', - './data/maximumInputLength', - './data/maximumSelectionLength', - - './dropdown', - './dropdown/search', - './dropdown/hidePlaceholder', - './dropdown/infiniteScroll', - './dropdown/attachBody', - './dropdown/minimumResultsForSearch', - './dropdown/selectOnClose', - './dropdown/closeOnSelect', - - './i18n/en' -], function ($, require, - - ResultsList, - - SingleSelection, MultipleSelection, Placeholder, AllowClear, - SelectionSearch, EventRelay, - - Utils, Translation, DIACRITICS, - - SelectData, ArrayData, AjaxData, Tags, Tokenizer, - MinimumInputLength, MaximumInputLength, MaximumSelectionLength, - - Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, - AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, - - EnglishTranslation) { - function Defaults () { - this.reset(); - } - - Defaults.prototype.apply = function (options) { - options = $.extend(true, {}, this.defaults, options); - - if (options.dataAdapter == null) { - if (options.ajax != null) { - options.dataAdapter = AjaxData; - } else if (options.data != null) { - options.dataAdapter = ArrayData; - } else { - options.dataAdapter = SelectData; - } - - if (options.minimumInputLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MinimumInputLength - ); - } - - if (options.maximumInputLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MaximumInputLength - ); - } - - if (options.maximumSelectionLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MaximumSelectionLength - ); - } - - if (options.tags) { - options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); - } - - if (options.tokenSeparators != null || options.tokenizer != null) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - Tokenizer - ); - } - - if (options.query != null) { - var Query = require(options.amdBase + 'compat/query'); - - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - Query - ); - } - - if (options.initSelection != null) { - var InitSelection = require(options.amdBase + 'compat/initSelection'); - - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - InitSelection - ); - } - } - - if (options.resultsAdapter == null) { - options.resultsAdapter = ResultsList; - - if (options.ajax != null) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - InfiniteScroll - ); - } - - if (options.placeholder != null) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - HidePlaceholder - ); - } - - if (options.selectOnClose) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - SelectOnClose - ); - } - } - - if (options.dropdownAdapter == null) { - if (options.multiple) { - options.dropdownAdapter = Dropdown; - } else { - var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); - - options.dropdownAdapter = SearchableDropdown; - } - - if (options.minimumResultsForSearch !== 0) { - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - MinimumResultsForSearch - ); - } - - if (options.closeOnSelect) { - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - CloseOnSelect - ); - } - - if ( - options.dropdownCssClass != null || - options.dropdownCss != null || - options.adaptDropdownCssClass != null - ) { - var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); - - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - DropdownCSS - ); - } - - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - AttachBody - ); - } - - if (options.selectionAdapter == null) { - if (options.multiple) { - options.selectionAdapter = MultipleSelection; - } else { - options.selectionAdapter = SingleSelection; - } - - // Add the placeholder mixin if a placeholder was specified - if (options.placeholder != null) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - Placeholder - ); - } - - if (options.allowClear) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - AllowClear - ); - } - - if (options.multiple) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - SelectionSearch - ); - } - - if ( - options.containerCssClass != null || - options.containerCss != null || - options.adaptContainerCssClass != null - ) { - var ContainerCSS = require(options.amdBase + 'compat/containerCss'); - - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - ContainerCSS - ); - } - - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - EventRelay - ); - } - - if (typeof options.language === 'string') { - // Check if the language is specified with a region - if (options.language.indexOf('-') > 0) { - // Extract the region information if it is included - var languageParts = options.language.split('-'); - var baseLanguage = languageParts[0]; - - options.language = [options.language, baseLanguage]; - } else { - options.language = [options.language]; - } - } - - if ($.isArray(options.language)) { - var languages = new Translation(); - options.language.push('en'); - - var languageNames = options.language; - - for (var l = 0; l < languageNames.length; l++) { - var name = languageNames[l]; - var language = {}; - - try { - // Try to load it with the original name - language = Translation.loadPath(name); - } catch (e) { - try { - // If we couldn't load it, check if it wasn't the full path - name = this.defaults.amdLanguageBase + name; - language = Translation.loadPath(name); - } catch (ex) { - // The translation could not be loaded at all. Sometimes this is - // because of a configuration problem, other times this can be - // because of how Select2 helps load all possible translation files. - if (options.debug && window.console && console.warn) { - console.warn( - 'Select2: The language file for "' + name + '" could not be ' + - 'automatically loaded. A fallback will be used instead.' - ); - } - - continue; - } - } - - languages.extend(language); - } - - options.translations = languages; - } else { - var baseTranslation = Translation.loadPath( - this.defaults.amdLanguageBase + 'en' - ); - var customTranslation = new Translation(options.language); - - customTranslation.extend(baseTranslation); - - options.translations = customTranslation; - } - - return options; - }; - - Defaults.prototype.reset = function () { - function stripDiacritics (text) { - // Used 'uni range + named function' from http://jsperf.com/diacritics/18 - function match(a) { - return DIACRITICS[a] || a; - } - - return text.replace(/[^\u0000-\u007E]/g, match); - } - - function matcher (params, data) { - // Always return the object if there is nothing to compare - if ($.trim(params.term) === '') { - return data; - } - - // Do a recursive check for options with children - if (data.children && data.children.length > 0) { - // Clone the data object if there are children - // This is required as we modify the object to remove any non-matches - var match = $.extend(true, {}, data); - - // Check each child of the option - for (var c = data.children.length - 1; c >= 0; c--) { - var child = data.children[c]; - - var matches = matcher(params, child); - - // If there wasn't a match, remove the object in the array - if (matches == null) { - match.children.splice(c, 1); - } - } - - // If any children matched, return the new object - if (match.children.length > 0) { - return match; - } - - // If there were no matching children, check just the plain object - return matcher(params, match); - } - - var original = stripDiacritics(data.text).toUpperCase(); - var term = stripDiacritics(params.term).toUpperCase(); - - // Check if the text contains the term - if (original.indexOf(term) > -1) { - return data; - } - - // If it doesn't contain the term, don't return anything - return null; - } - - this.defaults = { - amdBase: './', - amdLanguageBase: './i18n/', - closeOnSelect: true, - debug: false, - dropdownAutoWidth: false, - escapeMarkup: Utils.escapeMarkup, - language: EnglishTranslation, - matcher: matcher, - minimumInputLength: 0, - maximumInputLength: 0, - maximumSelectionLength: 0, - minimumResultsForSearch: 0, - selectOnClose: false, - sorter: function (data) { - return data; - }, - templateResult: function (result) { - return result.text; - }, - templateSelection: function (selection) { - return selection.text; - }, - theme: 'default', - width: 'resolve' - }; - }; - - Defaults.prototype.set = function (key, value) { - var camelKey = $.camelCase(key); - - var data = {}; - data[camelKey] = value; - - var convertedData = Utils._convertData(data); - - $.extend(this.defaults, convertedData); - }; - - var defaults = new Defaults(); - - return defaults; -}); - -S2.define('select2/options',[ - 'require', - 'jquery', - './defaults', - './utils' -], function (require, $, Defaults, Utils) { - function Options (options, $element) { - this.options = options; - - if ($element != null) { - this.fromElement($element); - } - - this.options = Defaults.apply(this.options); - - if ($element && $element.is('input')) { - var InputCompat = require(this.get('amdBase') + 'compat/inputData'); - - this.options.dataAdapter = Utils.Decorate( - this.options.dataAdapter, - InputCompat - ); - } - } - - Options.prototype.fromElement = function ($e) { - var excludedData = ['select2']; - - if (this.options.multiple == null) { - this.options.multiple = $e.prop('multiple'); - } - - if (this.options.disabled == null) { - this.options.disabled = $e.prop('disabled'); - } - - if (this.options.language == null) { - if ($e.prop('lang')) { - this.options.language = $e.prop('lang').toLowerCase(); - } else if ($e.closest('[lang]').prop('lang')) { - this.options.language = $e.closest('[lang]').prop('lang'); - } - } - - if (this.options.dir == null) { - if ($e.prop('dir')) { - this.options.dir = $e.prop('dir'); - } else if ($e.closest('[dir]').prop('dir')) { - this.options.dir = $e.closest('[dir]').prop('dir'); - } else { - this.options.dir = 'ltr'; - } - } - - $e.prop('disabled', this.options.disabled); - $e.prop('multiple', this.options.multiple); - - if ($e.data('select2Tags')) { - if (this.options.debug && window.console && console.warn) { - console.warn( - 'Select2: The `data-select2-tags` attribute has been changed to ' + - 'use the `data-data` and `data-tags="true"` attributes and will be ' + - 'removed in future versions of Select2.' - ); - } - - $e.data('data', $e.data('select2Tags')); - $e.data('tags', true); - } - - if ($e.data('ajaxUrl')) { - if (this.options.debug && window.console && console.warn) { - console.warn( - 'Select2: The `data-ajax-url` attribute has been changed to ' + - '`data-ajax--url` and support for the old attribute will be removed' + - ' in future versions of Select2.' - ); - } - - $e.attr('ajax--url', $e.data('ajaxUrl')); - $e.data('ajax--url', $e.data('ajaxUrl')); - } - - var dataset = {}; - - // Prefer the element's `dataset` attribute if it exists - // jQuery 1.x does not correctly handle data attributes with multiple dashes - if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { - dataset = $.extend(true, {}, $e[0].dataset, $e.data()); - } else { - dataset = $e.data(); - } - - var data = $.extend(true, {}, dataset); - - data = Utils._convertData(data); - - for (var key in data) { - if ($.inArray(key, excludedData) > -1) { - continue; - } - - if ($.isPlainObject(this.options[key])) { - $.extend(this.options[key], data[key]); - } else { - this.options[key] = data[key]; - } - } - - return this; - }; - - Options.prototype.get = function (key) { - return this.options[key]; - }; - - Options.prototype.set = function (key, val) { - this.options[key] = val; - }; - - return Options; -}); - -S2.define('select2/core',[ - 'jquery', - './options', - './utils', - './keys' -], function ($, Options, Utils, KEYS) { - var Select2 = function ($element, options) { - if ($element.data('select2') != null) { - $element.data('select2').destroy(); - } - - this.$element = $element; - - this.id = this._generateId($element); - - options = options || {}; - - this.options = new Options(options, $element); - - Select2.__super__.constructor.call(this); - - // Set up the tabindex - - var tabindex = $element.attr('tabindex') || 0; - $element.data('old-tabindex', tabindex); - $element.attr('tabindex', '-1'); - - // Set up containers and adapters - - var DataAdapter = this.options.get('dataAdapter'); - this.dataAdapter = new DataAdapter($element, this.options); - - var $container = this.render(); - - this._placeContainer($container); - - var SelectionAdapter = this.options.get('selectionAdapter'); - this.selection = new SelectionAdapter($element, this.options); - this.$selection = this.selection.render(); - - this.selection.position(this.$selection, $container); - - var DropdownAdapter = this.options.get('dropdownAdapter'); - this.dropdown = new DropdownAdapter($element, this.options); - this.$dropdown = this.dropdown.render(); - - this.dropdown.position(this.$dropdown, $container); - - var ResultsAdapter = this.options.get('resultsAdapter'); - this.results = new ResultsAdapter($element, this.options, this.dataAdapter); - this.$results = this.results.render(); - - this.results.position(this.$results, this.$dropdown); - - // Bind events - - var self = this; - - // Bind the container to all of the adapters - this._bindAdapters(); - - // Register any DOM event handlers - this._registerDomEvents(); - - // Register any internal event handlers - this._registerDataEvents(); - this._registerSelectionEvents(); - this._registerDropdownEvents(); - this._registerResultsEvents(); - this._registerEvents(); - - // Set the initial state - this.dataAdapter.current(function (initialData) { - self.trigger('selection:update', { - data: initialData - }); - }); - - // Hide the original select - $element.addClass('select2-hidden-accessible'); - $element.attr('aria-hidden', 'true'); - - // Synchronize any monitored attributes - this._syncAttributes(); - - $element.data('select2', this); - }; - - Utils.Extend(Select2, Utils.Observable); - - Select2.prototype._generateId = function ($element) { - var id = ''; - - if ($element.attr('id') != null) { - id = $element.attr('id'); - } else if ($element.attr('name') != null) { - id = $element.attr('name') + '-' + Utils.generateChars(2); - } else { - id = Utils.generateChars(4); - } - - id = id.replace(/(:|\.|\[|\]|,)/g, ''); - id = 'select2-' + id; - - return id; - }; - - Select2.prototype._placeContainer = function ($container) { - $container.insertAfter(this.$element); - - var width = this._resolveWidth(this.$element, this.options.get('width')); - - if (width != null) { - $container.css('width', width); - } - }; - - Select2.prototype._resolveWidth = function ($element, method) { - var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; - - if (method == 'resolve') { - var styleWidth = this._resolveWidth($element, 'style'); - - if (styleWidth != null) { - return styleWidth; - } - - return this._resolveWidth($element, 'element'); - } - - if (method == 'element') { - var elementWidth = $element.outerWidth(false); - - if (elementWidth <= 0) { - return 'auto'; - } - - return elementWidth + 'px'; - } - - if (method == 'style') { - var style = $element.attr('style'); - - if (typeof(style) !== 'string') { - return null; - } - - var attrs = style.split(';'); - - for (var i = 0, l = attrs.length; i < l; i = i + 1) { - var attr = attrs[i].replace(/\s/g, ''); - var matches = attr.match(WIDTH); - - if (matches !== null && matches.length >= 1) { - return matches[1]; - } - } - - return null; - } - - return method; - }; - - Select2.prototype._bindAdapters = function () { - this.dataAdapter.bind(this, this.$container); - this.selection.bind(this, this.$container); - - this.dropdown.bind(this, this.$container); - this.results.bind(this, this.$container); - }; - - Select2.prototype._registerDomEvents = function () { - var self = this; - - this.$element.on('change.select2', function () { - self.dataAdapter.current(function (data) { - self.trigger('selection:update', { - data: data - }); - }); - }); - - this.$element.on('focus.select2', function (evt) { - self.trigger('focus', evt); - }); - - this._syncA = Utils.bind(this._syncAttributes, this); - this._syncS = Utils.bind(this._syncSubtree, this); - - if (this.$element[0].attachEvent) { - this.$element[0].attachEvent('onpropertychange', this._syncA); - } - - var observer = window.MutationObserver || - window.WebKitMutationObserver || - window.MozMutationObserver - ; - - if (observer != null) { - this._observer = new observer(function (mutations) { - $.each(mutations, self._syncA); - $.each(mutations, self._syncS); - }); - this._observer.observe(this.$element[0], { - attributes: true, - childList: true, - subtree: false - }); - } else if (this.$element[0].addEventListener) { - this.$element[0].addEventListener( - 'DOMAttrModified', - self._syncA, - false - ); - this.$element[0].addEventListener( - 'DOMNodeInserted', - self._syncS, - false - ); - this.$element[0].addEventListener( - 'DOMNodeRemoved', - self._syncS, - false - ); - } - }; - - Select2.prototype._registerDataEvents = function () { - var self = this; - - this.dataAdapter.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerSelectionEvents = function () { - var self = this; - var nonRelayEvents = ['toggle', 'focus']; - - this.selection.on('toggle', function () { - self.toggleDropdown(); - }); - - this.selection.on('focus', function (params) { - self.focus(params); - }); - - this.selection.on('*', function (name, params) { - if ($.inArray(name, nonRelayEvents) !== -1) { - return; - } - - self.trigger(name, params); - }); - }; - - Select2.prototype._registerDropdownEvents = function () { - var self = this; - - this.dropdown.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerResultsEvents = function () { - var self = this; - - this.results.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerEvents = function () { - var self = this; - - this.on('open', function () { - self.$container.addClass('select2-container--open'); - }); - - this.on('close', function () { - self.$container.removeClass('select2-container--open'); - }); - - this.on('enable', function () { - self.$container.removeClass('select2-container--disabled'); - }); - - this.on('disable', function () { - self.$container.addClass('select2-container--disabled'); - }); - - this.on('blur', function () { - self.$container.removeClass('select2-container--focus'); - }); - - this.on('query', function (params) { - if (!self.isOpen()) { - self.trigger('open', {}); - } - - this.dataAdapter.query(params, function (data) { - self.trigger('results:all', { - data: data, - query: params - }); - }); - }); - - this.on('query:append', function (params) { - this.dataAdapter.query(params, function (data) { - self.trigger('results:append', { - data: data, - query: params - }); - }); - }); - - this.on('keypress', function (evt) { - var key = evt.which; - - if (self.isOpen()) { - if (key === KEYS.ESC || key === KEYS.TAB || - (key === KEYS.UP && evt.altKey)) { - self.close(); - - evt.preventDefault(); - } else if (key === KEYS.ENTER) { - self.trigger('results:select', {}); - - evt.preventDefault(); - } else if ((key === KEYS.SPACE && evt.ctrlKey)) { - self.trigger('results:toggle', {}); - - evt.preventDefault(); - } else if (key === KEYS.UP) { - self.trigger('results:previous', {}); - - evt.preventDefault(); - } else if (key === KEYS.DOWN) { - self.trigger('results:next', {}); - - evt.preventDefault(); - } - } else { - if (key === KEYS.ENTER || key === KEYS.SPACE || - (key === KEYS.DOWN && evt.altKey)) { - self.open(); - - evt.preventDefault(); - } - } - }); - }; - - Select2.prototype._syncAttributes = function () { - this.options.set('disabled', this.$element.prop('disabled')); - - if (this.options.get('disabled')) { - if (this.isOpen()) { - this.close(); - } - - this.trigger('disable', {}); - } else { - this.trigger('enable', {}); - } - }; - - Select2.prototype._syncSubtree = function (evt, mutations) { - var changed = false; - var self = this; - - // Ignore any mutation events raised for elements that aren't options or - // optgroups. This handles the case when the select element is destroyed - if ( - evt && evt.target && ( - evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' - ) - ) { - return; - } - - if (!mutations) { - // If mutation events aren't supported, then we can only assume that the - // change affected the selections - changed = true; - } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { - for (var n = 0; n < mutations.addedNodes.length; n++) { - var node = mutations.addedNodes[n]; - - if (node.selected) { - changed = true; - } - } - } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { - changed = true; - } - - // Only re-pull the data if we think there is a change - if (changed) { - this.dataAdapter.current(function (currentData) { - self.trigger('selection:update', { - data: currentData - }); - }); - } - }; - - /** - * Override the trigger method to automatically trigger pre-events when - * there are events that can be prevented. - */ - Select2.prototype.trigger = function (name, args) { - var actualTrigger = Select2.__super__.trigger; - var preTriggerMap = { - 'open': 'opening', - 'close': 'closing', - 'select': 'selecting', - 'unselect': 'unselecting' - }; - - if (args === undefined) { - args = {}; - } - - if (name in preTriggerMap) { - var preTriggerName = preTriggerMap[name]; - var preTriggerArgs = { - prevented: false, - name: name, - args: args - }; - - actualTrigger.call(this, preTriggerName, preTriggerArgs); - - if (preTriggerArgs.prevented) { - args.prevented = true; - - return; - } - } - - actualTrigger.call(this, name, args); - }; - - Select2.prototype.toggleDropdown = function () { - if (this.options.get('disabled')) { - return; - } - - if (this.isOpen()) { - this.close(); - } else { - this.open(); - } - }; - - Select2.prototype.open = function () { - if (this.isOpen()) { - return; - } - - this.trigger('query', {}); - }; - - Select2.prototype.close = function () { - if (!this.isOpen()) { - return; - } - - this.trigger('close', {}); - }; - - Select2.prototype.isOpen = function () { - return this.$container.hasClass('select2-container--open'); - }; - - Select2.prototype.hasFocus = function () { - return this.$container.hasClass('select2-container--focus'); - }; - - Select2.prototype.focus = function (data) { - // No need to re-trigger focus events if we are already focused - if (this.hasFocus()) { - return; - } - - this.$container.addClass('select2-container--focus'); - this.trigger('focus', {}); - }; - - Select2.prototype.enable = function (args) { - if (this.options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `select2("enable")` method has been deprecated and will' + - ' be removed in later Select2 versions. Use $element.prop("disabled")' + - ' instead.' - ); - } - - if (args == null || args.length === 0) { - args = [true]; - } - - var disabled = !args[0]; - - this.$element.prop('disabled', disabled); - }; - - Select2.prototype.data = function () { - if (this.options.get('debug') && - arguments.length > 0 && window.console && console.warn) { - console.warn( - 'Select2: Data can no longer be set using `select2("data")`. You ' + - 'should consider setting the value instead using `$element.val()`.' - ); - } - - var data = []; - - this.dataAdapter.current(function (currentData) { - data = currentData; - }); - - return data; - }; - - Select2.prototype.val = function (args) { - if (this.options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `select2("val")` method has been deprecated and will be' + - ' removed in later Select2 versions. Use $element.val() instead.' - ); - } - - if (args == null || args.length === 0) { - return this.$element.val(); - } - - var newVal = args[0]; - - if ($.isArray(newVal)) { - newVal = $.map(newVal, function (obj) { - return obj.toString(); - }); - } - - this.$element.val(newVal).trigger('change'); - }; - - Select2.prototype.destroy = function () { - this.$container.remove(); - - if (this.$element[0].detachEvent) { - this.$element[0].detachEvent('onpropertychange', this._syncA); - } - - if (this._observer != null) { - this._observer.disconnect(); - this._observer = null; - } else if (this.$element[0].removeEventListener) { - this.$element[0] - .removeEventListener('DOMAttrModified', this._syncA, false); - this.$element[0] - .removeEventListener('DOMNodeInserted', this._syncS, false); - this.$element[0] - .removeEventListener('DOMNodeRemoved', this._syncS, false); - } - - this._syncA = null; - this._syncS = null; - - this.$element.off('.select2'); - this.$element.attr('tabindex', this.$element.data('old-tabindex')); - - this.$element.removeClass('select2-hidden-accessible'); - this.$element.attr('aria-hidden', 'false'); - this.$element.removeData('select2'); - - this.dataAdapter.destroy(); - this.selection.destroy(); - this.dropdown.destroy(); - this.results.destroy(); - - this.dataAdapter = null; - this.selection = null; - this.dropdown = null; - this.results = null; - }; - - Select2.prototype.render = function () { - var $container = $( - '<span class="select2 select2-container">' + - '<span class="selection"></span>' + - '<span class="dropdown-wrapper" aria-hidden="true"></span>' + - '</span>' - ); - - $container.attr('dir', this.options.get('dir')); - - this.$container = $container; - - this.$container.addClass('select2-container--' + this.options.get('theme')); - - $container.data('element', this.$element); - - return $container; - }; - - return Select2; -}); - -S2.define('select2/compat/utils',[ - 'jquery' -], function ($) { - function syncCssClasses ($dest, $src, adapter) { - var classes, replacements = [], adapted; - - classes = $.trim($dest.attr('class')); - - if (classes) { - classes = '' + classes; // for IE which returns object - - $(classes.split(/\s+/)).each(function () { - // Save all Select2 classes - if (this.indexOf('select2-') === 0) { - replacements.push(this); - } - }); - } - - classes = $.trim($src.attr('class')); - - if (classes) { - classes = '' + classes; // for IE which returns object - - $(classes.split(/\s+/)).each(function () { - // Only adapt non-Select2 classes - if (this.indexOf('select2-') !== 0) { - adapted = adapter(this); - - if (adapted != null) { - replacements.push(adapted); - } - } - }); - } - - $dest.attr('class', replacements.join(' ')); - } - - return { - syncCssClasses: syncCssClasses - }; -}); - -S2.define('select2/compat/containerCss',[ - 'jquery', - './utils' -], function ($, CompatUtils) { - // No-op CSS adapter that discards all classes by default - function _containerAdapter (clazz) { - return null; - } - - function ContainerCSS () { } - - ContainerCSS.prototype.render = function (decorated) { - var $container = decorated.call(this); - - var containerCssClass = this.options.get('containerCssClass') || ''; - - if ($.isFunction(containerCssClass)) { - containerCssClass = containerCssClass(this.$element); - } - - var containerCssAdapter = this.options.get('adaptContainerCssClass'); - containerCssAdapter = containerCssAdapter || _containerAdapter; - - if (containerCssClass.indexOf(':all:') !== -1) { - containerCssClass = containerCssClass.replace(':all:', ''); - - var _cssAdapter = containerCssAdapter; - - containerCssAdapter = function (clazz) { - var adapted = _cssAdapter(clazz); - - if (adapted != null) { - // Append the old one along with the adapted one - return adapted + ' ' + clazz; - } - - return clazz; - }; - } - - var containerCss = this.options.get('containerCss') || {}; - - if ($.isFunction(containerCss)) { - containerCss = containerCss(this.$element); - } - - CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); - - $container.css(containerCss); - $container.addClass(containerCssClass); - - return $container; - }; - - return ContainerCSS; -}); - -S2.define('select2/compat/dropdownCss',[ - 'jquery', - './utils' -], function ($, CompatUtils) { - // No-op CSS adapter that discards all classes by default - function _dropdownAdapter (clazz) { - return null; - } - - function DropdownCSS () { } - - DropdownCSS.prototype.render = function (decorated) { - var $dropdown = decorated.call(this); - - var dropdownCssClass = this.options.get('dropdownCssClass') || ''; - - if ($.isFunction(dropdownCssClass)) { - dropdownCssClass = dropdownCssClass(this.$element); - } - - var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); - dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; - - if (dropdownCssClass.indexOf(':all:') !== -1) { - dropdownCssClass = dropdownCssClass.replace(':all:', ''); - - var _cssAdapter = dropdownCssAdapter; - - dropdownCssAdapter = function (clazz) { - var adapted = _cssAdapter(clazz); - - if (adapted != null) { - // Append the old one along with the adapted one - return adapted + ' ' + clazz; - } - - return clazz; - }; - } - - var dropdownCss = this.options.get('dropdownCss') || {}; - - if ($.isFunction(dropdownCss)) { - dropdownCss = dropdownCss(this.$element); - } - - CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); - - $dropdown.css(dropdownCss); - $dropdown.addClass(dropdownCssClass); - - return $dropdown; - }; - - return DropdownCSS; -}); - -S2.define('select2/compat/initSelection',[ - 'jquery' -], function ($) { - function InitSelection (decorated, $element, options) { - if (options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `initSelection` option has been deprecated in favor' + - ' of a custom data adapter that overrides the `current` method. ' + - 'This method is now called multiple times instead of a single ' + - 'time when the instance is initialized. Support will be removed ' + - 'for the `initSelection` option in future versions of Select2' - ); - } - - this.initSelection = options.get('initSelection'); - this._isInitialized = false; - - decorated.call(this, $element, options); - } - - InitSelection.prototype.current = function (decorated, callback) { - var self = this; - - if (this._isInitialized) { - decorated.call(this, callback); - - return; - } - - this.initSelection.call(null, this.$element, function (data) { - self._isInitialized = true; - - if (!$.isArray(data)) { - data = [data]; - } - - callback(data); - }); - }; - - return InitSelection; -}); - -S2.define('select2/compat/inputData',[ - 'jquery' -], function ($) { - function InputData (decorated, $element, options) { - this._currentData = []; - this._valueSeparator = options.get('valueSeparator') || ','; - - if ($element.prop('type') === 'hidden') { - if (options.get('debug') && console && console.warn) { - console.warn( - 'Select2: Using a hidden input with Select2 is no longer ' + - 'supported and may stop working in the future. It is recommended ' + - 'to use a `<select>` element instead.' - ); - } - } - - decorated.call(this, $element, options); - } - - InputData.prototype.current = function (_, callback) { - function getSelected (data, selectedIds) { - var selected = []; - - if (data.selected || $.inArray(data.id, selectedIds) !== -1) { - data.selected = true; - selected.push(data); - } else { - data.selected = false; - } - - if (data.children) { - selected.push.apply(selected, getSelected(data.children, selectedIds)); - } - - return selected; - } - - var selected = []; - - for (var d = 0; d < this._currentData.length; d++) { - var data = this._currentData[d]; - - selected.push.apply( - selected, - getSelected( - data, - this.$element.val().split( - this._valueSeparator - ) - ) - ); - } - - callback(selected); - }; - - InputData.prototype.select = function (_, data) { - if (!this.options.get('multiple')) { - this.current(function (allData) { - $.map(allData, function (data) { - data.selected = false; - }); - }); - - this.$element.val(data.id); - this.$element.trigger('change'); - } else { - var value = this.$element.val(); - value += this._valueSeparator + data.id; - - this.$element.val(value); - this.$element.trigger('change'); - } - }; - - InputData.prototype.unselect = function (_, data) { - var self = this; - - data.selected = false; - - this.current(function (allData) { - var values = []; - - for (var d = 0; d < allData.length; d++) { - var item = allData[d]; - - if (data.id == item.id) { - continue; - } - - values.push(item.id); - } - - self.$element.val(values.join(self._valueSeparator)); - self.$element.trigger('change'); - }); - }; - - InputData.prototype.query = function (_, params, callback) { - var results = []; - - for (var d = 0; d < this._currentData.length; d++) { - var data = this._currentData[d]; - - var matches = this.matches(params, data); - - if (matches !== null) { - results.push(matches); - } - } - - callback({ - results: results - }); - }; - - InputData.prototype.addOptions = function (_, $options) { - var options = $.map($options, function ($option) { - return $.data($option[0], 'data'); - }); - - this._currentData.push.apply(this._currentData, options); - }; - - return InputData; -}); - -S2.define('select2/compat/matcher',[ - 'jquery' -], function ($) { - function oldMatcher (matcher) { - function wrappedMatcher (params, data) { - var match = $.extend(true, {}, data); - - if (params.term == null || $.trim(params.term) === '') { - return match; - } - - if (data.children) { - for (var c = data.children.length - 1; c >= 0; c--) { - var child = data.children[c]; - - // Check if the child object matches - // The old matcher returned a boolean true or false - var doesMatch = matcher(params.term, child.text, child); - - // If the child didn't match, pop it off - if (!doesMatch) { - match.children.splice(c, 1); - } - } - - if (match.children.length > 0) { - return match; - } - } - - if (matcher(params.term, data.text, data)) { - return match; - } - - return null; - } - - return wrappedMatcher; - } - - return oldMatcher; -}); - -S2.define('select2/compat/query',[ - -], function () { - function Query (decorated, $element, options) { - if (options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `query` option has been deprecated in favor of a ' + - 'custom data adapter that overrides the `query` method. Support ' + - 'will be removed for the `query` option in future versions of ' + - 'Select2.' - ); - } - - decorated.call(this, $element, options); - } - - Query.prototype.query = function (_, params, callback) { - params.callback = callback; - - var query = this.options.get('query'); - - query.call(null, params); - }; - - return Query; -}); - -S2.define('select2/dropdown/attachContainer',[ - -], function () { - function AttachContainer (decorated, $element, options) { - decorated.call(this, $element, options); - } - - AttachContainer.prototype.position = - function (decorated, $dropdown, $container) { - var $dropdownContainer = $container.find('.dropdown-wrapper'); - $dropdownContainer.append($dropdown); - - $dropdown.addClass('select2-dropdown--below'); - $container.addClass('select2-container--below'); - }; - - return AttachContainer; -}); - -S2.define('select2/dropdown/stopPropagation',[ - -], function () { - function StopPropagation () { } - - StopPropagation.prototype.bind = function (decorated, container, $container) { - decorated.call(this, container, $container); - - var stoppedEvents = [ - 'blur', - 'change', - 'click', - 'dblclick', - 'focus', - 'focusin', - 'focusout', - 'input', - 'keydown', - 'keyup', - 'keypress', - 'mousedown', - 'mouseenter', - 'mouseleave', - 'mousemove', - 'mouseover', - 'mouseup', - 'search', - 'touchend', - 'touchstart' - ]; - - this.$dropdown.on(stoppedEvents.join(' '), function (evt) { - evt.stopPropagation(); - }); - }; - - return StopPropagation; -}); - -S2.define('select2/selection/stopPropagation',[ - -], function () { - function StopPropagation () { } - - StopPropagation.prototype.bind = function (decorated, container, $container) { - decorated.call(this, container, $container); - - var stoppedEvents = [ - 'blur', - 'change', - 'click', - 'dblclick', - 'focus', - 'focusin', - 'focusout', - 'input', - 'keydown', - 'keyup', - 'keypress', - 'mousedown', - 'mouseenter', - 'mouseleave', - 'mousemove', - 'mouseover', - 'mouseup', - 'search', - 'touchend', - 'touchstart' - ]; - - this.$selection.on(stoppedEvents.join(' '), function (evt) { - evt.stopPropagation(); - }); - }; - - return StopPropagation; -}); - -/*! - * jQuery Mousewheel 3.1.13 - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - */ - -(function (factory) { - if ( typeof S2.define === 'function' && S2.define.amd ) { - // AMD. Register as an anonymous module. - S2.define('jquery-mousewheel',['jquery'], factory); - } else if (typeof exports === 'object') { - // Node/CommonJS style for Browserify - module.exports = factory; - } else { - // Browser globals - factory(jQuery); - } -}(function ($) { - - var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], - toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? - ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], - slice = Array.prototype.slice, - nullLowestDeltaTimeout, lowestDelta; - - if ( $.event.fixHooks ) { - for ( var i = toFix.length; i; ) { - $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; - } - } - - var special = $.event.special.mousewheel = { - version: '3.1.12', - - setup: function() { - if ( this.addEventListener ) { - for ( var i = toBind.length; i; ) { - this.addEventListener( toBind[--i], handler, false ); - } - } else { - this.onmousewheel = handler; - } - // Store the line height and page height for this particular element - $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); - $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); - }, - - teardown: function() { - if ( this.removeEventListener ) { - for ( var i = toBind.length; i; ) { - this.removeEventListener( toBind[--i], handler, false ); - } - } else { - this.onmousewheel = null; - } - // Clean up the data we added to the element - $.removeData(this, 'mousewheel-line-height'); - $.removeData(this, 'mousewheel-page-height'); - }, - - getLineHeight: function(elem) { - var $elem = $(elem), - $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); - if (!$parent.length) { - $parent = $('body'); - } - return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; - }, - - getPageHeight: function(elem) { - return $(elem).height(); - }, - - settings: { - adjustOldDeltas: true, // see shouldAdjustOldDeltas() below - normalizeOffset: true // calls getBoundingClientRect for each event - } - }; - - $.fn.extend({ - mousewheel: function(fn) { - return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); - }, - - unmousewheel: function(fn) { - return this.unbind('mousewheel', fn); - } - }); - - - function handler(event) { - var orgEvent = event || window.event, - args = slice.call(arguments, 1), - delta = 0, - deltaX = 0, - deltaY = 0, - absDelta = 0, - offsetX = 0, - offsetY = 0; - event = $.event.fix(orgEvent); - event.type = 'mousewheel'; - - // Old school scrollwheel delta - if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } - if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } - if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } - if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } - - // Firefox < 17 horizontal scrolling related to DOMMouseScroll event - if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { - deltaX = deltaY * -1; - deltaY = 0; - } - - // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy - delta = deltaY === 0 ? deltaX : deltaY; - - // New school wheel delta (wheel event) - if ( 'deltaY' in orgEvent ) { - deltaY = orgEvent.deltaY * -1; - delta = deltaY; - } - if ( 'deltaX' in orgEvent ) { - deltaX = orgEvent.deltaX; - if ( deltaY === 0 ) { delta = deltaX * -1; } - } - - // No change actually happened, no reason to go any further - if ( deltaY === 0 && deltaX === 0 ) { return; } - - // Need to convert lines and pages to pixels if we aren't already in pixels - // There are three delta modes: - // * deltaMode 0 is by pixels, nothing to do - // * deltaMode 1 is by lines - // * deltaMode 2 is by pages - if ( orgEvent.deltaMode === 1 ) { - var lineHeight = $.data(this, 'mousewheel-line-height'); - delta *= lineHeight; - deltaY *= lineHeight; - deltaX *= lineHeight; - } else if ( orgEvent.deltaMode === 2 ) { - var pageHeight = $.data(this, 'mousewheel-page-height'); - delta *= pageHeight; - deltaY *= pageHeight; - deltaX *= pageHeight; - } - - // Store lowest absolute delta to normalize the delta values - absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); - - if ( !lowestDelta || absDelta < lowestDelta ) { - lowestDelta = absDelta; - - // Adjust older deltas if necessary - if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { - lowestDelta /= 40; - } - } - - // Adjust older deltas if necessary - if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { - // Divide all the things by 40! - delta /= 40; - deltaX /= 40; - deltaY /= 40; - } - - // Get a whole, normalized value for the deltas - delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); - deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); - deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); - - // Normalise offsetX and offsetY properties - if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { - var boundingRect = this.getBoundingClientRect(); - offsetX = event.clientX - boundingRect.left; - offsetY = event.clientY - boundingRect.top; - } - - // Add information to the event object - event.deltaX = deltaX; - event.deltaY = deltaY; - event.deltaFactor = lowestDelta; - event.offsetX = offsetX; - event.offsetY = offsetY; - // Go ahead and set deltaMode to 0 since we converted to pixels - // Although this is a little odd since we overwrite the deltaX/Y - // properties with normalized deltas. - event.deltaMode = 0; - - // Add event and delta to the front of the arguments - args.unshift(event, delta, deltaX, deltaY); - - // Clearout lowestDelta after sometime to better - // handle multiple device types that give different - // a different lowestDelta - // Ex: trackpad = 3 and mouse wheel = 120 - if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } - nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); - - return ($.event.dispatch || $.event.handle).apply(this, args); - } - - function nullLowestDelta() { - lowestDelta = null; - } - - function shouldAdjustOldDeltas(orgEvent, absDelta) { - // If this is an older event and the delta is divisable by 120, - // then we are assuming that the browser is treating this as an - // older mouse wheel event and that we should divide the deltas - // by 40 to try and get a more usable deltaFactor. - // Side note, this actually impacts the reported scroll distance - // in older browsers and can cause scrolling to be slower than native. - // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. - return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; - } - -})); - -S2.define('jquery.select2',[ - 'jquery', - 'jquery-mousewheel', - - './select2/core', - './select2/defaults' -], function ($, _, Select2, Defaults) { - if ($.fn.select2 == null) { - // All methods that should return the element - var thisMethods = ['open', 'close', 'destroy']; - - $.fn.select2 = function (options) { - options = options || {}; - - if (typeof options === 'object') { - this.each(function () { - var instanceOptions = $.extend(true, {}, options); - - var instance = new Select2($(this), instanceOptions); - }); - - return this; - } else if (typeof options === 'string') { - var ret; - var args = Array.prototype.slice.call(arguments, 1); - - this.each(function () { - var instance = $(this).data('select2'); - - if (instance == null && window.console && console.error) { - console.error( - 'The select2(\'' + options + '\') method was called on an ' + - 'element that is not using Select2.' - ); - } - - ret = instance[options].apply(instance, args); - }); - - // Check if we should be returning `this` - if ($.inArray(options, thisMethods) > -1) { - return this; - } - - return ret; - } else { - throw new Error('Invalid arguments for Select2: ' + options); - } - }; - } - - if ($.fn.select2.defaults == null) { - $.fn.select2.defaults = Defaults; - } - - return Select2; -}); - - // Return the AMD loader configuration so it can be used outside of this file - return { - define: S2.define, - require: S2.require - }; -}()); - - // Autoload the jQuery bindings - // We know that all of the modules exist above this, so we're safe - var select2 = S2.require('jquery.select2'); - - // Hold the AMD module references on the jQuery function that was just loaded - // This allows Select2 to use the internal loader outside of this file, such - // as in the language files. - jQuery.fn.select2.amd = S2; - - // Return the Select2 instance for anyone who is importing it. - return select2; -})); diff --git a/public/assets/vendor/select2/dist/js/select2.full.min.js b/public/assets/vendor/select2/dist/js/select2.full.min.js deleted file mode 100644 index 684edf32..00000000 --- a/public/assets/vendor/select2/dist/js/select2.full.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">×</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change"); -if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null; -},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&(f=d(this),null!=f&&g.push(f))})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;return this._isInitialized?void b.call(this,c):void this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return b.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},b.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},b.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},b.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},b.prototype.addOptions=function(b,c){var d=a.map(c,function(b){return a.data(b[0],"data")});this._currentData.push.apply(this._currentData,d)},b}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f],h=b(c.term,g.text,g);h||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c;var d=this.options.get("query");d.call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){var d=c.find(".dropdown-wrapper");d.append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); \ No newline at end of file diff --git a/public/assets/vendor/select2/dist/js/select2.js b/public/assets/vendor/select2/dist/js/select2.js deleted file mode 100644 index 13b84fad..00000000 --- a/public/assets/vendor/select2/dist/js/select2.js +++ /dev/null @@ -1,5725 +0,0 @@ -/*! - * Select2 4.0.3 - * https://select2.github.io - * - * Released under the MIT license - * https://github.com/select2/select2/blob/master/LICENSE.md - */ -(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node/CommonJS - factory(require('jquery')); - } else { - // Browser globals - factory(jQuery); - } -}(function (jQuery) { - // This is needed so we can catch the AMD loader configuration and use it - // The inner file should be wrapped (by `banner.start.js`) in a function that - // returns the AMD loader references. - var S2 = -(function () { - // Restore the Select2 AMD loader so it can be used - // Needed mostly in the language files, where the loader is not inserted - if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { - var S2 = jQuery.fn.select2.amd; - } -var S2;(function () { if (!S2 || !S2.requirejs) { -if (!S2) { S2 = {}; } else { require = S2; } -/** - * @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved. - * Available via the MIT or new BSD license. - * see: http://github.com/jrburke/almond for details - */ -//Going sloppy to avoid 'use strict' string cost, but strict practices should -//be followed. -/*jslint sloppy: true */ -/*global setTimeout: false */ - -var requirejs, require, define; -(function (undef) { - var main, req, makeMap, handlers, - defined = {}, - waiting = {}, - config = {}, - defining = {}, - hasOwn = Object.prototype.hasOwnProperty, - aps = [].slice, - jsSuffixRegExp = /\.js$/; - - function hasProp(obj, prop) { - return hasOwn.call(obj, prop); - } - - /** - * Given a relative module name, like ./something, normalize it to - * a real name that can be mapped to a path. - * @param {String} name the relative name - * @param {String} baseName a real name that the name arg is relative - * to. - * @returns {String} normalized name - */ - function normalize(name, baseName) { - var nameParts, nameSegment, mapValue, foundMap, lastIndex, - foundI, foundStarMap, starI, i, j, part, - baseParts = baseName && baseName.split("/"), - map = config.map, - starMap = (map && map['*']) || {}; - - //Adjust any relative paths. - if (name && name.charAt(0) === ".") { - //If have a base name, try to normalize against it, - //otherwise, assume it is a top-level require that will - //be relative to baseUrl in the end. - if (baseName) { - name = name.split('/'); - lastIndex = name.length - 1; - - // Node .js allowance: - if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { - name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); - } - - //Lop off the last part of baseParts, so that . matches the - //"directory" and not name of the baseName's module. For instance, - //baseName of "one/two/three", maps to "one/two/three.js", but we - //want the directory, "one/two" for this normalization. - name = baseParts.slice(0, baseParts.length - 1).concat(name); - - //start trimDots - for (i = 0; i < name.length; i += 1) { - part = name[i]; - if (part === ".") { - name.splice(i, 1); - i -= 1; - } else if (part === "..") { - if (i === 1 && (name[2] === '..' || name[0] === '..')) { - //End of the line. Keep at least one non-dot - //path segment at the front so it can be mapped - //correctly to disk. Otherwise, there is likely - //no path mapping for a path starting with '..'. - //This can still fail, but catches the most reasonable - //uses of .. - break; - } else if (i > 0) { - name.splice(i - 1, 2); - i -= 2; - } - } - } - //end trimDots - - name = name.join("/"); - } else if (name.indexOf('./') === 0) { - // No baseName, so this is ID is resolved relative - // to baseUrl, pull off the leading dot. - name = name.substring(2); - } - } - - //Apply map config if available. - if ((baseParts || starMap) && map) { - nameParts = name.split('/'); - - for (i = nameParts.length; i > 0; i -= 1) { - nameSegment = nameParts.slice(0, i).join("/"); - - if (baseParts) { - //Find the longest baseName segment match in the config. - //So, do joins on the biggest to smallest lengths of baseParts. - for (j = baseParts.length; j > 0; j -= 1) { - mapValue = map[baseParts.slice(0, j).join('/')]; - - //baseName segment has config, find if it has one for - //this name. - if (mapValue) { - mapValue = mapValue[nameSegment]; - if (mapValue) { - //Match, update name to the new value. - foundMap = mapValue; - foundI = i; - break; - } - } - } - } - - if (foundMap) { - break; - } - - //Check for a star map match, but just hold on to it, - //if there is a shorter segment match later in a matching - //config, then favor over this star map. - if (!foundStarMap && starMap && starMap[nameSegment]) { - foundStarMap = starMap[nameSegment]; - starI = i; - } - } - - if (!foundMap && foundStarMap) { - foundMap = foundStarMap; - foundI = starI; - } - - if (foundMap) { - nameParts.splice(0, foundI, foundMap); - name = nameParts.join('/'); - } - } - - return name; - } - - function makeRequire(relName, forceSync) { - return function () { - //A version of a require function that passes a moduleName - //value for items that may need to - //look up paths relative to the moduleName - var args = aps.call(arguments, 0); - - //If first arg is not require('string'), and there is only - //one arg, it is the array form without a callback. Insert - //a null so that the following concat is correct. - if (typeof args[0] !== 'string' && args.length === 1) { - args.push(null); - } - return req.apply(undef, args.concat([relName, forceSync])); - }; - } - - function makeNormalize(relName) { - return function (name) { - return normalize(name, relName); - }; - } - - function makeLoad(depName) { - return function (value) { - defined[depName] = value; - }; - } - - function callDep(name) { - if (hasProp(waiting, name)) { - var args = waiting[name]; - delete waiting[name]; - defining[name] = true; - main.apply(undef, args); - } - - if (!hasProp(defined, name) && !hasProp(defining, name)) { - throw new Error('No ' + name); - } - return defined[name]; - } - - //Turns a plugin!resource to [plugin, resource] - //with the plugin being undefined if the name - //did not have a plugin prefix. - function splitPrefix(name) { - var prefix, - index = name ? name.indexOf('!') : -1; - if (index > -1) { - prefix = name.substring(0, index); - name = name.substring(index + 1, name.length); - } - return [prefix, name]; - } - - /** - * Makes a name map, normalizing the name, and using a plugin - * for normalization if necessary. Grabs a ref to plugin - * too, as an optimization. - */ - makeMap = function (name, relName) { - var plugin, - parts = splitPrefix(name), - prefix = parts[0]; - - name = parts[1]; - - if (prefix) { - prefix = normalize(prefix, relName); - plugin = callDep(prefix); - } - - //Normalize according - if (prefix) { - if (plugin && plugin.normalize) { - name = plugin.normalize(name, makeNormalize(relName)); - } else { - name = normalize(name, relName); - } - } else { - name = normalize(name, relName); - parts = splitPrefix(name); - prefix = parts[0]; - name = parts[1]; - if (prefix) { - plugin = callDep(prefix); - } - } - - //Using ridiculous property names for space reasons - return { - f: prefix ? prefix + '!' + name : name, //fullName - n: name, - pr: prefix, - p: plugin - }; - }; - - function makeConfig(name) { - return function () { - return (config && config.config && config.config[name]) || {}; - }; - } - - handlers = { - require: function (name) { - return makeRequire(name); - }, - exports: function (name) { - var e = defined[name]; - if (typeof e !== 'undefined') { - return e; - } else { - return (defined[name] = {}); - } - }, - module: function (name) { - return { - id: name, - uri: '', - exports: defined[name], - config: makeConfig(name) - }; - } - }; - - main = function (name, deps, callback, relName) { - var cjsModule, depName, ret, map, i, - args = [], - callbackType = typeof callback, - usingExports; - - //Use name if no relName - relName = relName || name; - - //Call the callback to define the module, if necessary. - if (callbackType === 'undefined' || callbackType === 'function') { - //Pull out the defined dependencies and pass the ordered - //values to the callback. - //Default to [require, exports, module] if no deps - deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; - for (i = 0; i < deps.length; i += 1) { - map = makeMap(deps[i], relName); - depName = map.f; - - //Fast path CommonJS standard dependencies. - if (depName === "require") { - args[i] = handlers.require(name); - } else if (depName === "exports") { - //CommonJS module spec 1.1 - args[i] = handlers.exports(name); - usingExports = true; - } else if (depName === "module") { - //CommonJS module spec 1.1 - cjsModule = args[i] = handlers.module(name); - } else if (hasProp(defined, depName) || - hasProp(waiting, depName) || - hasProp(defining, depName)) { - args[i] = callDep(depName); - } else if (map.p) { - map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); - args[i] = defined[depName]; - } else { - throw new Error(name + ' missing ' + depName); - } - } - - ret = callback ? callback.apply(defined[name], args) : undefined; - - if (name) { - //If setting exports via "module" is in play, - //favor that over return value and exports. After that, - //favor a non-undefined return value over exports use. - if (cjsModule && cjsModule.exports !== undef && - cjsModule.exports !== defined[name]) { - defined[name] = cjsModule.exports; - } else if (ret !== undef || !usingExports) { - //Use the return value from the function. - defined[name] = ret; - } - } - } else if (name) { - //May just be an object definition for the module. Only - //worry about defining if have a module name. - defined[name] = callback; - } - }; - - requirejs = require = req = function (deps, callback, relName, forceSync, alt) { - if (typeof deps === "string") { - if (handlers[deps]) { - //callback in this case is really relName - return handlers[deps](callback); - } - //Just return the module wanted. In this scenario, the - //deps arg is the module name, and second arg (if passed) - //is just the relName. - //Normalize module name, if it contains . or .. - return callDep(makeMap(deps, callback).f); - } else if (!deps.splice) { - //deps is a config object, not an array. - config = deps; - if (config.deps) { - req(config.deps, config.callback); - } - if (!callback) { - return; - } - - if (callback.splice) { - //callback is an array, which means it is a dependency list. - //Adjust args if there are dependencies - deps = callback; - callback = relName; - relName = null; - } else { - deps = undef; - } - } - - //Support require(['a']) - callback = callback || function () {}; - - //If relName is a function, it is an errback handler, - //so remove it. - if (typeof relName === 'function') { - relName = forceSync; - forceSync = alt; - } - - //Simulate async callback; - if (forceSync) { - main(undef, deps, callback, relName); - } else { - //Using a non-zero value because of concern for what old browsers - //do, and latest browsers "upgrade" to 4 if lower value is used: - //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: - //If want a value immediately, use require('id') instead -- something - //that works in almond on the global level, but not guaranteed and - //unlikely to work in other AMD implementations. - setTimeout(function () { - main(undef, deps, callback, relName); - }, 4); - } - - return req; - }; - - /** - * Just drops the config on the floor, but returns req in case - * the config return value is used. - */ - req.config = function (cfg) { - return req(cfg); - }; - - /** - * Expose module registry for debugging and tooling - */ - requirejs._defined = defined; - - define = function (name, deps, callback) { - if (typeof name !== 'string') { - throw new Error('See almond README: incorrect module build, no module name'); - } - - //This module may not have dependencies - if (!deps.splice) { - //deps is not an array, so probably means - //an object literal or factory function for - //the value. Adjust args. - callback = deps; - deps = []; - } - - if (!hasProp(defined, name) && !hasProp(waiting, name)) { - waiting[name] = [name, deps, callback]; - } - }; - - define.amd = { - jQuery: true - }; -}()); - -S2.requirejs = requirejs;S2.require = require;S2.define = define; -} -}()); -S2.define("almond", function(){}); - -/* global jQuery:false, $:false */ -S2.define('jquery',[],function () { - var _$ = jQuery || $; - - if (_$ == null && console && console.error) { - console.error( - 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + - 'found. Make sure that you are including jQuery before Select2 on your ' + - 'web page.' - ); - } - - return _$; -}); - -S2.define('select2/utils',[ - 'jquery' -], function ($) { - var Utils = {}; - - Utils.Extend = function (ChildClass, SuperClass) { - var __hasProp = {}.hasOwnProperty; - - function BaseConstructor () { - this.constructor = ChildClass; - } - - for (var key in SuperClass) { - if (__hasProp.call(SuperClass, key)) { - ChildClass[key] = SuperClass[key]; - } - } - - BaseConstructor.prototype = SuperClass.prototype; - ChildClass.prototype = new BaseConstructor(); - ChildClass.__super__ = SuperClass.prototype; - - return ChildClass; - }; - - function getMethods (theClass) { - var proto = theClass.prototype; - - var methods = []; - - for (var methodName in proto) { - var m = proto[methodName]; - - if (typeof m !== 'function') { - continue; - } - - if (methodName === 'constructor') { - continue; - } - - methods.push(methodName); - } - - return methods; - } - - Utils.Decorate = function (SuperClass, DecoratorClass) { - var decoratedMethods = getMethods(DecoratorClass); - var superMethods = getMethods(SuperClass); - - function DecoratedClass () { - var unshift = Array.prototype.unshift; - - var argCount = DecoratorClass.prototype.constructor.length; - - var calledConstructor = SuperClass.prototype.constructor; - - if (argCount > 0) { - unshift.call(arguments, SuperClass.prototype.constructor); - - calledConstructor = DecoratorClass.prototype.constructor; - } - - calledConstructor.apply(this, arguments); - } - - DecoratorClass.displayName = SuperClass.displayName; - - function ctr () { - this.constructor = DecoratedClass; - } - - DecoratedClass.prototype = new ctr(); - - for (var m = 0; m < superMethods.length; m++) { - var superMethod = superMethods[m]; - - DecoratedClass.prototype[superMethod] = - SuperClass.prototype[superMethod]; - } - - var calledMethod = function (methodName) { - // Stub out the original method if it's not decorating an actual method - var originalMethod = function () {}; - - if (methodName in DecoratedClass.prototype) { - originalMethod = DecoratedClass.prototype[methodName]; - } - - var decoratedMethod = DecoratorClass.prototype[methodName]; - - return function () { - var unshift = Array.prototype.unshift; - - unshift.call(arguments, originalMethod); - - return decoratedMethod.apply(this, arguments); - }; - }; - - for (var d = 0; d < decoratedMethods.length; d++) { - var decoratedMethod = decoratedMethods[d]; - - DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); - } - - return DecoratedClass; - }; - - var Observable = function () { - this.listeners = {}; - }; - - Observable.prototype.on = function (event, callback) { - this.listeners = this.listeners || {}; - - if (event in this.listeners) { - this.listeners[event].push(callback); - } else { - this.listeners[event] = [callback]; - } - }; - - Observable.prototype.trigger = function (event) { - var slice = Array.prototype.slice; - var params = slice.call(arguments, 1); - - this.listeners = this.listeners || {}; - - // Params should always come in as an array - if (params == null) { - params = []; - } - - // If there are no arguments to the event, use a temporary object - if (params.length === 0) { - params.push({}); - } - - // Set the `_type` of the first object to the event - params[0]._type = event; - - if (event in this.listeners) { - this.invoke(this.listeners[event], slice.call(arguments, 1)); - } - - if ('*' in this.listeners) { - this.invoke(this.listeners['*'], arguments); - } - }; - - Observable.prototype.invoke = function (listeners, params) { - for (var i = 0, len = listeners.length; i < len; i++) { - listeners[i].apply(this, params); - } - }; - - Utils.Observable = Observable; - - Utils.generateChars = function (length) { - var chars = ''; - - for (var i = 0; i < length; i++) { - var randomChar = Math.floor(Math.random() * 36); - chars += randomChar.toString(36); - } - - return chars; - }; - - Utils.bind = function (func, context) { - return function () { - func.apply(context, arguments); - }; - }; - - Utils._convertData = function (data) { - for (var originalKey in data) { - var keys = originalKey.split('-'); - - var dataLevel = data; - - if (keys.length === 1) { - continue; - } - - for (var k = 0; k < keys.length; k++) { - var key = keys[k]; - - // Lowercase the first letter - // By default, dash-separated becomes camelCase - key = key.substring(0, 1).toLowerCase() + key.substring(1); - - if (!(key in dataLevel)) { - dataLevel[key] = {}; - } - - if (k == keys.length - 1) { - dataLevel[key] = data[originalKey]; - } - - dataLevel = dataLevel[key]; - } - - delete data[originalKey]; - } - - return data; - }; - - Utils.hasScroll = function (index, el) { - // Adapted from the function created by @ShadowScripter - // and adapted by @BillBarry on the Stack Exchange Code Review website. - // The original code can be found at - // http://codereview.stackexchange.com/q/13338 - // and was designed to be used with the Sizzle selector engine. - - var $el = $(el); - var overflowX = el.style.overflowX; - var overflowY = el.style.overflowY; - - //Check both x and y declarations - if (overflowX === overflowY && - (overflowY === 'hidden' || overflowY === 'visible')) { - return false; - } - - if (overflowX === 'scroll' || overflowY === 'scroll') { - return true; - } - - return ($el.innerHeight() < el.scrollHeight || - $el.innerWidth() < el.scrollWidth); - }; - - Utils.escapeMarkup = function (markup) { - var replaceMap = { - '\\': '\', - '&': '&', - '<': '<', - '>': '>', - '"': '"', - '\'': ''', - '/': '/' - }; - - // Do not try to escape the markup if it's not a string - if (typeof markup !== 'string') { - return markup; - } - - return String(markup).replace(/[&<>"'\/\\]/g, function (match) { - return replaceMap[match]; - }); - }; - - // Append an array of jQuery nodes to a given element. - Utils.appendMany = function ($element, $nodes) { - // jQuery 1.7.x does not support $.fn.append() with an array - // Fall back to a jQuery object collection using $.fn.add() - if ($.fn.jquery.substr(0, 3) === '1.7') { - var $jqNodes = $(); - - $.map($nodes, function (node) { - $jqNodes = $jqNodes.add(node); - }); - - $nodes = $jqNodes; - } - - $element.append($nodes); - }; - - return Utils; -}); - -S2.define('select2/results',[ - 'jquery', - './utils' -], function ($, Utils) { - function Results ($element, options, dataAdapter) { - this.$element = $element; - this.data = dataAdapter; - this.options = options; - - Results.__super__.constructor.call(this); - } - - Utils.Extend(Results, Utils.Observable); - - Results.prototype.render = function () { - var $results = $( - '<ul class="select2-results__options" role="tree"></ul>' - ); - - if (this.options.get('multiple')) { - $results.attr('aria-multiselectable', 'true'); - } - - this.$results = $results; - - return $results; - }; - - Results.prototype.clear = function () { - this.$results.empty(); - }; - - Results.prototype.displayMessage = function (params) { - var escapeMarkup = this.options.get('escapeMarkup'); - - this.clear(); - this.hideLoading(); - - var $message = $( - '<li role="treeitem" aria-live="assertive"' + - ' class="select2-results__option"></li>' - ); - - var message = this.options.get('translations').get(params.message); - - $message.append( - escapeMarkup( - message(params.args) - ) - ); - - $message[0].className += ' select2-results__message'; - - this.$results.append($message); - }; - - Results.prototype.hideMessages = function () { - this.$results.find('.select2-results__message').remove(); - }; - - Results.prototype.append = function (data) { - this.hideLoading(); - - var $options = []; - - if (data.results == null || data.results.length === 0) { - if (this.$results.children().length === 0) { - this.trigger('results:message', { - message: 'noResults' - }); - } - - return; - } - - data.results = this.sort(data.results); - - for (var d = 0; d < data.results.length; d++) { - var item = data.results[d]; - - var $option = this.option(item); - - $options.push($option); - } - - this.$results.append($options); - }; - - Results.prototype.position = function ($results, $dropdown) { - var $resultsContainer = $dropdown.find('.select2-results'); - $resultsContainer.append($results); - }; - - Results.prototype.sort = function (data) { - var sorter = this.options.get('sorter'); - - return sorter(data); - }; - - Results.prototype.highlightFirstItem = function () { - var $options = this.$results - .find('.select2-results__option[aria-selected]'); - - var $selected = $options.filter('[aria-selected=true]'); - - // Check if there are any selected options - if ($selected.length > 0) { - // If there are selected options, highlight the first - $selected.first().trigger('mouseenter'); - } else { - // If there are no selected options, highlight the first option - // in the dropdown - $options.first().trigger('mouseenter'); - } - - this.ensureHighlightVisible(); - }; - - Results.prototype.setClasses = function () { - var self = this; - - this.data.current(function (selected) { - var selectedIds = $.map(selected, function (s) { - return s.id.toString(); - }); - - var $options = self.$results - .find('.select2-results__option[aria-selected]'); - - $options.each(function () { - var $option = $(this); - - var item = $.data(this, 'data'); - - // id needs to be converted to a string when comparing - var id = '' + item.id; - - if ((item.element != null && item.element.selected) || - (item.element == null && $.inArray(id, selectedIds) > -1)) { - $option.attr('aria-selected', 'true'); - } else { - $option.attr('aria-selected', 'false'); - } - }); - - }); - }; - - Results.prototype.showLoading = function (params) { - this.hideLoading(); - - var loadingMore = this.options.get('translations').get('searching'); - - var loading = { - disabled: true, - loading: true, - text: loadingMore(params) - }; - var $loading = this.option(loading); - $loading.className += ' loading-results'; - - this.$results.prepend($loading); - }; - - Results.prototype.hideLoading = function () { - this.$results.find('.loading-results').remove(); - }; - - Results.prototype.option = function (data) { - var option = document.createElement('li'); - option.className = 'select2-results__option'; - - var attrs = { - 'role': 'treeitem', - 'aria-selected': 'false' - }; - - if (data.disabled) { - delete attrs['aria-selected']; - attrs['aria-disabled'] = 'true'; - } - - if (data.id == null) { - delete attrs['aria-selected']; - } - - if (data._resultId != null) { - option.id = data._resultId; - } - - if (data.title) { - option.title = data.title; - } - - if (data.children) { - attrs.role = 'group'; - attrs['aria-label'] = data.text; - delete attrs['aria-selected']; - } - - for (var attr in attrs) { - var val = attrs[attr]; - - option.setAttribute(attr, val); - } - - if (data.children) { - var $option = $(option); - - var label = document.createElement('strong'); - label.className = 'select2-results__group'; - - var $label = $(label); - this.template(data, label); - - var $children = []; - - for (var c = 0; c < data.children.length; c++) { - var child = data.children[c]; - - var $child = this.option(child); - - $children.push($child); - } - - var $childrenContainer = $('<ul></ul>', { - 'class': 'select2-results__options select2-results__options--nested' - }); - - $childrenContainer.append($children); - - $option.append(label); - $option.append($childrenContainer); - } else { - this.template(data, option); - } - - $.data(option, 'data', data); - - return option; - }; - - Results.prototype.bind = function (container, $container) { - var self = this; - - var id = container.id + '-results'; - - this.$results.attr('id', id); - - container.on('results:all', function (params) { - self.clear(); - self.append(params.data); - - if (container.isOpen()) { - self.setClasses(); - self.highlightFirstItem(); - } - }); - - container.on('results:append', function (params) { - self.append(params.data); - - if (container.isOpen()) { - self.setClasses(); - } - }); - - container.on('query', function (params) { - self.hideMessages(); - self.showLoading(params); - }); - - container.on('select', function () { - if (!container.isOpen()) { - return; - } - - self.setClasses(); - self.highlightFirstItem(); - }); - - container.on('unselect', function () { - if (!container.isOpen()) { - return; - } - - self.setClasses(); - self.highlightFirstItem(); - }); - - container.on('open', function () { - // When the dropdown is open, aria-expended="true" - self.$results.attr('aria-expanded', 'true'); - self.$results.attr('aria-hidden', 'false'); - - self.setClasses(); - self.ensureHighlightVisible(); - }); - - container.on('close', function () { - // When the dropdown is closed, aria-expended="false" - self.$results.attr('aria-expanded', 'false'); - self.$results.attr('aria-hidden', 'true'); - self.$results.removeAttr('aria-activedescendant'); - }); - - container.on('results:toggle', function () { - var $highlighted = self.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - $highlighted.trigger('mouseup'); - }); - - container.on('results:select', function () { - var $highlighted = self.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - var data = $highlighted.data('data'); - - if ($highlighted.attr('aria-selected') == 'true') { - self.trigger('close', {}); - } else { - self.trigger('select', { - data: data - }); - } - }); - - container.on('results:previous', function () { - var $highlighted = self.getHighlightedResults(); - - var $options = self.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - // If we are already at te top, don't move further - if (currentIndex === 0) { - return; - } - - var nextIndex = currentIndex - 1; - - // If none are highlighted, highlight the first - if ($highlighted.length === 0) { - nextIndex = 0; - } - - var $next = $options.eq(nextIndex); - - $next.trigger('mouseenter'); - - var currentOffset = self.$results.offset().top; - var nextTop = $next.offset().top; - var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); - - if (nextIndex === 0) { - self.$results.scrollTop(0); - } else if (nextTop - currentOffset < 0) { - self.$results.scrollTop(nextOffset); - } - }); - - container.on('results:next', function () { - var $highlighted = self.getHighlightedResults(); - - var $options = self.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - var nextIndex = currentIndex + 1; - - // If we are at the last option, stay there - if (nextIndex >= $options.length) { - return; - } - - var $next = $options.eq(nextIndex); - - $next.trigger('mouseenter'); - - var currentOffset = self.$results.offset().top + - self.$results.outerHeight(false); - var nextBottom = $next.offset().top + $next.outerHeight(false); - var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; - - if (nextIndex === 0) { - self.$results.scrollTop(0); - } else if (nextBottom > currentOffset) { - self.$results.scrollTop(nextOffset); - } - }); - - container.on('results:focus', function (params) { - params.element.addClass('select2-results__option--highlighted'); - }); - - container.on('results:message', function (params) { - self.displayMessage(params); - }); - - if ($.fn.mousewheel) { - this.$results.on('mousewheel', function (e) { - var top = self.$results.scrollTop(); - - var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; - - var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; - var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); - - if (isAtTop) { - self.$results.scrollTop(0); - - e.preventDefault(); - e.stopPropagation(); - } else if (isAtBottom) { - self.$results.scrollTop( - self.$results.get(0).scrollHeight - self.$results.height() - ); - - e.preventDefault(); - e.stopPropagation(); - } - }); - } - - this.$results.on('mouseup', '.select2-results__option[aria-selected]', - function (evt) { - var $this = $(this); - - var data = $this.data('data'); - - if ($this.attr('aria-selected') === 'true') { - if (self.options.get('multiple')) { - self.trigger('unselect', { - originalEvent: evt, - data: data - }); - } else { - self.trigger('close', {}); - } - - return; - } - - self.trigger('select', { - originalEvent: evt, - data: data - }); - }); - - this.$results.on('mouseenter', '.select2-results__option[aria-selected]', - function (evt) { - var data = $(this).data('data'); - - self.getHighlightedResults() - .removeClass('select2-results__option--highlighted'); - - self.trigger('results:focus', { - data: data, - element: $(this) - }); - }); - }; - - Results.prototype.getHighlightedResults = function () { - var $highlighted = this.$results - .find('.select2-results__option--highlighted'); - - return $highlighted; - }; - - Results.prototype.destroy = function () { - this.$results.remove(); - }; - - Results.prototype.ensureHighlightVisible = function () { - var $highlighted = this.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - var $options = this.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - var currentOffset = this.$results.offset().top; - var nextTop = $highlighted.offset().top; - var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); - - var offsetDelta = nextTop - currentOffset; - nextOffset -= $highlighted.outerHeight(false) * 2; - - if (currentIndex <= 2) { - this.$results.scrollTop(0); - } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { - this.$results.scrollTop(nextOffset); - } - }; - - Results.prototype.template = function (result, container) { - var template = this.options.get('templateResult'); - var escapeMarkup = this.options.get('escapeMarkup'); - - var content = template(result, container); - - if (content == null) { - container.style.display = 'none'; - } else if (typeof content === 'string') { - container.innerHTML = escapeMarkup(content); - } else { - $(container).append(content); - } - }; - - return Results; -}); - -S2.define('select2/keys',[ - -], function () { - var KEYS = { - BACKSPACE: 8, - TAB: 9, - ENTER: 13, - SHIFT: 16, - CTRL: 17, - ALT: 18, - ESC: 27, - SPACE: 32, - PAGE_UP: 33, - PAGE_DOWN: 34, - END: 35, - HOME: 36, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40, - DELETE: 46 - }; - - return KEYS; -}); - -S2.define('select2/selection/base',[ - 'jquery', - '../utils', - '../keys' -], function ($, Utils, KEYS) { - function BaseSelection ($element, options) { - this.$element = $element; - this.options = options; - - BaseSelection.__super__.constructor.call(this); - } - - Utils.Extend(BaseSelection, Utils.Observable); - - BaseSelection.prototype.render = function () { - var $selection = $( - '<span class="select2-selection" role="combobox" ' + - ' aria-haspopup="true" aria-expanded="false">' + - '</span>' - ); - - this._tabindex = 0; - - if (this.$element.data('old-tabindex') != null) { - this._tabindex = this.$element.data('old-tabindex'); - } else if (this.$element.attr('tabindex') != null) { - this._tabindex = this.$element.attr('tabindex'); - } - - $selection.attr('title', this.$element.attr('title')); - $selection.attr('tabindex', this._tabindex); - - this.$selection = $selection; - - return $selection; - }; - - BaseSelection.prototype.bind = function (container, $container) { - var self = this; - - var id = container.id + '-container'; - var resultsId = container.id + '-results'; - - this.container = container; - - this.$selection.on('focus', function (evt) { - self.trigger('focus', evt); - }); - - this.$selection.on('blur', function (evt) { - self._handleBlur(evt); - }); - - this.$selection.on('keydown', function (evt) { - self.trigger('keypress', evt); - - if (evt.which === KEYS.SPACE) { - evt.preventDefault(); - } - }); - - container.on('results:focus', function (params) { - self.$selection.attr('aria-activedescendant', params.data._resultId); - }); - - container.on('selection:update', function (params) { - self.update(params.data); - }); - - container.on('open', function () { - // When the dropdown is open, aria-expanded="true" - self.$selection.attr('aria-expanded', 'true'); - self.$selection.attr('aria-owns', resultsId); - - self._attachCloseHandler(container); - }); - - container.on('close', function () { - // When the dropdown is closed, aria-expanded="false" - self.$selection.attr('aria-expanded', 'false'); - self.$selection.removeAttr('aria-activedescendant'); - self.$selection.removeAttr('aria-owns'); - - self.$selection.focus(); - - self._detachCloseHandler(container); - }); - - container.on('enable', function () { - self.$selection.attr('tabindex', self._tabindex); - }); - - container.on('disable', function () { - self.$selection.attr('tabindex', '-1'); - }); - }; - - BaseSelection.prototype._handleBlur = function (evt) { - var self = this; - - // This needs to be delayed as the active element is the body when the tab - // key is pressed, possibly along with others. - window.setTimeout(function () { - // Don't trigger `blur` if the focus is still in the selection - if ( - (document.activeElement == self.$selection[0]) || - ($.contains(self.$selection[0], document.activeElement)) - ) { - return; - } - - self.trigger('blur', evt); - }, 1); - }; - - BaseSelection.prototype._attachCloseHandler = function (container) { - var self = this; - - $(document.body).on('mousedown.select2.' + container.id, function (e) { - var $target = $(e.target); - - var $select = $target.closest('.select2'); - - var $all = $('.select2.select2-container--open'); - - $all.each(function () { - var $this = $(this); - - if (this == $select[0]) { - return; - } - - var $element = $this.data('element'); - - $element.select2('close'); - }); - }); - }; - - BaseSelection.prototype._detachCloseHandler = function (container) { - $(document.body).off('mousedown.select2.' + container.id); - }; - - BaseSelection.prototype.position = function ($selection, $container) { - var $selectionContainer = $container.find('.selection'); - $selectionContainer.append($selection); - }; - - BaseSelection.prototype.destroy = function () { - this._detachCloseHandler(this.container); - }; - - BaseSelection.prototype.update = function (data) { - throw new Error('The `update` method must be defined in child classes.'); - }; - - return BaseSelection; -}); - -S2.define('select2/selection/single',[ - 'jquery', - './base', - '../utils', - '../keys' -], function ($, BaseSelection, Utils, KEYS) { - function SingleSelection () { - SingleSelection.__super__.constructor.apply(this, arguments); - } - - Utils.Extend(SingleSelection, BaseSelection); - - SingleSelection.prototype.render = function () { - var $selection = SingleSelection.__super__.render.call(this); - - $selection.addClass('select2-selection--single'); - - $selection.html( - '<span class="select2-selection__rendered"></span>' + - '<span class="select2-selection__arrow" role="presentation">' + - '<b role="presentation"></b>' + - '</span>' - ); - - return $selection; - }; - - SingleSelection.prototype.bind = function (container, $container) { - var self = this; - - SingleSelection.__super__.bind.apply(this, arguments); - - var id = container.id + '-container'; - - this.$selection.find('.select2-selection__rendered').attr('id', id); - this.$selection.attr('aria-labelledby', id); - - this.$selection.on('mousedown', function (evt) { - // Only respond to left clicks - if (evt.which !== 1) { - return; - } - - self.trigger('toggle', { - originalEvent: evt - }); - }); - - this.$selection.on('focus', function (evt) { - // User focuses on the container - }); - - this.$selection.on('blur', function (evt) { - // User exits the container - }); - - container.on('focus', function (evt) { - if (!container.isOpen()) { - self.$selection.focus(); - } - }); - - container.on('selection:update', function (params) { - self.update(params.data); - }); - }; - - SingleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty(); - }; - - SingleSelection.prototype.display = function (data, container) { - var template = this.options.get('templateSelection'); - var escapeMarkup = this.options.get('escapeMarkup'); - - return escapeMarkup(template(data, container)); - }; - - SingleSelection.prototype.selectionContainer = function () { - return $('<span></span>'); - }; - - SingleSelection.prototype.update = function (data) { - if (data.length === 0) { - this.clear(); - return; - } - - var selection = data[0]; - - var $rendered = this.$selection.find('.select2-selection__rendered'); - var formatted = this.display(selection, $rendered); - - $rendered.empty().append(formatted); - $rendered.prop('title', selection.title || selection.text); - }; - - return SingleSelection; -}); - -S2.define('select2/selection/multiple',[ - 'jquery', - './base', - '../utils' -], function ($, BaseSelection, Utils) { - function MultipleSelection ($element, options) { - MultipleSelection.__super__.constructor.apply(this, arguments); - } - - Utils.Extend(MultipleSelection, BaseSelection); - - MultipleSelection.prototype.render = function () { - var $selection = MultipleSelection.__super__.render.call(this); - - $selection.addClass('select2-selection--multiple'); - - $selection.html( - '<ul class="select2-selection__rendered"></ul>' - ); - - return $selection; - }; - - MultipleSelection.prototype.bind = function (container, $container) { - var self = this; - - MultipleSelection.__super__.bind.apply(this, arguments); - - this.$selection.on('click', function (evt) { - self.trigger('toggle', { - originalEvent: evt - }); - }); - - this.$selection.on( - 'click', - '.select2-selection__choice__remove', - function (evt) { - // Ignore the event if it is disabled - if (self.options.get('disabled')) { - return; - } - - var $remove = $(this); - var $selection = $remove.parent(); - - var data = $selection.data('data'); - - self.trigger('unselect', { - originalEvent: evt, - data: data - }); - } - ); - }; - - MultipleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty(); - }; - - MultipleSelection.prototype.display = function (data, container) { - var template = this.options.get('templateSelection'); - var escapeMarkup = this.options.get('escapeMarkup'); - - return escapeMarkup(template(data, container)); - }; - - MultipleSelection.prototype.selectionContainer = function () { - var $container = $( - '<li class="select2-selection__choice">' + - '<span class="select2-selection__choice__remove" role="presentation">' + - '×' + - '</span>' + - '</li>' - ); - - return $container; - }; - - MultipleSelection.prototype.update = function (data) { - this.clear(); - - if (data.length === 0) { - return; - } - - var $selections = []; - - for (var d = 0; d < data.length; d++) { - var selection = data[d]; - - var $selection = this.selectionContainer(); - var formatted = this.display(selection, $selection); - - $selection.append(formatted); - $selection.prop('title', selection.title || selection.text); - - $selection.data('data', selection); - - $selections.push($selection); - } - - var $rendered = this.$selection.find('.select2-selection__rendered'); - - Utils.appendMany($rendered, $selections); - }; - - return MultipleSelection; -}); - -S2.define('select2/selection/placeholder',[ - '../utils' -], function (Utils) { - function Placeholder (decorated, $element, options) { - this.placeholder = this.normalizePlaceholder(options.get('placeholder')); - - decorated.call(this, $element, options); - } - - Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { - if (typeof placeholder === 'string') { - placeholder = { - id: '', - text: placeholder - }; - } - - return placeholder; - }; - - Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { - var $placeholder = this.selectionContainer(); - - $placeholder.html(this.display(placeholder)); - $placeholder.addClass('select2-selection__placeholder') - .removeClass('select2-selection__choice'); - - return $placeholder; - }; - - Placeholder.prototype.update = function (decorated, data) { - var singlePlaceholder = ( - data.length == 1 && data[0].id != this.placeholder.id - ); - var multipleSelections = data.length > 1; - - if (multipleSelections || singlePlaceholder) { - return decorated.call(this, data); - } - - this.clear(); - - var $placeholder = this.createPlaceholder(this.placeholder); - - this.$selection.find('.select2-selection__rendered').append($placeholder); - }; - - return Placeholder; -}); - -S2.define('select2/selection/allowClear',[ - 'jquery', - '../keys' -], function ($, KEYS) { - function AllowClear () { } - - AllowClear.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - if (this.placeholder == null) { - if (this.options.get('debug') && window.console && console.error) { - console.error( - 'Select2: The `allowClear` option should be used in combination ' + - 'with the `placeholder` option.' - ); - } - } - - this.$selection.on('mousedown', '.select2-selection__clear', - function (evt) { - self._handleClear(evt); - }); - - container.on('keypress', function (evt) { - self._handleKeyboardClear(evt, container); - }); - }; - - AllowClear.prototype._handleClear = function (_, evt) { - // Ignore the event if it is disabled - if (this.options.get('disabled')) { - return; - } - - var $clear = this.$selection.find('.select2-selection__clear'); - - // Ignore the event if nothing has been selected - if ($clear.length === 0) { - return; - } - - evt.stopPropagation(); - - var data = $clear.data('data'); - - for (var d = 0; d < data.length; d++) { - var unselectData = { - data: data[d] - }; - - // Trigger the `unselect` event, so people can prevent it from being - // cleared. - this.trigger('unselect', unselectData); - - // If the event was prevented, don't clear it out. - if (unselectData.prevented) { - return; - } - } - - this.$element.val(this.placeholder.id).trigger('change'); - - this.trigger('toggle', {}); - }; - - AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { - if (container.isOpen()) { - return; - } - - if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { - this._handleClear(evt); - } - }; - - AllowClear.prototype.update = function (decorated, data) { - decorated.call(this, data); - - if (this.$selection.find('.select2-selection__placeholder').length > 0 || - data.length === 0) { - return; - } - - var $remove = $( - '<span class="select2-selection__clear">' + - '×' + - '</span>' - ); - $remove.data('data', data); - - this.$selection.find('.select2-selection__rendered').prepend($remove); - }; - - return AllowClear; -}); - -S2.define('select2/selection/search',[ - 'jquery', - '../utils', - '../keys' -], function ($, Utils, KEYS) { - function Search (decorated, $element, options) { - decorated.call(this, $element, options); - } - - Search.prototype.render = function (decorated) { - var $search = $( - '<li class="select2-search select2-search--inline">' + - '<input class="select2-search__field" type="search" tabindex="-1"' + - ' autocomplete="off" autocorrect="off" autocapitalize="off"' + - ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + - '</li>' - ); - - this.$searchContainer = $search; - this.$search = $search.find('input'); - - var $rendered = decorated.call(this); - - this._transferTabIndex(); - - return $rendered; - }; - - Search.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('open', function () { - self.$search.trigger('focus'); - }); - - container.on('close', function () { - self.$search.val(''); - self.$search.removeAttr('aria-activedescendant'); - self.$search.trigger('focus'); - }); - - container.on('enable', function () { - self.$search.prop('disabled', false); - - self._transferTabIndex(); - }); - - container.on('disable', function () { - self.$search.prop('disabled', true); - }); - - container.on('focus', function (evt) { - self.$search.trigger('focus'); - }); - - container.on('results:focus', function (params) { - self.$search.attr('aria-activedescendant', params.id); - }); - - this.$selection.on('focusin', '.select2-search--inline', function (evt) { - self.trigger('focus', evt); - }); - - this.$selection.on('focusout', '.select2-search--inline', function (evt) { - self._handleBlur(evt); - }); - - this.$selection.on('keydown', '.select2-search--inline', function (evt) { - evt.stopPropagation(); - - self.trigger('keypress', evt); - - self._keyUpPrevented = evt.isDefaultPrevented(); - - var key = evt.which; - - if (key === KEYS.BACKSPACE && self.$search.val() === '') { - var $previousChoice = self.$searchContainer - .prev('.select2-selection__choice'); - - if ($previousChoice.length > 0) { - var item = $previousChoice.data('data'); - - self.searchRemoveChoice(item); - - evt.preventDefault(); - } - } - }); - - // Try to detect the IE version should the `documentMode` property that - // is stored on the document. This is only implemented in IE and is - // slightly cleaner than doing a user agent check. - // This property is not available in Edge, but Edge also doesn't have - // this bug. - var msie = document.documentMode; - var disableInputEvents = msie && msie <= 11; - - // Workaround for browsers which do not support the `input` event - // This will prevent double-triggering of events for browsers which support - // both the `keyup` and `input` events. - this.$selection.on( - 'input.searchcheck', - '.select2-search--inline', - function (evt) { - // IE will trigger the `input` event when a placeholder is used on a - // search box. To get around this issue, we are forced to ignore all - // `input` events in IE and keep using `keyup`. - if (disableInputEvents) { - self.$selection.off('input.search input.searchcheck'); - return; - } - - // Unbind the duplicated `keyup` event - self.$selection.off('keyup.search'); - } - ); - - this.$selection.on( - 'keyup.search input.search', - '.select2-search--inline', - function (evt) { - // IE will trigger the `input` event when a placeholder is used on a - // search box. To get around this issue, we are forced to ignore all - // `input` events in IE and keep using `keyup`. - if (disableInputEvents && evt.type === 'input') { - self.$selection.off('input.search input.searchcheck'); - return; - } - - var key = evt.which; - - // We can freely ignore events from modifier keys - if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { - return; - } - - // Tabbing will be handled during the `keydown` phase - if (key == KEYS.TAB) { - return; - } - - self.handleSearch(evt); - } - ); - }; - - /** - * This method will transfer the tabindex attribute from the rendered - * selection to the search box. This allows for the search box to be used as - * the primary focus instead of the selection container. - * - * @private - */ - Search.prototype._transferTabIndex = function (decorated) { - this.$search.attr('tabindex', this.$selection.attr('tabindex')); - this.$selection.attr('tabindex', '-1'); - }; - - Search.prototype.createPlaceholder = function (decorated, placeholder) { - this.$search.attr('placeholder', placeholder.text); - }; - - Search.prototype.update = function (decorated, data) { - var searchHadFocus = this.$search[0] == document.activeElement; - - this.$search.attr('placeholder', ''); - - decorated.call(this, data); - - this.$selection.find('.select2-selection__rendered') - .append(this.$searchContainer); - - this.resizeSearch(); - if (searchHadFocus) { - this.$search.focus(); - } - }; - - Search.prototype.handleSearch = function () { - this.resizeSearch(); - - if (!this._keyUpPrevented) { - var input = this.$search.val(); - - this.trigger('query', { - term: input - }); - } - - this._keyUpPrevented = false; - }; - - Search.prototype.searchRemoveChoice = function (decorated, item) { - this.trigger('unselect', { - data: item - }); - - this.$search.val(item.text); - this.handleSearch(); - }; - - Search.prototype.resizeSearch = function () { - this.$search.css('width', '25px'); - - var width = ''; - - if (this.$search.attr('placeholder') !== '') { - width = this.$selection.find('.select2-selection__rendered').innerWidth(); - } else { - var minimumWidth = this.$search.val().length + 1; - - width = (minimumWidth * 0.75) + 'em'; - } - - this.$search.css('width', width); - }; - - return Search; -}); - -S2.define('select2/selection/eventRelay',[ - 'jquery' -], function ($) { - function EventRelay () { } - - EventRelay.prototype.bind = function (decorated, container, $container) { - var self = this; - var relayEvents = [ - 'open', 'opening', - 'close', 'closing', - 'select', 'selecting', - 'unselect', 'unselecting' - ]; - - var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting']; - - decorated.call(this, container, $container); - - container.on('*', function (name, params) { - // Ignore events that should not be relayed - if ($.inArray(name, relayEvents) === -1) { - return; - } - - // The parameters should always be an object - params = params || {}; - - // Generate the jQuery event for the Select2 event - var evt = $.Event('select2:' + name, { - params: params - }); - - self.$element.trigger(evt); - - // Only handle preventable events if it was one - if ($.inArray(name, preventableEvents) === -1) { - return; - } - - params.prevented = evt.isDefaultPrevented(); - }); - }; - - return EventRelay; -}); - -S2.define('select2/translation',[ - 'jquery', - 'require' -], function ($, require) { - function Translation (dict) { - this.dict = dict || {}; - } - - Translation.prototype.all = function () { - return this.dict; - }; - - Translation.prototype.get = function (key) { - return this.dict[key]; - }; - - Translation.prototype.extend = function (translation) { - this.dict = $.extend({}, translation.all(), this.dict); - }; - - // Static functions - - Translation._cache = {}; - - Translation.loadPath = function (path) { - if (!(path in Translation._cache)) { - var translations = require(path); - - Translation._cache[path] = translations; - } - - return new Translation(Translation._cache[path]); - }; - - return Translation; -}); - -S2.define('select2/diacritics',[ - -], function () { - var diacritics = { - '\u24B6': 'A', - '\uFF21': 'A', - '\u00C0': 'A', - '\u00C1': 'A', - '\u00C2': 'A', - '\u1EA6': 'A', - '\u1EA4': 'A', - '\u1EAA': 'A', - '\u1EA8': 'A', - '\u00C3': 'A', - '\u0100': 'A', - '\u0102': 'A', - '\u1EB0': 'A', - '\u1EAE': 'A', - '\u1EB4': 'A', - '\u1EB2': 'A', - '\u0226': 'A', - '\u01E0': 'A', - '\u00C4': 'A', - '\u01DE': 'A', - '\u1EA2': 'A', - '\u00C5': 'A', - '\u01FA': 'A', - '\u01CD': 'A', - '\u0200': 'A', - '\u0202': 'A', - '\u1EA0': 'A', - '\u1EAC': 'A', - '\u1EB6': 'A', - '\u1E00': 'A', - '\u0104': 'A', - '\u023A': 'A', - '\u2C6F': 'A', - '\uA732': 'AA', - '\u00C6': 'AE', - '\u01FC': 'AE', - '\u01E2': 'AE', - '\uA734': 'AO', - '\uA736': 'AU', - '\uA738': 'AV', - '\uA73A': 'AV', - '\uA73C': 'AY', - '\u24B7': 'B', - '\uFF22': 'B', - '\u1E02': 'B', - '\u1E04': 'B', - '\u1E06': 'B', - '\u0243': 'B', - '\u0182': 'B', - '\u0181': 'B', - '\u24B8': 'C', - '\uFF23': 'C', - '\u0106': 'C', - '\u0108': 'C', - '\u010A': 'C', - '\u010C': 'C', - '\u00C7': 'C', - '\u1E08': 'C', - '\u0187': 'C', - '\u023B': 'C', - '\uA73E': 'C', - '\u24B9': 'D', - '\uFF24': 'D', - '\u1E0A': 'D', - '\u010E': 'D', - '\u1E0C': 'D', - '\u1E10': 'D', - '\u1E12': 'D', - '\u1E0E': 'D', - '\u0110': 'D', - '\u018B': 'D', - '\u018A': 'D', - '\u0189': 'D', - '\uA779': 'D', - '\u01F1': 'DZ', - '\u01C4': 'DZ', - '\u01F2': 'Dz', - '\u01C5': 'Dz', - '\u24BA': 'E', - '\uFF25': 'E', - '\u00C8': 'E', - '\u00C9': 'E', - '\u00CA': 'E', - '\u1EC0': 'E', - '\u1EBE': 'E', - '\u1EC4': 'E', - '\u1EC2': 'E', - '\u1EBC': 'E', - '\u0112': 'E', - '\u1E14': 'E', - '\u1E16': 'E', - '\u0114': 'E', - '\u0116': 'E', - '\u00CB': 'E', - '\u1EBA': 'E', - '\u011A': 'E', - '\u0204': 'E', - '\u0206': 'E', - '\u1EB8': 'E', - '\u1EC6': 'E', - '\u0228': 'E', - '\u1E1C': 'E', - '\u0118': 'E', - '\u1E18': 'E', - '\u1E1A': 'E', - '\u0190': 'E', - '\u018E': 'E', - '\u24BB': 'F', - '\uFF26': 'F', - '\u1E1E': 'F', - '\u0191': 'F', - '\uA77B': 'F', - '\u24BC': 'G', - '\uFF27': 'G', - '\u01F4': 'G', - '\u011C': 'G', - '\u1E20': 'G', - '\u011E': 'G', - '\u0120': 'G', - '\u01E6': 'G', - '\u0122': 'G', - '\u01E4': 'G', - '\u0193': 'G', - '\uA7A0': 'G', - '\uA77D': 'G', - '\uA77E': 'G', - '\u24BD': 'H', - '\uFF28': 'H', - '\u0124': 'H', - '\u1E22': 'H', - '\u1E26': 'H', - '\u021E': 'H', - '\u1E24': 'H', - '\u1E28': 'H', - '\u1E2A': 'H', - '\u0126': 'H', - '\u2C67': 'H', - '\u2C75': 'H', - '\uA78D': 'H', - '\u24BE': 'I', - '\uFF29': 'I', - '\u00CC': 'I', - '\u00CD': 'I', - '\u00CE': 'I', - '\u0128': 'I', - '\u012A': 'I', - '\u012C': 'I', - '\u0130': 'I', - '\u00CF': 'I', - '\u1E2E': 'I', - '\u1EC8': 'I', - '\u01CF': 'I', - '\u0208': 'I', - '\u020A': 'I', - '\u1ECA': 'I', - '\u012E': 'I', - '\u1E2C': 'I', - '\u0197': 'I', - '\u24BF': 'J', - '\uFF2A': 'J', - '\u0134': 'J', - '\u0248': 'J', - '\u24C0': 'K', - '\uFF2B': 'K', - '\u1E30': 'K', - '\u01E8': 'K', - '\u1E32': 'K', - '\u0136': 'K', - '\u1E34': 'K', - '\u0198': 'K', - '\u2C69': 'K', - '\uA740': 'K', - '\uA742': 'K', - '\uA744': 'K', - '\uA7A2': 'K', - '\u24C1': 'L', - '\uFF2C': 'L', - '\u013F': 'L', - '\u0139': 'L', - '\u013D': 'L', - '\u1E36': 'L', - '\u1E38': 'L', - '\u013B': 'L', - '\u1E3C': 'L', - '\u1E3A': 'L', - '\u0141': 'L', - '\u023D': 'L', - '\u2C62': 'L', - '\u2C60': 'L', - '\uA748': 'L', - '\uA746': 'L', - '\uA780': 'L', - '\u01C7': 'LJ', - '\u01C8': 'Lj', - '\u24C2': 'M', - '\uFF2D': 'M', - '\u1E3E': 'M', - '\u1E40': 'M', - '\u1E42': 'M', - '\u2C6E': 'M', - '\u019C': 'M', - '\u24C3': 'N', - '\uFF2E': 'N', - '\u01F8': 'N', - '\u0143': 'N', - '\u00D1': 'N', - '\u1E44': 'N', - '\u0147': 'N', - '\u1E46': 'N', - '\u0145': 'N', - '\u1E4A': 'N', - '\u1E48': 'N', - '\u0220': 'N', - '\u019D': 'N', - '\uA790': 'N', - '\uA7A4': 'N', - '\u01CA': 'NJ', - '\u01CB': 'Nj', - '\u24C4': 'O', - '\uFF2F': 'O', - '\u00D2': 'O', - '\u00D3': 'O', - '\u00D4': 'O', - '\u1ED2': 'O', - '\u1ED0': 'O', - '\u1ED6': 'O', - '\u1ED4': 'O', - '\u00D5': 'O', - '\u1E4C': 'O', - '\u022C': 'O', - '\u1E4E': 'O', - '\u014C': 'O', - '\u1E50': 'O', - '\u1E52': 'O', - '\u014E': 'O', - '\u022E': 'O', - '\u0230': 'O', - '\u00D6': 'O', - '\u022A': 'O', - '\u1ECE': 'O', - '\u0150': 'O', - '\u01D1': 'O', - '\u020C': 'O', - '\u020E': 'O', - '\u01A0': 'O', - '\u1EDC': 'O', - '\u1EDA': 'O', - '\u1EE0': 'O', - '\u1EDE': 'O', - '\u1EE2': 'O', - '\u1ECC': 'O', - '\u1ED8': 'O', - '\u01EA': 'O', - '\u01EC': 'O', - '\u00D8': 'O', - '\u01FE': 'O', - '\u0186': 'O', - '\u019F': 'O', - '\uA74A': 'O', - '\uA74C': 'O', - '\u01A2': 'OI', - '\uA74E': 'OO', - '\u0222': 'OU', - '\u24C5': 'P', - '\uFF30': 'P', - '\u1E54': 'P', - '\u1E56': 'P', - '\u01A4': 'P', - '\u2C63': 'P', - '\uA750': 'P', - '\uA752': 'P', - '\uA754': 'P', - '\u24C6': 'Q', - '\uFF31': 'Q', - '\uA756': 'Q', - '\uA758': 'Q', - '\u024A': 'Q', - '\u24C7': 'R', - '\uFF32': 'R', - '\u0154': 'R', - '\u1E58': 'R', - '\u0158': 'R', - '\u0210': 'R', - '\u0212': 'R', - '\u1E5A': 'R', - '\u1E5C': 'R', - '\u0156': 'R', - '\u1E5E': 'R', - '\u024C': 'R', - '\u2C64': 'R', - '\uA75A': 'R', - '\uA7A6': 'R', - '\uA782': 'R', - '\u24C8': 'S', - '\uFF33': 'S', - '\u1E9E': 'S', - '\u015A': 'S', - '\u1E64': 'S', - '\u015C': 'S', - '\u1E60': 'S', - '\u0160': 'S', - '\u1E66': 'S', - '\u1E62': 'S', - '\u1E68': 'S', - '\u0218': 'S', - '\u015E': 'S', - '\u2C7E': 'S', - '\uA7A8': 'S', - '\uA784': 'S', - '\u24C9': 'T', - '\uFF34': 'T', - '\u1E6A': 'T', - '\u0164': 'T', - '\u1E6C': 'T', - '\u021A': 'T', - '\u0162': 'T', - '\u1E70': 'T', - '\u1E6E': 'T', - '\u0166': 'T', - '\u01AC': 'T', - '\u01AE': 'T', - '\u023E': 'T', - '\uA786': 'T', - '\uA728': 'TZ', - '\u24CA': 'U', - '\uFF35': 'U', - '\u00D9': 'U', - '\u00DA': 'U', - '\u00DB': 'U', - '\u0168': 'U', - '\u1E78': 'U', - '\u016A': 'U', - '\u1E7A': 'U', - '\u016C': 'U', - '\u00DC': 'U', - '\u01DB': 'U', - '\u01D7': 'U', - '\u01D5': 'U', - '\u01D9': 'U', - '\u1EE6': 'U', - '\u016E': 'U', - '\u0170': 'U', - '\u01D3': 'U', - '\u0214': 'U', - '\u0216': 'U', - '\u01AF': 'U', - '\u1EEA': 'U', - '\u1EE8': 'U', - '\u1EEE': 'U', - '\u1EEC': 'U', - '\u1EF0': 'U', - '\u1EE4': 'U', - '\u1E72': 'U', - '\u0172': 'U', - '\u1E76': 'U', - '\u1E74': 'U', - '\u0244': 'U', - '\u24CB': 'V', - '\uFF36': 'V', - '\u1E7C': 'V', - '\u1E7E': 'V', - '\u01B2': 'V', - '\uA75E': 'V', - '\u0245': 'V', - '\uA760': 'VY', - '\u24CC': 'W', - '\uFF37': 'W', - '\u1E80': 'W', - '\u1E82': 'W', - '\u0174': 'W', - '\u1E86': 'W', - '\u1E84': 'W', - '\u1E88': 'W', - '\u2C72': 'W', - '\u24CD': 'X', - '\uFF38': 'X', - '\u1E8A': 'X', - '\u1E8C': 'X', - '\u24CE': 'Y', - '\uFF39': 'Y', - '\u1EF2': 'Y', - '\u00DD': 'Y', - '\u0176': 'Y', - '\u1EF8': 'Y', - '\u0232': 'Y', - '\u1E8E': 'Y', - '\u0178': 'Y', - '\u1EF6': 'Y', - '\u1EF4': 'Y', - '\u01B3': 'Y', - '\u024E': 'Y', - '\u1EFE': 'Y', - '\u24CF': 'Z', - '\uFF3A': 'Z', - '\u0179': 'Z', - '\u1E90': 'Z', - '\u017B': 'Z', - '\u017D': 'Z', - '\u1E92': 'Z', - '\u1E94': 'Z', - '\u01B5': 'Z', - '\u0224': 'Z', - '\u2C7F': 'Z', - '\u2C6B': 'Z', - '\uA762': 'Z', - '\u24D0': 'a', - '\uFF41': 'a', - '\u1E9A': 'a', - '\u00E0': 'a', - '\u00E1': 'a', - '\u00E2': 'a', - '\u1EA7': 'a', - '\u1EA5': 'a', - '\u1EAB': 'a', - '\u1EA9': 'a', - '\u00E3': 'a', - '\u0101': 'a', - '\u0103': 'a', - '\u1EB1': 'a', - '\u1EAF': 'a', - '\u1EB5': 'a', - '\u1EB3': 'a', - '\u0227': 'a', - '\u01E1': 'a', - '\u00E4': 'a', - '\u01DF': 'a', - '\u1EA3': 'a', - '\u00E5': 'a', - '\u01FB': 'a', - '\u01CE': 'a', - '\u0201': 'a', - '\u0203': 'a', - '\u1EA1': 'a', - '\u1EAD': 'a', - '\u1EB7': 'a', - '\u1E01': 'a', - '\u0105': 'a', - '\u2C65': 'a', - '\u0250': 'a', - '\uA733': 'aa', - '\u00E6': 'ae', - '\u01FD': 'ae', - '\u01E3': 'ae', - '\uA735': 'ao', - '\uA737': 'au', - '\uA739': 'av', - '\uA73B': 'av', - '\uA73D': 'ay', - '\u24D1': 'b', - '\uFF42': 'b', - '\u1E03': 'b', - '\u1E05': 'b', - '\u1E07': 'b', - '\u0180': 'b', - '\u0183': 'b', - '\u0253': 'b', - '\u24D2': 'c', - '\uFF43': 'c', - '\u0107': 'c', - '\u0109': 'c', - '\u010B': 'c', - '\u010D': 'c', - '\u00E7': 'c', - '\u1E09': 'c', - '\u0188': 'c', - '\u023C': 'c', - '\uA73F': 'c', - '\u2184': 'c', - '\u24D3': 'd', - '\uFF44': 'd', - '\u1E0B': 'd', - '\u010F': 'd', - '\u1E0D': 'd', - '\u1E11': 'd', - '\u1E13': 'd', - '\u1E0F': 'd', - '\u0111': 'd', - '\u018C': 'd', - '\u0256': 'd', - '\u0257': 'd', - '\uA77A': 'd', - '\u01F3': 'dz', - '\u01C6': 'dz', - '\u24D4': 'e', - '\uFF45': 'e', - '\u00E8': 'e', - '\u00E9': 'e', - '\u00EA': 'e', - '\u1EC1': 'e', - '\u1EBF': 'e', - '\u1EC5': 'e', - '\u1EC3': 'e', - '\u1EBD': 'e', - '\u0113': 'e', - '\u1E15': 'e', - '\u1E17': 'e', - '\u0115': 'e', - '\u0117': 'e', - '\u00EB': 'e', - '\u1EBB': 'e', - '\u011B': 'e', - '\u0205': 'e', - '\u0207': 'e', - '\u1EB9': 'e', - '\u1EC7': 'e', - '\u0229': 'e', - '\u1E1D': 'e', - '\u0119': 'e', - '\u1E19': 'e', - '\u1E1B': 'e', - '\u0247': 'e', - '\u025B': 'e', - '\u01DD': 'e', - '\u24D5': 'f', - '\uFF46': 'f', - '\u1E1F': 'f', - '\u0192': 'f', - '\uA77C': 'f', - '\u24D6': 'g', - '\uFF47': 'g', - '\u01F5': 'g', - '\u011D': 'g', - '\u1E21': 'g', - '\u011F': 'g', - '\u0121': 'g', - '\u01E7': 'g', - '\u0123': 'g', - '\u01E5': 'g', - '\u0260': 'g', - '\uA7A1': 'g', - '\u1D79': 'g', - '\uA77F': 'g', - '\u24D7': 'h', - '\uFF48': 'h', - '\u0125': 'h', - '\u1E23': 'h', - '\u1E27': 'h', - '\u021F': 'h', - '\u1E25': 'h', - '\u1E29': 'h', - '\u1E2B': 'h', - '\u1E96': 'h', - '\u0127': 'h', - '\u2C68': 'h', - '\u2C76': 'h', - '\u0265': 'h', - '\u0195': 'hv', - '\u24D8': 'i', - '\uFF49': 'i', - '\u00EC': 'i', - '\u00ED': 'i', - '\u00EE': 'i', - '\u0129': 'i', - '\u012B': 'i', - '\u012D': 'i', - '\u00EF': 'i', - '\u1E2F': 'i', - '\u1EC9': 'i', - '\u01D0': 'i', - '\u0209': 'i', - '\u020B': 'i', - '\u1ECB': 'i', - '\u012F': 'i', - '\u1E2D': 'i', - '\u0268': 'i', - '\u0131': 'i', - '\u24D9': 'j', - '\uFF4A': 'j', - '\u0135': 'j', - '\u01F0': 'j', - '\u0249': 'j', - '\u24DA': 'k', - '\uFF4B': 'k', - '\u1E31': 'k', - '\u01E9': 'k', - '\u1E33': 'k', - '\u0137': 'k', - '\u1E35': 'k', - '\u0199': 'k', - '\u2C6A': 'k', - '\uA741': 'k', - '\uA743': 'k', - '\uA745': 'k', - '\uA7A3': 'k', - '\u24DB': 'l', - '\uFF4C': 'l', - '\u0140': 'l', - '\u013A': 'l', - '\u013E': 'l', - '\u1E37': 'l', - '\u1E39': 'l', - '\u013C': 'l', - '\u1E3D': 'l', - '\u1E3B': 'l', - '\u017F': 'l', - '\u0142': 'l', - '\u019A': 'l', - '\u026B': 'l', - '\u2C61': 'l', - '\uA749': 'l', - '\uA781': 'l', - '\uA747': 'l', - '\u01C9': 'lj', - '\u24DC': 'm', - '\uFF4D': 'm', - '\u1E3F': 'm', - '\u1E41': 'm', - '\u1E43': 'm', - '\u0271': 'm', - '\u026F': 'm', - '\u24DD': 'n', - '\uFF4E': 'n', - '\u01F9': 'n', - '\u0144': 'n', - '\u00F1': 'n', - '\u1E45': 'n', - '\u0148': 'n', - '\u1E47': 'n', - '\u0146': 'n', - '\u1E4B': 'n', - '\u1E49': 'n', - '\u019E': 'n', - '\u0272': 'n', - '\u0149': 'n', - '\uA791': 'n', - '\uA7A5': 'n', - '\u01CC': 'nj', - '\u24DE': 'o', - '\uFF4F': 'o', - '\u00F2': 'o', - '\u00F3': 'o', - '\u00F4': 'o', - '\u1ED3': 'o', - '\u1ED1': 'o', - '\u1ED7': 'o', - '\u1ED5': 'o', - '\u00F5': 'o', - '\u1E4D': 'o', - '\u022D': 'o', - '\u1E4F': 'o', - '\u014D': 'o', - '\u1E51': 'o', - '\u1E53': 'o', - '\u014F': 'o', - '\u022F': 'o', - '\u0231': 'o', - '\u00F6': 'o', - '\u022B': 'o', - '\u1ECF': 'o', - '\u0151': 'o', - '\u01D2': 'o', - '\u020D': 'o', - '\u020F': 'o', - '\u01A1': 'o', - '\u1EDD': 'o', - '\u1EDB': 'o', - '\u1EE1': 'o', - '\u1EDF': 'o', - '\u1EE3': 'o', - '\u1ECD': 'o', - '\u1ED9': 'o', - '\u01EB': 'o', - '\u01ED': 'o', - '\u00F8': 'o', - '\u01FF': 'o', - '\u0254': 'o', - '\uA74B': 'o', - '\uA74D': 'o', - '\u0275': 'o', - '\u01A3': 'oi', - '\u0223': 'ou', - '\uA74F': 'oo', - '\u24DF': 'p', - '\uFF50': 'p', - '\u1E55': 'p', - '\u1E57': 'p', - '\u01A5': 'p', - '\u1D7D': 'p', - '\uA751': 'p', - '\uA753': 'p', - '\uA755': 'p', - '\u24E0': 'q', - '\uFF51': 'q', - '\u024B': 'q', - '\uA757': 'q', - '\uA759': 'q', - '\u24E1': 'r', - '\uFF52': 'r', - '\u0155': 'r', - '\u1E59': 'r', - '\u0159': 'r', - '\u0211': 'r', - '\u0213': 'r', - '\u1E5B': 'r', - '\u1E5D': 'r', - '\u0157': 'r', - '\u1E5F': 'r', - '\u024D': 'r', - '\u027D': 'r', - '\uA75B': 'r', - '\uA7A7': 'r', - '\uA783': 'r', - '\u24E2': 's', - '\uFF53': 's', - '\u00DF': 's', - '\u015B': 's', - '\u1E65': 's', - '\u015D': 's', - '\u1E61': 's', - '\u0161': 's', - '\u1E67': 's', - '\u1E63': 's', - '\u1E69': 's', - '\u0219': 's', - '\u015F': 's', - '\u023F': 's', - '\uA7A9': 's', - '\uA785': 's', - '\u1E9B': 's', - '\u24E3': 't', - '\uFF54': 't', - '\u1E6B': 't', - '\u1E97': 't', - '\u0165': 't', - '\u1E6D': 't', - '\u021B': 't', - '\u0163': 't', - '\u1E71': 't', - '\u1E6F': 't', - '\u0167': 't', - '\u01AD': 't', - '\u0288': 't', - '\u2C66': 't', - '\uA787': 't', - '\uA729': 'tz', - '\u24E4': 'u', - '\uFF55': 'u', - '\u00F9': 'u', - '\u00FA': 'u', - '\u00FB': 'u', - '\u0169': 'u', - '\u1E79': 'u', - '\u016B': 'u', - '\u1E7B': 'u', - '\u016D': 'u', - '\u00FC': 'u', - '\u01DC': 'u', - '\u01D8': 'u', - '\u01D6': 'u', - '\u01DA': 'u', - '\u1EE7': 'u', - '\u016F': 'u', - '\u0171': 'u', - '\u01D4': 'u', - '\u0215': 'u', - '\u0217': 'u', - '\u01B0': 'u', - '\u1EEB': 'u', - '\u1EE9': 'u', - '\u1EEF': 'u', - '\u1EED': 'u', - '\u1EF1': 'u', - '\u1EE5': 'u', - '\u1E73': 'u', - '\u0173': 'u', - '\u1E77': 'u', - '\u1E75': 'u', - '\u0289': 'u', - '\u24E5': 'v', - '\uFF56': 'v', - '\u1E7D': 'v', - '\u1E7F': 'v', - '\u028B': 'v', - '\uA75F': 'v', - '\u028C': 'v', - '\uA761': 'vy', - '\u24E6': 'w', - '\uFF57': 'w', - '\u1E81': 'w', - '\u1E83': 'w', - '\u0175': 'w', - '\u1E87': 'w', - '\u1E85': 'w', - '\u1E98': 'w', - '\u1E89': 'w', - '\u2C73': 'w', - '\u24E7': 'x', - '\uFF58': 'x', - '\u1E8B': 'x', - '\u1E8D': 'x', - '\u24E8': 'y', - '\uFF59': 'y', - '\u1EF3': 'y', - '\u00FD': 'y', - '\u0177': 'y', - '\u1EF9': 'y', - '\u0233': 'y', - '\u1E8F': 'y', - '\u00FF': 'y', - '\u1EF7': 'y', - '\u1E99': 'y', - '\u1EF5': 'y', - '\u01B4': 'y', - '\u024F': 'y', - '\u1EFF': 'y', - '\u24E9': 'z', - '\uFF5A': 'z', - '\u017A': 'z', - '\u1E91': 'z', - '\u017C': 'z', - '\u017E': 'z', - '\u1E93': 'z', - '\u1E95': 'z', - '\u01B6': 'z', - '\u0225': 'z', - '\u0240': 'z', - '\u2C6C': 'z', - '\uA763': 'z', - '\u0386': '\u0391', - '\u0388': '\u0395', - '\u0389': '\u0397', - '\u038A': '\u0399', - '\u03AA': '\u0399', - '\u038C': '\u039F', - '\u038E': '\u03A5', - '\u03AB': '\u03A5', - '\u038F': '\u03A9', - '\u03AC': '\u03B1', - '\u03AD': '\u03B5', - '\u03AE': '\u03B7', - '\u03AF': '\u03B9', - '\u03CA': '\u03B9', - '\u0390': '\u03B9', - '\u03CC': '\u03BF', - '\u03CD': '\u03C5', - '\u03CB': '\u03C5', - '\u03B0': '\u03C5', - '\u03C9': '\u03C9', - '\u03C2': '\u03C3' - }; - - return diacritics; -}); - -S2.define('select2/data/base',[ - '../utils' -], function (Utils) { - function BaseAdapter ($element, options) { - BaseAdapter.__super__.constructor.call(this); - } - - Utils.Extend(BaseAdapter, Utils.Observable); - - BaseAdapter.prototype.current = function (callback) { - throw new Error('The `current` method must be defined in child classes.'); - }; - - BaseAdapter.prototype.query = function (params, callback) { - throw new Error('The `query` method must be defined in child classes.'); - }; - - BaseAdapter.prototype.bind = function (container, $container) { - // Can be implemented in subclasses - }; - - BaseAdapter.prototype.destroy = function () { - // Can be implemented in subclasses - }; - - BaseAdapter.prototype.generateResultId = function (container, data) { - var id = container.id + '-result-'; - - id += Utils.generateChars(4); - - if (data.id != null) { - id += '-' + data.id.toString(); - } else { - id += '-' + Utils.generateChars(4); - } - return id; - }; - - return BaseAdapter; -}); - -S2.define('select2/data/select',[ - './base', - '../utils', - 'jquery' -], function (BaseAdapter, Utils, $) { - function SelectAdapter ($element, options) { - this.$element = $element; - this.options = options; - - SelectAdapter.__super__.constructor.call(this); - } - - Utils.Extend(SelectAdapter, BaseAdapter); - - SelectAdapter.prototype.current = function (callback) { - var data = []; - var self = this; - - this.$element.find(':selected').each(function () { - var $option = $(this); - - var option = self.item($option); - - data.push(option); - }); - - callback(data); - }; - - SelectAdapter.prototype.select = function (data) { - var self = this; - - data.selected = true; - - // If data.element is a DOM node, use it instead - if ($(data.element).is('option')) { - data.element.selected = true; - - this.$element.trigger('change'); - - return; - } - - if (this.$element.prop('multiple')) { - this.current(function (currentData) { - var val = []; - - data = [data]; - data.push.apply(data, currentData); - - for (var d = 0; d < data.length; d++) { - var id = data[d].id; - - if ($.inArray(id, val) === -1) { - val.push(id); - } - } - - self.$element.val(val); - self.$element.trigger('change'); - }); - } else { - var val = data.id; - - this.$element.val(val); - this.$element.trigger('change'); - } - }; - - SelectAdapter.prototype.unselect = function (data) { - var self = this; - - if (!this.$element.prop('multiple')) { - return; - } - - data.selected = false; - - if ($(data.element).is('option')) { - data.element.selected = false; - - this.$element.trigger('change'); - - return; - } - - this.current(function (currentData) { - var val = []; - - for (var d = 0; d < currentData.length; d++) { - var id = currentData[d].id; - - if (id !== data.id && $.inArray(id, val) === -1) { - val.push(id); - } - } - - self.$element.val(val); - - self.$element.trigger('change'); - }); - }; - - SelectAdapter.prototype.bind = function (container, $container) { - var self = this; - - this.container = container; - - container.on('select', function (params) { - self.select(params.data); - }); - - container.on('unselect', function (params) { - self.unselect(params.data); - }); - }; - - SelectAdapter.prototype.destroy = function () { - // Remove anything added to child elements - this.$element.find('*').each(function () { - // Remove any custom data set by Select2 - $.removeData(this, 'data'); - }); - }; - - SelectAdapter.prototype.query = function (params, callback) { - var data = []; - var self = this; - - var $options = this.$element.children(); - - $options.each(function () { - var $option = $(this); - - if (!$option.is('option') && !$option.is('optgroup')) { - return; - } - - var option = self.item($option); - - var matches = self.matches(params, option); - - if (matches !== null) { - data.push(matches); - } - }); - - callback({ - results: data - }); - }; - - SelectAdapter.prototype.addOptions = function ($options) { - Utils.appendMany(this.$element, $options); - }; - - SelectAdapter.prototype.option = function (data) { - var option; - - if (data.children) { - option = document.createElement('optgroup'); - option.label = data.text; - } else { - option = document.createElement('option'); - - if (option.textContent !== undefined) { - option.textContent = data.text; - } else { - option.innerText = data.text; - } - } - - if (data.id) { - option.value = data.id; - } - - if (data.disabled) { - option.disabled = true; - } - - if (data.selected) { - option.selected = true; - } - - if (data.title) { - option.title = data.title; - } - - var $option = $(option); - - var normalizedData = this._normalizeItem(data); - normalizedData.element = option; - - // Override the option's data with the combined data - $.data(option, 'data', normalizedData); - - return $option; - }; - - SelectAdapter.prototype.item = function ($option) { - var data = {}; - - data = $.data($option[0], 'data'); - - if (data != null) { - return data; - } - - if ($option.is('option')) { - data = { - id: $option.val(), - text: $option.text(), - disabled: $option.prop('disabled'), - selected: $option.prop('selected'), - title: $option.prop('title') - }; - } else if ($option.is('optgroup')) { - data = { - text: $option.prop('label'), - children: [], - title: $option.prop('title') - }; - - var $children = $option.children('option'); - var children = []; - - for (var c = 0; c < $children.length; c++) { - var $child = $($children[c]); - - var child = this.item($child); - - children.push(child); - } - - data.children = children; - } - - data = this._normalizeItem(data); - data.element = $option[0]; - - $.data($option[0], 'data', data); - - return data; - }; - - SelectAdapter.prototype._normalizeItem = function (item) { - if (!$.isPlainObject(item)) { - item = { - id: item, - text: item - }; - } - - item = $.extend({}, { - text: '' - }, item); - - var defaults = { - selected: false, - disabled: false - }; - - if (item.id != null) { - item.id = item.id.toString(); - } - - if (item.text != null) { - item.text = item.text.toString(); - } - - if (item._resultId == null && item.id && this.container != null) { - item._resultId = this.generateResultId(this.container, item); - } - - return $.extend({}, defaults, item); - }; - - SelectAdapter.prototype.matches = function (params, data) { - var matcher = this.options.get('matcher'); - - return matcher(params, data); - }; - - return SelectAdapter; -}); - -S2.define('select2/data/array',[ - './select', - '../utils', - 'jquery' -], function (SelectAdapter, Utils, $) { - function ArrayAdapter ($element, options) { - var data = options.get('data') || []; - - ArrayAdapter.__super__.constructor.call(this, $element, options); - - this.addOptions(this.convertToOptions(data)); - } - - Utils.Extend(ArrayAdapter, SelectAdapter); - - ArrayAdapter.prototype.select = function (data) { - var $option = this.$element.find('option').filter(function (i, elm) { - return elm.value == data.id.toString(); - }); - - if ($option.length === 0) { - $option = this.option(data); - - this.addOptions($option); - } - - ArrayAdapter.__super__.select.call(this, data); - }; - - ArrayAdapter.prototype.convertToOptions = function (data) { - var self = this; - - var $existing = this.$element.find('option'); - var existingIds = $existing.map(function () { - return self.item($(this)).id; - }).get(); - - var $options = []; - - // Filter out all items except for the one passed in the argument - function onlyItem (item) { - return function () { - return $(this).val() == item.id; - }; - } - - for (var d = 0; d < data.length; d++) { - var item = this._normalizeItem(data[d]); - - // Skip items which were pre-loaded, only merge the data - if ($.inArray(item.id, existingIds) >= 0) { - var $existingOption = $existing.filter(onlyItem(item)); - - var existingData = this.item($existingOption); - var newData = $.extend(true, {}, item, existingData); - - var $newOption = this.option(newData); - - $existingOption.replaceWith($newOption); - - continue; - } - - var $option = this.option(item); - - if (item.children) { - var $children = this.convertToOptions(item.children); - - Utils.appendMany($option, $children); - } - - $options.push($option); - } - - return $options; - }; - - return ArrayAdapter; -}); - -S2.define('select2/data/ajax',[ - './array', - '../utils', - 'jquery' -], function (ArrayAdapter, Utils, $) { - function AjaxAdapter ($element, options) { - this.ajaxOptions = this._applyDefaults(options.get('ajax')); - - if (this.ajaxOptions.processResults != null) { - this.processResults = this.ajaxOptions.processResults; - } - - AjaxAdapter.__super__.constructor.call(this, $element, options); - } - - Utils.Extend(AjaxAdapter, ArrayAdapter); - - AjaxAdapter.prototype._applyDefaults = function (options) { - var defaults = { - data: function (params) { - return $.extend({}, params, { - q: params.term - }); - }, - transport: function (params, success, failure) { - var $request = $.ajax(params); - - $request.then(success); - $request.fail(failure); - - return $request; - } - }; - - return $.extend({}, defaults, options, true); - }; - - AjaxAdapter.prototype.processResults = function (results) { - return results; - }; - - AjaxAdapter.prototype.query = function (params, callback) { - var matches = []; - var self = this; - - if (this._request != null) { - // JSONP requests cannot always be aborted - if ($.isFunction(this._request.abort)) { - this._request.abort(); - } - - this._request = null; - } - - var options = $.extend({ - type: 'GET' - }, this.ajaxOptions); - - if (typeof options.url === 'function') { - options.url = options.url.call(this.$element, params); - } - - if (typeof options.data === 'function') { - options.data = options.data.call(this.$element, params); - } - - function request () { - var $request = options.transport(options, function (data) { - var results = self.processResults(data, params); - - if (self.options.get('debug') && window.console && console.error) { - // Check to make sure that the response included a `results` key. - if (!results || !results.results || !$.isArray(results.results)) { - console.error( - 'Select2: The AJAX results did not return an array in the ' + - '`results` key of the response.' - ); - } - } - - callback(results); - }, function () { - // Attempt to detect if a request was aborted - // Only works if the transport exposes a status property - if ($request.status && $request.status === '0') { - return; - } - - self.trigger('results:message', { - message: 'errorLoading' - }); - }); - - self._request = $request; - } - - if (this.ajaxOptions.delay && params.term != null) { - if (this._queryTimeout) { - window.clearTimeout(this._queryTimeout); - } - - this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); - } else { - request(); - } - }; - - return AjaxAdapter; -}); - -S2.define('select2/data/tags',[ - 'jquery' -], function ($) { - function Tags (decorated, $element, options) { - var tags = options.get('tags'); - - var createTag = options.get('createTag'); - - if (createTag !== undefined) { - this.createTag = createTag; - } - - var insertTag = options.get('insertTag'); - - if (insertTag !== undefined) { - this.insertTag = insertTag; - } - - decorated.call(this, $element, options); - - if ($.isArray(tags)) { - for (var t = 0; t < tags.length; t++) { - var tag = tags[t]; - var item = this._normalizeItem(tag); - - var $option = this.option(item); - - this.$element.append($option); - } - } - } - - Tags.prototype.query = function (decorated, params, callback) { - var self = this; - - this._removeOldTags(); - - if (params.term == null || params.page != null) { - decorated.call(this, params, callback); - return; - } - - function wrapper (obj, child) { - var data = obj.results; - - for (var i = 0; i < data.length; i++) { - var option = data[i]; - - var checkChildren = ( - option.children != null && - !wrapper({ - results: option.children - }, true) - ); - - var checkText = option.text === params.term; - - if (checkText || checkChildren) { - if (child) { - return false; - } - - obj.data = data; - callback(obj); - - return; - } - } - - if (child) { - return true; - } - - var tag = self.createTag(params); - - if (tag != null) { - var $option = self.option(tag); - $option.attr('data-select2-tag', true); - - self.addOptions([$option]); - - self.insertTag(data, tag); - } - - obj.results = data; - - callback(obj); - } - - decorated.call(this, params, wrapper); - }; - - Tags.prototype.createTag = function (decorated, params) { - var term = $.trim(params.term); - - if (term === '') { - return null; - } - - return { - id: term, - text: term - }; - }; - - Tags.prototype.insertTag = function (_, data, tag) { - data.unshift(tag); - }; - - Tags.prototype._removeOldTags = function (_) { - var tag = this._lastTag; - - var $options = this.$element.find('option[data-select2-tag]'); - - $options.each(function () { - if (this.selected) { - return; - } - - $(this).remove(); - }); - }; - - return Tags; -}); - -S2.define('select2/data/tokenizer',[ - 'jquery' -], function ($) { - function Tokenizer (decorated, $element, options) { - var tokenizer = options.get('tokenizer'); - - if (tokenizer !== undefined) { - this.tokenizer = tokenizer; - } - - decorated.call(this, $element, options); - } - - Tokenizer.prototype.bind = function (decorated, container, $container) { - decorated.call(this, container, $container); - - this.$search = container.dropdown.$search || container.selection.$search || - $container.find('.select2-search__field'); - }; - - Tokenizer.prototype.query = function (decorated, params, callback) { - var self = this; - - function createAndSelect (data) { - // Normalize the data object so we can use it for checks - var item = self._normalizeItem(data); - - // Check if the data object already exists as a tag - // Select it if it doesn't - var $existingOptions = self.$element.find('option').filter(function () { - return $(this).val() === item.id; - }); - - // If an existing option wasn't found for it, create the option - if (!$existingOptions.length) { - var $option = self.option(item); - $option.attr('data-select2-tag', true); - - self._removeOldTags(); - self.addOptions([$option]); - } - - // Select the item, now that we know there is an option for it - select(item); - } - - function select (data) { - self.trigger('select', { - data: data - }); - } - - params.term = params.term || ''; - - var tokenData = this.tokenizer(params, this.options, createAndSelect); - - if (tokenData.term !== params.term) { - // Replace the search term if we have the search box - if (this.$search.length) { - this.$search.val(tokenData.term); - this.$search.focus(); - } - - params.term = tokenData.term; - } - - decorated.call(this, params, callback); - }; - - Tokenizer.prototype.tokenizer = function (_, params, options, callback) { - var separators = options.get('tokenSeparators') || []; - var term = params.term; - var i = 0; - - var createTag = this.createTag || function (params) { - return { - id: params.term, - text: params.term - }; - }; - - while (i < term.length) { - var termChar = term[i]; - - if ($.inArray(termChar, separators) === -1) { - i++; - - continue; - } - - var part = term.substr(0, i); - var partParams = $.extend({}, params, { - term: part - }); - - var data = createTag(partParams); - - if (data == null) { - i++; - continue; - } - - callback(data); - - // Reset the term to not include the tokenized portion - term = term.substr(i + 1) || ''; - i = 0; - } - - return { - term: term - }; - }; - - return Tokenizer; -}); - -S2.define('select2/data/minimumInputLength',[ - -], function () { - function MinimumInputLength (decorated, $e, options) { - this.minimumInputLength = options.get('minimumInputLength'); - - decorated.call(this, $e, options); - } - - MinimumInputLength.prototype.query = function (decorated, params, callback) { - params.term = params.term || ''; - - if (params.term.length < this.minimumInputLength) { - this.trigger('results:message', { - message: 'inputTooShort', - args: { - minimum: this.minimumInputLength, - input: params.term, - params: params - } - }); - - return; - } - - decorated.call(this, params, callback); - }; - - return MinimumInputLength; -}); - -S2.define('select2/data/maximumInputLength',[ - -], function () { - function MaximumInputLength (decorated, $e, options) { - this.maximumInputLength = options.get('maximumInputLength'); - - decorated.call(this, $e, options); - } - - MaximumInputLength.prototype.query = function (decorated, params, callback) { - params.term = params.term || ''; - - if (this.maximumInputLength > 0 && - params.term.length > this.maximumInputLength) { - this.trigger('results:message', { - message: 'inputTooLong', - args: { - maximum: this.maximumInputLength, - input: params.term, - params: params - } - }); - - return; - } - - decorated.call(this, params, callback); - }; - - return MaximumInputLength; -}); - -S2.define('select2/data/maximumSelectionLength',[ - -], function (){ - function MaximumSelectionLength (decorated, $e, options) { - this.maximumSelectionLength = options.get('maximumSelectionLength'); - - decorated.call(this, $e, options); - } - - MaximumSelectionLength.prototype.query = - function (decorated, params, callback) { - var self = this; - - this.current(function (currentData) { - var count = currentData != null ? currentData.length : 0; - if (self.maximumSelectionLength > 0 && - count >= self.maximumSelectionLength) { - self.trigger('results:message', { - message: 'maximumSelected', - args: { - maximum: self.maximumSelectionLength - } - }); - return; - } - decorated.call(self, params, callback); - }); - }; - - return MaximumSelectionLength; -}); - -S2.define('select2/dropdown',[ - 'jquery', - './utils' -], function ($, Utils) { - function Dropdown ($element, options) { - this.$element = $element; - this.options = options; - - Dropdown.__super__.constructor.call(this); - } - - Utils.Extend(Dropdown, Utils.Observable); - - Dropdown.prototype.render = function () { - var $dropdown = $( - '<span class="select2-dropdown">' + - '<span class="select2-results"></span>' + - '</span>' - ); - - $dropdown.attr('dir', this.options.get('dir')); - - this.$dropdown = $dropdown; - - return $dropdown; - }; - - Dropdown.prototype.bind = function () { - // Should be implemented in subclasses - }; - - Dropdown.prototype.position = function ($dropdown, $container) { - // Should be implmented in subclasses - }; - - Dropdown.prototype.destroy = function () { - // Remove the dropdown from the DOM - this.$dropdown.remove(); - }; - - return Dropdown; -}); - -S2.define('select2/dropdown/search',[ - 'jquery', - '../utils' -], function ($, Utils) { - function Search () { } - - Search.prototype.render = function (decorated) { - var $rendered = decorated.call(this); - - var $search = $( - '<span class="select2-search select2-search--dropdown">' + - '<input class="select2-search__field" type="search" tabindex="-1"' + - ' autocomplete="off" autocorrect="off" autocapitalize="off"' + - ' spellcheck="false" role="textbox" />' + - '</span>' - ); - - this.$searchContainer = $search; - this.$search = $search.find('input'); - - $rendered.prepend($search); - - return $rendered; - }; - - Search.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - this.$search.on('keydown', function (evt) { - self.trigger('keypress', evt); - - self._keyUpPrevented = evt.isDefaultPrevented(); - }); - - // Workaround for browsers which do not support the `input` event - // This will prevent double-triggering of events for browsers which support - // both the `keyup` and `input` events. - this.$search.on('input', function (evt) { - // Unbind the duplicated `keyup` event - $(this).off('keyup'); - }); - - this.$search.on('keyup input', function (evt) { - self.handleSearch(evt); - }); - - container.on('open', function () { - self.$search.attr('tabindex', 0); - - self.$search.focus(); - - window.setTimeout(function () { - self.$search.focus(); - }, 0); - }); - - container.on('close', function () { - self.$search.attr('tabindex', -1); - - self.$search.val(''); - }); - - container.on('focus', function () { - if (container.isOpen()) { - self.$search.focus(); - } - }); - - container.on('results:all', function (params) { - if (params.query.term == null || params.query.term === '') { - var showSearch = self.showSearch(params); - - if (showSearch) { - self.$searchContainer.removeClass('select2-search--hide'); - } else { - self.$searchContainer.addClass('select2-search--hide'); - } - } - }); - }; - - Search.prototype.handleSearch = function (evt) { - if (!this._keyUpPrevented) { - var input = this.$search.val(); - - this.trigger('query', { - term: input - }); - } - - this._keyUpPrevented = false; - }; - - Search.prototype.showSearch = function (_, params) { - return true; - }; - - return Search; -}); - -S2.define('select2/dropdown/hidePlaceholder',[ - -], function () { - function HidePlaceholder (decorated, $element, options, dataAdapter) { - this.placeholder = this.normalizePlaceholder(options.get('placeholder')); - - decorated.call(this, $element, options, dataAdapter); - } - - HidePlaceholder.prototype.append = function (decorated, data) { - data.results = this.removePlaceholder(data.results); - - decorated.call(this, data); - }; - - HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { - if (typeof placeholder === 'string') { - placeholder = { - id: '', - text: placeholder - }; - } - - return placeholder; - }; - - HidePlaceholder.prototype.removePlaceholder = function (_, data) { - var modifiedData = data.slice(0); - - for (var d = data.length - 1; d >= 0; d--) { - var item = data[d]; - - if (this.placeholder.id === item.id) { - modifiedData.splice(d, 1); - } - } - - return modifiedData; - }; - - return HidePlaceholder; -}); - -S2.define('select2/dropdown/infiniteScroll',[ - 'jquery' -], function ($) { - function InfiniteScroll (decorated, $element, options, dataAdapter) { - this.lastParams = {}; - - decorated.call(this, $element, options, dataAdapter); - - this.$loadingMore = this.createLoadingMore(); - this.loading = false; - } - - InfiniteScroll.prototype.append = function (decorated, data) { - this.$loadingMore.remove(); - this.loading = false; - - decorated.call(this, data); - - if (this.showLoadingMore(data)) { - this.$results.append(this.$loadingMore); - } - }; - - InfiniteScroll.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('query', function (params) { - self.lastParams = params; - self.loading = true; - }); - - container.on('query:append', function (params) { - self.lastParams = params; - self.loading = true; - }); - - this.$results.on('scroll', function () { - var isLoadMoreVisible = $.contains( - document.documentElement, - self.$loadingMore[0] - ); - - if (self.loading || !isLoadMoreVisible) { - return; - } - - var currentOffset = self.$results.offset().top + - self.$results.outerHeight(false); - var loadingMoreOffset = self.$loadingMore.offset().top + - self.$loadingMore.outerHeight(false); - - if (currentOffset + 50 >= loadingMoreOffset) { - self.loadMore(); - } - }); - }; - - InfiniteScroll.prototype.loadMore = function () { - this.loading = true; - - var params = $.extend({}, {page: 1}, this.lastParams); - - params.page++; - - this.trigger('query:append', params); - }; - - InfiniteScroll.prototype.showLoadingMore = function (_, data) { - return data.pagination && data.pagination.more; - }; - - InfiniteScroll.prototype.createLoadingMore = function () { - var $option = $( - '<li ' + - 'class="select2-results__option select2-results__option--load-more"' + - 'role="treeitem" aria-disabled="true"></li>' - ); - - var message = this.options.get('translations').get('loadingMore'); - - $option.html(message(this.lastParams)); - - return $option; - }; - - return InfiniteScroll; -}); - -S2.define('select2/dropdown/attachBody',[ - 'jquery', - '../utils' -], function ($, Utils) { - function AttachBody (decorated, $element, options) { - this.$dropdownParent = options.get('dropdownParent') || $(document.body); - - decorated.call(this, $element, options); - } - - AttachBody.prototype.bind = function (decorated, container, $container) { - var self = this; - - var setupResultsEvents = false; - - decorated.call(this, container, $container); - - container.on('open', function () { - self._showDropdown(); - self._attachPositioningHandler(container); - - if (!setupResultsEvents) { - setupResultsEvents = true; - - container.on('results:all', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - - container.on('results:append', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - } - }); - - container.on('close', function () { - self._hideDropdown(); - self._detachPositioningHandler(container); - }); - - this.$dropdownContainer.on('mousedown', function (evt) { - evt.stopPropagation(); - }); - }; - - AttachBody.prototype.destroy = function (decorated) { - decorated.call(this); - - this.$dropdownContainer.remove(); - }; - - AttachBody.prototype.position = function (decorated, $dropdown, $container) { - // Clone all of the container classes - $dropdown.attr('class', $container.attr('class')); - - $dropdown.removeClass('select2'); - $dropdown.addClass('select2-container--open'); - - $dropdown.css({ - position: 'absolute', - top: -999999 - }); - - this.$container = $container; - }; - - AttachBody.prototype.render = function (decorated) { - var $container = $('<span></span>'); - - var $dropdown = decorated.call(this); - $container.append($dropdown); - - this.$dropdownContainer = $container; - - return $container; - }; - - AttachBody.prototype._hideDropdown = function (decorated) { - this.$dropdownContainer.detach(); - }; - - AttachBody.prototype._attachPositioningHandler = - function (decorated, container) { - var self = this; - - var scrollEvent = 'scroll.select2.' + container.id; - var resizeEvent = 'resize.select2.' + container.id; - var orientationEvent = 'orientationchange.select2.' + container.id; - - var $watchers = this.$container.parents().filter(Utils.hasScroll); - $watchers.each(function () { - $(this).data('select2-scroll-position', { - x: $(this).scrollLeft(), - y: $(this).scrollTop() - }); - }); - - $watchers.on(scrollEvent, function (ev) { - var position = $(this).data('select2-scroll-position'); - $(this).scrollTop(position.y); - }); - - $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, - function (e) { - self._positionDropdown(); - self._resizeDropdown(); - }); - }; - - AttachBody.prototype._detachPositioningHandler = - function (decorated, container) { - var scrollEvent = 'scroll.select2.' + container.id; - var resizeEvent = 'resize.select2.' + container.id; - var orientationEvent = 'orientationchange.select2.' + container.id; - - var $watchers = this.$container.parents().filter(Utils.hasScroll); - $watchers.off(scrollEvent); - - $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); - }; - - AttachBody.prototype._positionDropdown = function () { - var $window = $(window); - - var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); - var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); - - var newDirection = null; - - var offset = this.$container.offset(); - - offset.bottom = offset.top + this.$container.outerHeight(false); - - var container = { - height: this.$container.outerHeight(false) - }; - - container.top = offset.top; - container.bottom = offset.top + container.height; - - var dropdown = { - height: this.$dropdown.outerHeight(false) - }; - - var viewport = { - top: $window.scrollTop(), - bottom: $window.scrollTop() + $window.height() - }; - - var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); - var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); - - var css = { - left: offset.left, - top: container.bottom - }; - - // Determine what the parent element is to use for calciulating the offset - var $offsetParent = this.$dropdownParent; - - // For statically positoned elements, we need to get the element - // that is determining the offset - if ($offsetParent.css('position') === 'static') { - $offsetParent = $offsetParent.offsetParent(); - } - - var parentOffset = $offsetParent.offset(); - - css.top -= parentOffset.top; - css.left -= parentOffset.left; - - if (!isCurrentlyAbove && !isCurrentlyBelow) { - newDirection = 'below'; - } - - if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { - newDirection = 'above'; - } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { - newDirection = 'below'; - } - - if (newDirection == 'above' || - (isCurrentlyAbove && newDirection !== 'below')) { - css.top = container.top - parentOffset.top - dropdown.height; - } - - if (newDirection != null) { - this.$dropdown - .removeClass('select2-dropdown--below select2-dropdown--above') - .addClass('select2-dropdown--' + newDirection); - this.$container - .removeClass('select2-container--below select2-container--above') - .addClass('select2-container--' + newDirection); - } - - this.$dropdownContainer.css(css); - }; - - AttachBody.prototype._resizeDropdown = function () { - var css = { - width: this.$container.outerWidth(false) + 'px' - }; - - if (this.options.get('dropdownAutoWidth')) { - css.minWidth = css.width; - css.position = 'relative'; - css.width = 'auto'; - } - - this.$dropdown.css(css); - }; - - AttachBody.prototype._showDropdown = function (decorated) { - this.$dropdownContainer.appendTo(this.$dropdownParent); - - this._positionDropdown(); - this._resizeDropdown(); - }; - - return AttachBody; -}); - -S2.define('select2/dropdown/minimumResultsForSearch',[ - -], function () { - function countResults (data) { - var count = 0; - - for (var d = 0; d < data.length; d++) { - var item = data[d]; - - if (item.children) { - count += countResults(item.children); - } else { - count++; - } - } - - return count; - } - - function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { - this.minimumResultsForSearch = options.get('minimumResultsForSearch'); - - if (this.minimumResultsForSearch < 0) { - this.minimumResultsForSearch = Infinity; - } - - decorated.call(this, $element, options, dataAdapter); - } - - MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { - if (countResults(params.data.results) < this.minimumResultsForSearch) { - return false; - } - - return decorated.call(this, params); - }; - - return MinimumResultsForSearch; -}); - -S2.define('select2/dropdown/selectOnClose',[ - -], function () { - function SelectOnClose () { } - - SelectOnClose.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('close', function (params) { - self._handleSelectOnClose(params); - }); - }; - - SelectOnClose.prototype._handleSelectOnClose = function (_, params) { - if (params && params.originalSelect2Event != null) { - var event = params.originalSelect2Event; - - // Don't select an item if the close event was triggered from a select or - // unselect event - if (event._type === 'select' || event._type === 'unselect') { - return; - } - } - - var $highlightedResults = this.getHighlightedResults(); - - // Only select highlighted results - if ($highlightedResults.length < 1) { - return; - } - - var data = $highlightedResults.data('data'); - - // Don't re-select already selected resulte - if ( - (data.element != null && data.element.selected) || - (data.element == null && data.selected) - ) { - return; - } - - this.trigger('select', { - data: data - }); - }; - - return SelectOnClose; -}); - -S2.define('select2/dropdown/closeOnSelect',[ - -], function () { - function CloseOnSelect () { } - - CloseOnSelect.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('select', function (evt) { - self._selectTriggered(evt); - }); - - container.on('unselect', function (evt) { - self._selectTriggered(evt); - }); - }; - - CloseOnSelect.prototype._selectTriggered = function (_, evt) { - var originalEvent = evt.originalEvent; - - // Don't close if the control key is being held - if (originalEvent && originalEvent.ctrlKey) { - return; - } - - this.trigger('close', { - originalEvent: originalEvent, - originalSelect2Event: evt - }); - }; - - return CloseOnSelect; -}); - -S2.define('select2/i18n/en',[],function () { - // English - return { - errorLoading: function () { - return 'The results could not be loaded.'; - }, - inputTooLong: function (args) { - var overChars = args.input.length - args.maximum; - - var message = 'Please delete ' + overChars + ' character'; - - if (overChars != 1) { - message += 's'; - } - - return message; - }, - inputTooShort: function (args) { - var remainingChars = args.minimum - args.input.length; - - var message = 'Please enter ' + remainingChars + ' or more characters'; - - return message; - }, - loadingMore: function () { - return 'Loading more results…'; - }, - maximumSelected: function (args) { - var message = 'You can only select ' + args.maximum + ' item'; - - if (args.maximum != 1) { - message += 's'; - } - - return message; - }, - noResults: function () { - return 'No results found'; - }, - searching: function () { - return 'Searching…'; - } - }; -}); - -S2.define('select2/defaults',[ - 'jquery', - 'require', - - './results', - - './selection/single', - './selection/multiple', - './selection/placeholder', - './selection/allowClear', - './selection/search', - './selection/eventRelay', - - './utils', - './translation', - './diacritics', - - './data/select', - './data/array', - './data/ajax', - './data/tags', - './data/tokenizer', - './data/minimumInputLength', - './data/maximumInputLength', - './data/maximumSelectionLength', - - './dropdown', - './dropdown/search', - './dropdown/hidePlaceholder', - './dropdown/infiniteScroll', - './dropdown/attachBody', - './dropdown/minimumResultsForSearch', - './dropdown/selectOnClose', - './dropdown/closeOnSelect', - - './i18n/en' -], function ($, require, - - ResultsList, - - SingleSelection, MultipleSelection, Placeholder, AllowClear, - SelectionSearch, EventRelay, - - Utils, Translation, DIACRITICS, - - SelectData, ArrayData, AjaxData, Tags, Tokenizer, - MinimumInputLength, MaximumInputLength, MaximumSelectionLength, - - Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, - AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, - - EnglishTranslation) { - function Defaults () { - this.reset(); - } - - Defaults.prototype.apply = function (options) { - options = $.extend(true, {}, this.defaults, options); - - if (options.dataAdapter == null) { - if (options.ajax != null) { - options.dataAdapter = AjaxData; - } else if (options.data != null) { - options.dataAdapter = ArrayData; - } else { - options.dataAdapter = SelectData; - } - - if (options.minimumInputLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MinimumInputLength - ); - } - - if (options.maximumInputLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MaximumInputLength - ); - } - - if (options.maximumSelectionLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MaximumSelectionLength - ); - } - - if (options.tags) { - options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); - } - - if (options.tokenSeparators != null || options.tokenizer != null) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - Tokenizer - ); - } - - if (options.query != null) { - var Query = require(options.amdBase + 'compat/query'); - - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - Query - ); - } - - if (options.initSelection != null) { - var InitSelection = require(options.amdBase + 'compat/initSelection'); - - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - InitSelection - ); - } - } - - if (options.resultsAdapter == null) { - options.resultsAdapter = ResultsList; - - if (options.ajax != null) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - InfiniteScroll - ); - } - - if (options.placeholder != null) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - HidePlaceholder - ); - } - - if (options.selectOnClose) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - SelectOnClose - ); - } - } - - if (options.dropdownAdapter == null) { - if (options.multiple) { - options.dropdownAdapter = Dropdown; - } else { - var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); - - options.dropdownAdapter = SearchableDropdown; - } - - if (options.minimumResultsForSearch !== 0) { - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - MinimumResultsForSearch - ); - } - - if (options.closeOnSelect) { - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - CloseOnSelect - ); - } - - if ( - options.dropdownCssClass != null || - options.dropdownCss != null || - options.adaptDropdownCssClass != null - ) { - var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); - - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - DropdownCSS - ); - } - - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - AttachBody - ); - } - - if (options.selectionAdapter == null) { - if (options.multiple) { - options.selectionAdapter = MultipleSelection; - } else { - options.selectionAdapter = SingleSelection; - } - - // Add the placeholder mixin if a placeholder was specified - if (options.placeholder != null) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - Placeholder - ); - } - - if (options.allowClear) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - AllowClear - ); - } - - if (options.multiple) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - SelectionSearch - ); - } - - if ( - options.containerCssClass != null || - options.containerCss != null || - options.adaptContainerCssClass != null - ) { - var ContainerCSS = require(options.amdBase + 'compat/containerCss'); - - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - ContainerCSS - ); - } - - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - EventRelay - ); - } - - if (typeof options.language === 'string') { - // Check if the language is specified with a region - if (options.language.indexOf('-') > 0) { - // Extract the region information if it is included - var languageParts = options.language.split('-'); - var baseLanguage = languageParts[0]; - - options.language = [options.language, baseLanguage]; - } else { - options.language = [options.language]; - } - } - - if ($.isArray(options.language)) { - var languages = new Translation(); - options.language.push('en'); - - var languageNames = options.language; - - for (var l = 0; l < languageNames.length; l++) { - var name = languageNames[l]; - var language = {}; - - try { - // Try to load it with the original name - language = Translation.loadPath(name); - } catch (e) { - try { - // If we couldn't load it, check if it wasn't the full path - name = this.defaults.amdLanguageBase + name; - language = Translation.loadPath(name); - } catch (ex) { - // The translation could not be loaded at all. Sometimes this is - // because of a configuration problem, other times this can be - // because of how Select2 helps load all possible translation files. - if (options.debug && window.console && console.warn) { - console.warn( - 'Select2: The language file for "' + name + '" could not be ' + - 'automatically loaded. A fallback will be used instead.' - ); - } - - continue; - } - } - - languages.extend(language); - } - - options.translations = languages; - } else { - var baseTranslation = Translation.loadPath( - this.defaults.amdLanguageBase + 'en' - ); - var customTranslation = new Translation(options.language); - - customTranslation.extend(baseTranslation); - - options.translations = customTranslation; - } - - return options; - }; - - Defaults.prototype.reset = function () { - function stripDiacritics (text) { - // Used 'uni range + named function' from http://jsperf.com/diacritics/18 - function match(a) { - return DIACRITICS[a] || a; - } - - return text.replace(/[^\u0000-\u007E]/g, match); - } - - function matcher (params, data) { - // Always return the object if there is nothing to compare - if ($.trim(params.term) === '') { - return data; - } - - // Do a recursive check for options with children - if (data.children && data.children.length > 0) { - // Clone the data object if there are children - // This is required as we modify the object to remove any non-matches - var match = $.extend(true, {}, data); - - // Check each child of the option - for (var c = data.children.length - 1; c >= 0; c--) { - var child = data.children[c]; - - var matches = matcher(params, child); - - // If there wasn't a match, remove the object in the array - if (matches == null) { - match.children.splice(c, 1); - } - } - - // If any children matched, return the new object - if (match.children.length > 0) { - return match; - } - - // If there were no matching children, check just the plain object - return matcher(params, match); - } - - var original = stripDiacritics(data.text).toUpperCase(); - var term = stripDiacritics(params.term).toUpperCase(); - - // Check if the text contains the term - if (original.indexOf(term) > -1) { - return data; - } - - // If it doesn't contain the term, don't return anything - return null; - } - - this.defaults = { - amdBase: './', - amdLanguageBase: './i18n/', - closeOnSelect: true, - debug: false, - dropdownAutoWidth: false, - escapeMarkup: Utils.escapeMarkup, - language: EnglishTranslation, - matcher: matcher, - minimumInputLength: 0, - maximumInputLength: 0, - maximumSelectionLength: 0, - minimumResultsForSearch: 0, - selectOnClose: false, - sorter: function (data) { - return data; - }, - templateResult: function (result) { - return result.text; - }, - templateSelection: function (selection) { - return selection.text; - }, - theme: 'default', - width: 'resolve' - }; - }; - - Defaults.prototype.set = function (key, value) { - var camelKey = $.camelCase(key); - - var data = {}; - data[camelKey] = value; - - var convertedData = Utils._convertData(data); - - $.extend(this.defaults, convertedData); - }; - - var defaults = new Defaults(); - - return defaults; -}); - -S2.define('select2/options',[ - 'require', - 'jquery', - './defaults', - './utils' -], function (require, $, Defaults, Utils) { - function Options (options, $element) { - this.options = options; - - if ($element != null) { - this.fromElement($element); - } - - this.options = Defaults.apply(this.options); - - if ($element && $element.is('input')) { - var InputCompat = require(this.get('amdBase') + 'compat/inputData'); - - this.options.dataAdapter = Utils.Decorate( - this.options.dataAdapter, - InputCompat - ); - } - } - - Options.prototype.fromElement = function ($e) { - var excludedData = ['select2']; - - if (this.options.multiple == null) { - this.options.multiple = $e.prop('multiple'); - } - - if (this.options.disabled == null) { - this.options.disabled = $e.prop('disabled'); - } - - if (this.options.language == null) { - if ($e.prop('lang')) { - this.options.language = $e.prop('lang').toLowerCase(); - } else if ($e.closest('[lang]').prop('lang')) { - this.options.language = $e.closest('[lang]').prop('lang'); - } - } - - if (this.options.dir == null) { - if ($e.prop('dir')) { - this.options.dir = $e.prop('dir'); - } else if ($e.closest('[dir]').prop('dir')) { - this.options.dir = $e.closest('[dir]').prop('dir'); - } else { - this.options.dir = 'ltr'; - } - } - - $e.prop('disabled', this.options.disabled); - $e.prop('multiple', this.options.multiple); - - if ($e.data('select2Tags')) { - if (this.options.debug && window.console && console.warn) { - console.warn( - 'Select2: The `data-select2-tags` attribute has been changed to ' + - 'use the `data-data` and `data-tags="true"` attributes and will be ' + - 'removed in future versions of Select2.' - ); - } - - $e.data('data', $e.data('select2Tags')); - $e.data('tags', true); - } - - if ($e.data('ajaxUrl')) { - if (this.options.debug && window.console && console.warn) { - console.warn( - 'Select2: The `data-ajax-url` attribute has been changed to ' + - '`data-ajax--url` and support for the old attribute will be removed' + - ' in future versions of Select2.' - ); - } - - $e.attr('ajax--url', $e.data('ajaxUrl')); - $e.data('ajax--url', $e.data('ajaxUrl')); - } - - var dataset = {}; - - // Prefer the element's `dataset` attribute if it exists - // jQuery 1.x does not correctly handle data attributes with multiple dashes - if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { - dataset = $.extend(true, {}, $e[0].dataset, $e.data()); - } else { - dataset = $e.data(); - } - - var data = $.extend(true, {}, dataset); - - data = Utils._convertData(data); - - for (var key in data) { - if ($.inArray(key, excludedData) > -1) { - continue; - } - - if ($.isPlainObject(this.options[key])) { - $.extend(this.options[key], data[key]); - } else { - this.options[key] = data[key]; - } - } - - return this; - }; - - Options.prototype.get = function (key) { - return this.options[key]; - }; - - Options.prototype.set = function (key, val) { - this.options[key] = val; - }; - - return Options; -}); - -S2.define('select2/core',[ - 'jquery', - './options', - './utils', - './keys' -], function ($, Options, Utils, KEYS) { - var Select2 = function ($element, options) { - if ($element.data('select2') != null) { - $element.data('select2').destroy(); - } - - this.$element = $element; - - this.id = this._generateId($element); - - options = options || {}; - - this.options = new Options(options, $element); - - Select2.__super__.constructor.call(this); - - // Set up the tabindex - - var tabindex = $element.attr('tabindex') || 0; - $element.data('old-tabindex', tabindex); - $element.attr('tabindex', '-1'); - - // Set up containers and adapters - - var DataAdapter = this.options.get('dataAdapter'); - this.dataAdapter = new DataAdapter($element, this.options); - - var $container = this.render(); - - this._placeContainer($container); - - var SelectionAdapter = this.options.get('selectionAdapter'); - this.selection = new SelectionAdapter($element, this.options); - this.$selection = this.selection.render(); - - this.selection.position(this.$selection, $container); - - var DropdownAdapter = this.options.get('dropdownAdapter'); - this.dropdown = new DropdownAdapter($element, this.options); - this.$dropdown = this.dropdown.render(); - - this.dropdown.position(this.$dropdown, $container); - - var ResultsAdapter = this.options.get('resultsAdapter'); - this.results = new ResultsAdapter($element, this.options, this.dataAdapter); - this.$results = this.results.render(); - - this.results.position(this.$results, this.$dropdown); - - // Bind events - - var self = this; - - // Bind the container to all of the adapters - this._bindAdapters(); - - // Register any DOM event handlers - this._registerDomEvents(); - - // Register any internal event handlers - this._registerDataEvents(); - this._registerSelectionEvents(); - this._registerDropdownEvents(); - this._registerResultsEvents(); - this._registerEvents(); - - // Set the initial state - this.dataAdapter.current(function (initialData) { - self.trigger('selection:update', { - data: initialData - }); - }); - - // Hide the original select - $element.addClass('select2-hidden-accessible'); - $element.attr('aria-hidden', 'true'); - - // Synchronize any monitored attributes - this._syncAttributes(); - - $element.data('select2', this); - }; - - Utils.Extend(Select2, Utils.Observable); - - Select2.prototype._generateId = function ($element) { - var id = ''; - - if ($element.attr('id') != null) { - id = $element.attr('id'); - } else if ($element.attr('name') != null) { - id = $element.attr('name') + '-' + Utils.generateChars(2); - } else { - id = Utils.generateChars(4); - } - - id = id.replace(/(:|\.|\[|\]|,)/g, ''); - id = 'select2-' + id; - - return id; - }; - - Select2.prototype._placeContainer = function ($container) { - $container.insertAfter(this.$element); - - var width = this._resolveWidth(this.$element, this.options.get('width')); - - if (width != null) { - $container.css('width', width); - } - }; - - Select2.prototype._resolveWidth = function ($element, method) { - var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; - - if (method == 'resolve') { - var styleWidth = this._resolveWidth($element, 'style'); - - if (styleWidth != null) { - return styleWidth; - } - - return this._resolveWidth($element, 'element'); - } - - if (method == 'element') { - var elementWidth = $element.outerWidth(false); - - if (elementWidth <= 0) { - return 'auto'; - } - - return elementWidth + 'px'; - } - - if (method == 'style') { - var style = $element.attr('style'); - - if (typeof(style) !== 'string') { - return null; - } - - var attrs = style.split(';'); - - for (var i = 0, l = attrs.length; i < l; i = i + 1) { - var attr = attrs[i].replace(/\s/g, ''); - var matches = attr.match(WIDTH); - - if (matches !== null && matches.length >= 1) { - return matches[1]; - } - } - - return null; - } - - return method; - }; - - Select2.prototype._bindAdapters = function () { - this.dataAdapter.bind(this, this.$container); - this.selection.bind(this, this.$container); - - this.dropdown.bind(this, this.$container); - this.results.bind(this, this.$container); - }; - - Select2.prototype._registerDomEvents = function () { - var self = this; - - this.$element.on('change.select2', function () { - self.dataAdapter.current(function (data) { - self.trigger('selection:update', { - data: data - }); - }); - }); - - this.$element.on('focus.select2', function (evt) { - self.trigger('focus', evt); - }); - - this._syncA = Utils.bind(this._syncAttributes, this); - this._syncS = Utils.bind(this._syncSubtree, this); - - if (this.$element[0].attachEvent) { - this.$element[0].attachEvent('onpropertychange', this._syncA); - } - - var observer = window.MutationObserver || - window.WebKitMutationObserver || - window.MozMutationObserver - ; - - if (observer != null) { - this._observer = new observer(function (mutations) { - $.each(mutations, self._syncA); - $.each(mutations, self._syncS); - }); - this._observer.observe(this.$element[0], { - attributes: true, - childList: true, - subtree: false - }); - } else if (this.$element[0].addEventListener) { - this.$element[0].addEventListener( - 'DOMAttrModified', - self._syncA, - false - ); - this.$element[0].addEventListener( - 'DOMNodeInserted', - self._syncS, - false - ); - this.$element[0].addEventListener( - 'DOMNodeRemoved', - self._syncS, - false - ); - } - }; - - Select2.prototype._registerDataEvents = function () { - var self = this; - - this.dataAdapter.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerSelectionEvents = function () { - var self = this; - var nonRelayEvents = ['toggle', 'focus']; - - this.selection.on('toggle', function () { - self.toggleDropdown(); - }); - - this.selection.on('focus', function (params) { - self.focus(params); - }); - - this.selection.on('*', function (name, params) { - if ($.inArray(name, nonRelayEvents) !== -1) { - return; - } - - self.trigger(name, params); - }); - }; - - Select2.prototype._registerDropdownEvents = function () { - var self = this; - - this.dropdown.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerResultsEvents = function () { - var self = this; - - this.results.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerEvents = function () { - var self = this; - - this.on('open', function () { - self.$container.addClass('select2-container--open'); - }); - - this.on('close', function () { - self.$container.removeClass('select2-container--open'); - }); - - this.on('enable', function () { - self.$container.removeClass('select2-container--disabled'); - }); - - this.on('disable', function () { - self.$container.addClass('select2-container--disabled'); - }); - - this.on('blur', function () { - self.$container.removeClass('select2-container--focus'); - }); - - this.on('query', function (params) { - if (!self.isOpen()) { - self.trigger('open', {}); - } - - this.dataAdapter.query(params, function (data) { - self.trigger('results:all', { - data: data, - query: params - }); - }); - }); - - this.on('query:append', function (params) { - this.dataAdapter.query(params, function (data) { - self.trigger('results:append', { - data: data, - query: params - }); - }); - }); - - this.on('keypress', function (evt) { - var key = evt.which; - - if (self.isOpen()) { - if (key === KEYS.ESC || key === KEYS.TAB || - (key === KEYS.UP && evt.altKey)) { - self.close(); - - evt.preventDefault(); - } else if (key === KEYS.ENTER) { - self.trigger('results:select', {}); - - evt.preventDefault(); - } else if ((key === KEYS.SPACE && evt.ctrlKey)) { - self.trigger('results:toggle', {}); - - evt.preventDefault(); - } else if (key === KEYS.UP) { - self.trigger('results:previous', {}); - - evt.preventDefault(); - } else if (key === KEYS.DOWN) { - self.trigger('results:next', {}); - - evt.preventDefault(); - } - } else { - if (key === KEYS.ENTER || key === KEYS.SPACE || - (key === KEYS.DOWN && evt.altKey)) { - self.open(); - - evt.preventDefault(); - } - } - }); - }; - - Select2.prototype._syncAttributes = function () { - this.options.set('disabled', this.$element.prop('disabled')); - - if (this.options.get('disabled')) { - if (this.isOpen()) { - this.close(); - } - - this.trigger('disable', {}); - } else { - this.trigger('enable', {}); - } - }; - - Select2.prototype._syncSubtree = function (evt, mutations) { - var changed = false; - var self = this; - - // Ignore any mutation events raised for elements that aren't options or - // optgroups. This handles the case when the select element is destroyed - if ( - evt && evt.target && ( - evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' - ) - ) { - return; - } - - if (!mutations) { - // If mutation events aren't supported, then we can only assume that the - // change affected the selections - changed = true; - } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { - for (var n = 0; n < mutations.addedNodes.length; n++) { - var node = mutations.addedNodes[n]; - - if (node.selected) { - changed = true; - } - } - } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { - changed = true; - } - - // Only re-pull the data if we think there is a change - if (changed) { - this.dataAdapter.current(function (currentData) { - self.trigger('selection:update', { - data: currentData - }); - }); - } - }; - - /** - * Override the trigger method to automatically trigger pre-events when - * there are events that can be prevented. - */ - Select2.prototype.trigger = function (name, args) { - var actualTrigger = Select2.__super__.trigger; - var preTriggerMap = { - 'open': 'opening', - 'close': 'closing', - 'select': 'selecting', - 'unselect': 'unselecting' - }; - - if (args === undefined) { - args = {}; - } - - if (name in preTriggerMap) { - var preTriggerName = preTriggerMap[name]; - var preTriggerArgs = { - prevented: false, - name: name, - args: args - }; - - actualTrigger.call(this, preTriggerName, preTriggerArgs); - - if (preTriggerArgs.prevented) { - args.prevented = true; - - return; - } - } - - actualTrigger.call(this, name, args); - }; - - Select2.prototype.toggleDropdown = function () { - if (this.options.get('disabled')) { - return; - } - - if (this.isOpen()) { - this.close(); - } else { - this.open(); - } - }; - - Select2.prototype.open = function () { - if (this.isOpen()) { - return; - } - - this.trigger('query', {}); - }; - - Select2.prototype.close = function () { - if (!this.isOpen()) { - return; - } - - this.trigger('close', {}); - }; - - Select2.prototype.isOpen = function () { - return this.$container.hasClass('select2-container--open'); - }; - - Select2.prototype.hasFocus = function () { - return this.$container.hasClass('select2-container--focus'); - }; - - Select2.prototype.focus = function (data) { - // No need to re-trigger focus events if we are already focused - if (this.hasFocus()) { - return; - } - - this.$container.addClass('select2-container--focus'); - this.trigger('focus', {}); - }; - - Select2.prototype.enable = function (args) { - if (this.options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `select2("enable")` method has been deprecated and will' + - ' be removed in later Select2 versions. Use $element.prop("disabled")' + - ' instead.' - ); - } - - if (args == null || args.length === 0) { - args = [true]; - } - - var disabled = !args[0]; - - this.$element.prop('disabled', disabled); - }; - - Select2.prototype.data = function () { - if (this.options.get('debug') && - arguments.length > 0 && window.console && console.warn) { - console.warn( - 'Select2: Data can no longer be set using `select2("data")`. You ' + - 'should consider setting the value instead using `$element.val()`.' - ); - } - - var data = []; - - this.dataAdapter.current(function (currentData) { - data = currentData; - }); - - return data; - }; - - Select2.prototype.val = function (args) { - if (this.options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `select2("val")` method has been deprecated and will be' + - ' removed in later Select2 versions. Use $element.val() instead.' - ); - } - - if (args == null || args.length === 0) { - return this.$element.val(); - } - - var newVal = args[0]; - - if ($.isArray(newVal)) { - newVal = $.map(newVal, function (obj) { - return obj.toString(); - }); - } - - this.$element.val(newVal).trigger('change'); - }; - - Select2.prototype.destroy = function () { - this.$container.remove(); - - if (this.$element[0].detachEvent) { - this.$element[0].detachEvent('onpropertychange', this._syncA); - } - - if (this._observer != null) { - this._observer.disconnect(); - this._observer = null; - } else if (this.$element[0].removeEventListener) { - this.$element[0] - .removeEventListener('DOMAttrModified', this._syncA, false); - this.$element[0] - .removeEventListener('DOMNodeInserted', this._syncS, false); - this.$element[0] - .removeEventListener('DOMNodeRemoved', this._syncS, false); - } - - this._syncA = null; - this._syncS = null; - - this.$element.off('.select2'); - this.$element.attr('tabindex', this.$element.data('old-tabindex')); - - this.$element.removeClass('select2-hidden-accessible'); - this.$element.attr('aria-hidden', 'false'); - this.$element.removeData('select2'); - - this.dataAdapter.destroy(); - this.selection.destroy(); - this.dropdown.destroy(); - this.results.destroy(); - - this.dataAdapter = null; - this.selection = null; - this.dropdown = null; - this.results = null; - }; - - Select2.prototype.render = function () { - var $container = $( - '<span class="select2 select2-container">' + - '<span class="selection"></span>' + - '<span class="dropdown-wrapper" aria-hidden="true"></span>' + - '</span>' - ); - - $container.attr('dir', this.options.get('dir')); - - this.$container = $container; - - this.$container.addClass('select2-container--' + this.options.get('theme')); - - $container.data('element', this.$element); - - return $container; - }; - - return Select2; -}); - -S2.define('jquery-mousewheel',[ - 'jquery' -], function ($) { - // Used to shim jQuery.mousewheel for non-full builds. - return $; -}); - -S2.define('jquery.select2',[ - 'jquery', - 'jquery-mousewheel', - - './select2/core', - './select2/defaults' -], function ($, _, Select2, Defaults) { - if ($.fn.select2 == null) { - // All methods that should return the element - var thisMethods = ['open', 'close', 'destroy']; - - $.fn.select2 = function (options) { - options = options || {}; - - if (typeof options === 'object') { - this.each(function () { - var instanceOptions = $.extend(true, {}, options); - - var instance = new Select2($(this), instanceOptions); - }); - - return this; - } else if (typeof options === 'string') { - var ret; - var args = Array.prototype.slice.call(arguments, 1); - - this.each(function () { - var instance = $(this).data('select2'); - - if (instance == null && window.console && console.error) { - console.error( - 'The select2(\'' + options + '\') method was called on an ' + - 'element that is not using Select2.' - ); - } - - ret = instance[options].apply(instance, args); - }); - - // Check if we should be returning `this` - if ($.inArray(options, thisMethods) > -1) { - return this; - } - - return ret; - } else { - throw new Error('Invalid arguments for Select2: ' + options); - } - }; - } - - if ($.fn.select2.defaults == null) { - $.fn.select2.defaults = Defaults; - } - - return Select2; -}); - - // Return the AMD loader configuration so it can be used outside of this file - return { - define: S2.define, - require: S2.require - }; -}()); - - // Autoload the jQuery bindings - // We know that all of the modules exist above this, so we're safe - var select2 = S2.require('jquery.select2'); - - // Hold the AMD module references on the jQuery function that was just loaded - // This allows Select2 to use the internal loader outside of this file, such - // as in the language files. - jQuery.fn.select2.amd = S2; - - // Return the Select2 instance for anyone who is importing it. - return select2; -})); diff --git a/public/assets/vendor/select2/dist/js/select2.min.js b/public/assets/vendor/select2/dist/js/select2.min.js deleted file mode 100644 index 43f0a651..00000000 --- a/public/assets/vendor/select2/dist/js/select2.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">×</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change"); -if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null; -},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); \ No newline at end of file diff --git a/public/assets/vendor/select2/docs/.gitignore b/public/assets/vendor/select2/docs/.gitignore deleted file mode 100644 index aec68009..00000000 --- a/public/assets/vendor/select2/docs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -_site -dist diff --git a/public/assets/vendor/select2/docs/README.md b/public/assets/vendor/select2/docs/README.md deleted file mode 100644 index b69aed1b..00000000 --- a/public/assets/vendor/select2/docs/README.md +++ /dev/null @@ -1,38 +0,0 @@ -Select2 Documentation -===================== -[This repository][select2-docs-source] holds the latest documentation for -[Select2][select2]. - -What is this? -------------- -The documentation is automatically extracted from the `docs` directory at the -[Select2 source repository][select2-source]. This is done periodically by -the maintainers of Select2. - -How can I fix an issue in these docs? -------------------------------------- -If you are reading this from the source repository, within the `docs` directory, -then you're already in the right place. You can fork the source repository, -commit your changes, and then make a pull request and it will be reviewed. - -**If you are reading this from the -[documentation repository][select2-docs-source], you are in the wrong place.** -Pull requests made directly to the documentation repository will be ignored and -eventually closed, so don't do that. - -How can I build these docs manually? ------------------------------------- -In the [main Select2 repository][select2-source], you can build the -documentation by executing - -```bash -grunt docs -``` - -Which will start up the documentation on port 4000. You will need -[Jekyll][jekyll] installed to build the documentation. - -[jekyll]: http://jekyllrb.com/ -[select2]: https://select2.github.io -[select2-docs-source]: https://github.com/select2/select2.github.io -[select2-source]: https://github.com/select2/select2 diff --git a/public/assets/vendor/select2/docs/_includes/examples/basics.html b/public/assets/vendor/select2/docs/_includes/examples/basics.html deleted file mode 100644 index a077da77..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/basics.html +++ /dev/null @@ -1,97 +0,0 @@ -<section> - - <h1 id="basics" class="page-header">The basics</h1> - - <h2 id="single">Single select boxes</h2> - - <p> - Select2 can take a regular select box like this... - </p> - - <p> - <select class="js-states form-control"></select> - </p> - - <p> - and turn it into this... - </p> - - <div class="s2-example"> - <p> - <select class="js-example-basic-single js-states form-control"></select> - </p> - </div> - -{% highlight html linenos %} -<script type="text/javascript"> -$(document).ready(function() { - $(".js-example-basic-single").select2(); -}); -</script> - -<select class="js-example-basic-single"> - <option value="AL">Alabama</option> - ... - <option value="WY">Wyoming</option> -</select> -{% endhighlight %} - - <h2 id="multiple">Multiple select boxes</h2> - - <p> - Select2 also supports multi-value select boxes. The select below is declared with the <code>multiple</code> attribute. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-basic-multiple js-states form-control" multiple="multiple"></select> - </p> - </div> - -{% highlight html linenos %} -<script type="text/javascript"> -$(".js-example-basic-multiple").select2(); -</script> - -<select class="js-example-basic-multiple" multiple="multiple"> - <option value="AL">Alabama</option> - ... - <option value="WY">Wyoming</option> -</select> -{% endhighlight %} - - <h2>Select boxes with labels</h2> - - <p> - You can, and should, use a <code><label></code> with Select2, just like any other <code><select></code> element. - </p> - - <div class="s2-example"> - <p> - <label for="id_label_single"> - Click this to highlight the single select element - <select class="js-example-basic-single js-states form-control" id="id_label_single"></select> - </label> - </p> - <p> - <label for="id_label_multiple"> - Click this to highlight the multiple select element - <select class="js-example-basic-multiple js-states form-control" id="id_label_multiple" multiple="multiple"></select> - </label> - </p> - </div> - -{% highlight html linenos %} -<label for="id_label_single"> - Click this to highlight the single select element - - <select class="js-example-basic-single js-states form-control" id="id_label_single"></select> -</label> - -<label for="id_label_multiple"> - Click this to highlight the multiple select element - - <select class="js-example-basic-multiple js-states form-control" id="id_label_multiple" multiple="multiple"></select> -</label> -{% endhighlight %} -</section> \ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/examples/data.html b/public/assets/vendor/select2/docs/_includes/examples/data.html deleted file mode 100644 index 4b55a760..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/data.html +++ /dev/null @@ -1,123 +0,0 @@ -<section> - - <h1 id="data" class="page-header"> - Data sources - </h1> - - <p>In addition to handling options from a standard <code><select></code>, Select2 can also retrieve the results from other data sources.</p> - - <h2 id="data-array" >Loading array data</h2> - - <p> - Select2 provides a way to load the data from a local array. - You can provide initial selections with array data by providing the - option tag for the selected values, similar to how it would be done for - a standard select. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-data-array form-control"></select> - </p> - <p> - <select class="js-example-data-array-selected form-control"> - <option value="2" selected="selected">duplicate</option> - </select> - </p> - </div> - -{% highlight html linenos %} -<script type="text/javascript"> -var data = [{ id: 0, text: 'enhancement' }, { id: 1, text: 'bug' }, { id: 2, text: 'duplicate' }, { id: 3, text: 'invalid' }, { id: 4, text: 'wontfix' }]; - -$(".js-example-data-array").select2({ - data: data -}) - -$(".js-example-data-array-selected").select2({ - data: data -}) -</script> - -<select class="js-example-data-array"></select> - -<select class="js-example-data-array-selected"> - <option value="2" selected="selected">duplicate</option> -</select> -{% endhighlight %} - - <h2 id="data-ajax" >Loading remote data</h2> - - <p> - Select2 comes with AJAX support built in, using jQuery's AJAX methods. - In this example, we can search for repositories using GitHub's API. - </p> - - <p> - <select class="js-example-data-ajax form-control"> - <option value="3620194" selected="selected">select2/select2</option> - </select> - </p> - - <p> - When using Select2 with remote data, the HTML required for the - <code>select</code> is the same as any other Select2. If you need to - provide default selections, you just need to include an - <code>option</code> for each selection that contains the value and text - that should be displayed. - </p> - -{% highlight html linenos %} -<select class="js-data-example-ajax"> - <option value="3620194" selected="selected">select2/select2</option> -</select> -{% endhighlight %} - - <p> - You can configure how Select2 searches for remote data using the - <code>ajax</code> option. More information on the individual options - that Select2 handles can be found in the - <a href="options.html#ajax">options documentation for <code>ajax</code></a>. - </p> - -{% highlight js linenos %} -$(".js-data-example-ajax").select2({ - ajax: { - url: "https://api.github.com/search/repositories", - dataType: 'json', - delay: 250, - data: function (params) { - return { - q: params.term, // search term - page: params.page - }; - }, - processResults: function (data, params) { - // parse the results into the format expected by Select2 - // since we are using custom formatting functions we do not need to - // alter the remote JSON data, except to indicate that infinite - // scrolling can be used - params.page = params.page || 1; - - return { - results: data.items, - pagination: { - more: (params.page * 30) < data.total_count - } - }; - }, - cache: true - }, - escapeMarkup: function (markup) { return markup; }, // let our custom formatter work - minimumInputLength: 1, - templateResult: formatRepo, // omitted for brevity, see the source of this page - templateSelection: formatRepoSelection // omitted for brevity, see the source of this page -}); -{% endhighlight %} - - <p> - Select2 will pass any options in the <code>ajax</code> object to - jQuery's <code>$.ajax</code> function, or the <code>transport</code> - function you specify. - </p> -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/disabled-mode.html b/public/assets/vendor/select2/docs/_includes/examples/disabled-mode.html deleted file mode 100644 index 309a2c2b..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/disabled-mode.html +++ /dev/null @@ -1,43 +0,0 @@ -<section> - - <h1 id="disabled">Disabled mode</h1> - - <p> - Select2 will respond to the <code>disabled</code> attribute on - <code><select></code> elements. You can also initialize Select2 - with <code>disabled: true</code> to get the same effect. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-disabled js-states form-control" disabled="disabled"></select> - </p> - - <p> - <select class="js-example-disabled-multi js-states form-control" multiple="multiple" disabled="disabled"></select> - </p> - <div class="btn-group btn-group-sm" role="group" aria-label="Programmatic enabling and disabling"> - <button type="button" class="js-programmatic-enable btn btn-default"> - Enable - </button> - <button type="button" class="js-programmatic-disable btn btn-default"> - Disable - </button> - </div> - </div> - - <pre data-fill-from=".js-code-disabled"></pre> - -<script type="text/javascript" class="js-code-disabled"> -$(".js-programmatic-enable").on("click", function () { - $(".js-example-disabled").prop("disabled", false); - $(".js-example-disabled-multi").prop("disabled", false); -}); - -$(".js-programmatic-disable").on("click", function () { - $(".js-example-disabled").prop("disabled", true); - $(".js-example-disabled-multi").prop("disabled", true); -}); -</script> - -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/disabled-results.html b/public/assets/vendor/select2/docs/_includes/examples/disabled-results.html deleted file mode 100644 index b695a3b6..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/disabled-results.html +++ /dev/null @@ -1,29 +0,0 @@ -<section> - - <h1 id="disabled-results">Disabled results</h1> - - <p> - Select2 will correctly handle disabled results, both with data coming - from a standard select (when the <code>disabled</code> attribute is set) - and from remote sources, where the object has - <code>disabled: true</code> set. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-disabled-results form-control"> - <option value="one">First</option> - <option value="two" disabled="disabled">Second (disabled)</option> - <option value="three">Third</option> - </select> - </p> - </div> - -{% highlight html linenos %} -<select class="js-example-disabled-results"> - <option value="one">First</option> - <option value="two" disabled="disabled">Second (disabled)</option> - <option value="three">Third</option> -</select> -{% endhighlight %} -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/hide-search.html b/public/assets/vendor/select2/docs/_includes/examples/hide-search.html deleted file mode 100644 index 0203c1a7..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/hide-search.html +++ /dev/null @@ -1,22 +0,0 @@ -<section> - - <h1 id="hide-search">Hiding the search box</h1> - - <p> - Select2 allows you to hide the search box depending on the number of - options which are displayed. In this example, we use the value - <code>Infinity</code> to tell Select2 to never display the search box. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-basic-hide-search js-states form-control"></select> - </p> - </div> - -{% highlight js linenos %} -$(".js-example-basic-hide-search").select2({ - minimumResultsForSearch: Infinity -}); -{% endhighlight %} -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/localization-rtl-diacritics.html b/public/assets/vendor/select2/docs/_includes/examples/localization-rtl-diacritics.html deleted file mode 100644 index 8b881586..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/localization-rtl-diacritics.html +++ /dev/null @@ -1,82 +0,0 @@ -<section> - <h1 id="localization-rtl-diacritics" class="page-header"> - Localization, RTL and diacritics support - </h1> - - <h2 id="language">Multiple languages</h2> - - <p> - Select2 supports displaying the messages in different languages, as well - as providing your own - <a href="options.html#language">custom messages</a> - that can be displayed. - </p> - - <p> - The language does not have to be defined when Select2 is being - initialized, but instead can be defined in the <code>[lang]</code> - attribute of any parent elements as <code>[lang="es"]</code>. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-language js-states form-control"> - </select> - </p> - </div> - -{% highlight js linenos %} -$(".js-example-language").select2({ - language: "es" -}); -{% endhighlight %} - - <h2 id="rtl">RTL support</h2> - - <p> - Select2 will work on RTL websites if the <code>dir</code> attribute is - set on the <code><select></code> or any parents of it. You can also - initialize Select2 with <code>dir: "rtl"</code> set. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-rtl js-states form-control" dir="rtl"></select> - </p> - </div> - -{% highlight js linenos %} -$(".js-example-rtl").select2({ - dir: "rtl" -}); -{% endhighlight %} - - <h2 id="diacritics">Diacritics support</h2> - - <p> - Select2's default matcher will ignore diacritics, making it easier for - users to filter results in international selects. Type "aero" into the - select below. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-diacritics form-control"> - <option>Aeróbics</option> - <option>Aeróbics en Agua</option> - <option>Aerografía</option> - <option>Aeromodelaje</option> - <option>Águilas</option> - <option>Ajedrez</option> - <option>Ala Delta</option> - <option>Álbumes de Música</option> - <option>Alusivos</option> - <option>Análisis de Escritura a Mano</option> - </select> - </p> - </div> - -{% highlight js linenos %} -$(".js-example-diacritics").select2(); -{% endhighlight %} -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/matcher.html b/public/assets/vendor/select2/docs/_includes/examples/matcher.html deleted file mode 100644 index fbdcf1f2..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/matcher.html +++ /dev/null @@ -1,39 +0,0 @@ -<section> - <h1 id="matcher">Customizing how results are matched</h1> - - <p> - Unlike other dropdowns on this page, this one matches options only if - the term appears in the beginning of the string as opposed to anywhere: - </p> - - <p> - This custom matcher uses a - <a href="options.html#compat-matcher">compatibility module</a> that is - only bundled in the - <a href="index.html#builds-full">full version of Select2</a>. You also - have the option of using a - <a href="options.html#matcher">more complex matcher</a>. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-matcher-start js-states form-control"></select> - </p> - </div> - -{% highlight js linenos %} -function matchStart (term, text) { - if (text.toUpperCase().indexOf(term.toUpperCase()) == 0) { - return true; - } - - return false; -} - -$.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) { - $(".js-example-matcher-start").select2({ - matcher: oldMatcher(matchStart) - }) -}); -{% endhighlight %} -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/multiple-max.html b/public/assets/vendor/select2/docs/_includes/examples/multiple-max.html deleted file mode 100644 index 6ec0056e..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/multiple-max.html +++ /dev/null @@ -1,24 +0,0 @@ -<section> - <h1 id="multiple-max"> - Limiting the number of selections - </h1> - - <p> - Select2 multi-value select boxes can set restrictions regarding the - maximum number of options selected. The select below is declared with - the <code>multiple</code> attribute with <code>maximumSelectionLength</code> - in the select2 options. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-basic-multiple-limit js-states form-control" multiple="multiple"></select> - </p> - </div> - -{% highlight js linenos %} -$(".js-example-basic-multiple-limit").select2({ - maximumSelectionLength: 2 -}); -{% endhighlight %} -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/placeholders.html b/public/assets/vendor/select2/docs/_includes/examples/placeholders.html deleted file mode 100644 index 1b6afda9..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/placeholders.html +++ /dev/null @@ -1,36 +0,0 @@ -<section> - <h1 id="placeholders">Placeholders</h1> - - <p> - A placeholder value can be defined and will be displayed until a - selection is made. Select2 uses the <code>placeholder</code> attribute - on multiple select boxes, which requires IE 10+. You can support it in - older versions with - <a href="https://github.com/jamesallardice/Placeholders.js">the Placeholders.js polyfill</a>. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-placeholder-single js-states form-control"> - <option></option> - </select> - </p> - <p> - <select class="js-example-placeholder-multiple js-states form-control" multiple="multiple"></select> - </p> - </div> - - <pre data-fill-from=".js-code-placeholder"></pre> - -<script type="text/javascript" class="js-code-placeholder"> -$(".js-example-placeholder-single").select2({ - placeholder: "Select a state", - allowClear: true -}); - -$(".js-example-placeholder-multiple").select2({ - placeholder: "Select a state" -}); -</script> - -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/programmatic-control.html b/public/assets/vendor/select2/docs/_includes/examples/programmatic-control.html deleted file mode 100644 index 375eaa42..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/programmatic-control.html +++ /dev/null @@ -1,155 +0,0 @@ -<section> - <h1 id="programmatic-control" class="page-header"> - Programmatic control - </h1> - - <h2 id="events">DOM events</h2> - - <p> - Select2 will trigger some events on the original select element, - allowing you to integrate it with other components. You can find more - information on events - <a href="options.html#events">on the options page</a>. - </p> - - <p> - <code>change</code> is fired whenever an option is selected or removed. - </p> - - <p> - <code>select2:open</code> is fired whenever the dropdown is opened. - <code>select2:opening</code> is fired before this and can be prevented. - </p> - - <p> - <code>select2:close</code> is fired whenever the dropdown is closed. - <code>select2:closing</code> is fired before this and can be prevented. - </p> - - <p> - <code>select2:select</code> is fired whenever a result is selected. - <code>select2:selecting</code> is fired before this and can be prevented. - </p> - - <p> - <code>select2:unselect</code> is fired whenever a result is unselected. - <code>select2:unselecting</code> is fired before this and can be prevented. - </p> - - <div class="s2-example"> - <p> - <select class="js-states js-example-events form-control"></select> - </p> - <p> - <select class="js-states js-example-events form-control" multiple="multiple"></select> - </p> - </div> - - <div class="s2-event-log"> - <ul class="js-event-log"></ul> - </div> - - <pre data-fill-from=".js-code-events"></pre> - -<script type="text/javascript" class="js-code-events"> -var $eventLog = $(".js-event-log"); -var $eventSelect = $(".js-example-events"); - -$eventSelect.on("select2:open", function (e) { log("select2:open", e); }); -$eventSelect.on("select2:close", function (e) { log("select2:close", e); }); -$eventSelect.on("select2:select", function (e) { log("select2:select", e); }); -$eventSelect.on("select2:unselect", function (e) { log("select2:unselect", e); }); - -$eventSelect.on("change", function (e) { log("change"); }); - -function log (name, evt) { - if (!evt) { - var args = "{}"; - } else { - var args = JSON.stringify(evt.params, function (key, value) { - if (value && value.nodeName) return "[DOM node]"; - if (value instanceof $.Event) return "[$.Event]"; - return value; - }); - } - var $e = $("<li>" + name + " -> " + args + "</li>"); - $eventLog.append($e); - $e.animate({ opacity: 1 }, 10000, 'linear', function () { - $e.animate({ opacity: 0 }, 2000, 'linear', function () { - $e.remove(); - }); - }); -} -</script> - - <h2 id="programmatic">Programmatic access</h2> - - <p> - Select2 supports methods that allow programmatic control of the - component. - </p> - - <div class="s2-example"> - - <p> - <select class="js-example-programmatic js-states form-control"></select> - </p> - - <div class="btn-toolbar" role="toolbar" aria-label="Programmatic control"> - <div class="btn-group btn-group-sm" aria-label="Set Select2 option"> - <button class="js-programmatic-set-val btn btn-default"> - Set "California" - </button> - </div> - <div class="btn-group btn-group-sm" role="group" aria-label="Open and close"> - <button class="js-programmatic-open btn btn-default"> - Open - </button> - <button class="js-programmatic-close btn btn-default"> - Close - </button> - </div> - <div class="btn-group btn-group-sm" role="group" aria-label="Initialize and destroy"> - <button class="js-programmatic-init btn btn-default"> - Init - </button> - <button class="js-programmatic-destroy btn btn-default"> - Destroy - </button> - </div> - </div> - - <p> - <select class="js-example-programmatic-multi js-states form-control" multiple="multiple"></select> - </p> - - <div class="btn-group btn-group-sm" role="group" aria-label="Programmatic setting and clearing Select2 options"> - <button type="button" class="js-programmatic-multi-set-val btn btn-default"> - Set to California and Alabama - </button> - <button type="button" class="js-programmatic-multi-clear btn btn-default"> - Clear - </button> - </div> - - </div> - - <pre data-fill-from=".js-code-programmatic"></pre> - -<script type="text/javascript" class="js-code-programmatic"> -var $example = $(".js-example-programmatic").select2(); -var $exampleMulti = $(".js-example-programmatic-multi").select2(); - -$(".js-programmatic-set-val").on("click", function () { $example.val("CA").trigger("change"); }); - -$(".js-programmatic-open").on("click", function () { $example.select2("open"); }); -$(".js-programmatic-close").on("click", function () { $example.select2("close"); }); - -$(".js-programmatic-init").on("click", function () { $example.select2(); }); -$(".js-programmatic-destroy").on("click", function () { $example.select2("destroy"); }); - -$(".js-programmatic-multi-set-val").on("click", function () { $exampleMulti.val(["CA", "AL"]).trigger("change"); }); -$(".js-programmatic-multi-clear").on("click", function () { $exampleMulti.val(null).trigger("change"); }); -</script> - -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/tags.html b/public/assets/vendor/select2/docs/_includes/examples/tags.html deleted file mode 100644 index 69733a38..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/tags.html +++ /dev/null @@ -1,29 +0,0 @@ -<section> - <h1 id="tags">Tagging support</h1> - - <p> - Select2 can be used to quickly set up fields used for tagging. - </p> - - <p> - Note that when tagging is enabled the user can select from pre-existing - options or create a new tag by picking the first choice, which is what - the user has typed into the search box so far. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-tags form-control" multiple="multiple"> - <option selected="selected">orange</option> - <option>white</option> - <option selected="selected">purple</option> - </select> - </p> - </div> - -{% highlight js linenos %} -$(".js-example-tags").select2({ - tags: true -}) -{% endhighlight %} -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/themes-templating-responsive-design.html b/public/assets/vendor/select2/docs/_includes/examples/themes-templating-responsive-design.html deleted file mode 100644 index 15537f74..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/themes-templating-responsive-design.html +++ /dev/null @@ -1,104 +0,0 @@ -<section> - - <h1 id="themes-templating-responsive-design" class="page-header"> - Themes, templating and responsive design - </h1> - - <h2 id="themes">Theme support</h2> - - <p> - Select2 supports custom themes using the - <a href="options.html#theme">theme option</a> - so you can style Select2 to match the rest of your application. - </p> - - <p> - These are using the <code>classic</code> theme, which matches the old - look of Select2. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-theme-single js-states form-control"> - </select> - </p> - <p> - <select class="js-example-theme-multiple js-states form-control" multiple="multiple"></select> - </p> - </div> - -{% highlight js linenos %} -$(".js-example-theme-single").select2({ - theme: "classic" -}); - -$(".js-example-theme-multiple").select2({ - theme: "classic" -}); -{% endhighlight %} - -<h2 id="templating">Templating</h2> - -<p> - Various display options of the Select2 component can be changed: - You can access the <code><option></code> element - (or <code><optgroup></code>) and any attributes on those elements - using <code>.element</code>. -</p> - -<p> - Templating is primarily controlled by the - <a href="options.html#templateResult"><code>templateResult</code></a> - and <a href="options.html#templateSelection"><code>templateSelection</code></a> - options. -</p> - -<div class="s2-example"> - <p> - <select class="js-example-templating js-states form-control"></select> - </p> -</div> - -{% highlight js linenos %} -function formatState (state) { - if (!state.id) { return state.text; } - var $state = $( - '<span><img src="vendor/images/flags/' + state.element.value.toLowerCase() + '.png" class="img-flag" /> ' + state.text + '</span>' - ); - return $state; -}; - -$(".js-example-templating").select2({ - templateResult: formatState -}); -{% endhighlight %} - -<h2 id="responsive">Responsive design - Percent width</h2> - -<p> - Select2's width can be set to a percentage of its parent to support - responsive design. The two Select2 boxes below are styled to 50% and 75% - width respectively. -</p> - -<div class="s2-example"> - <p> - <select class="js-example-responsive js-states" style="width: 50%"></select> - </p> - <p> - <select class="js-example-responsive js-states" multiple="multiple" style="width: 75%"></select> - </p> -</div> - -{% highlight html linenos %} -<select class="js-example-responsive" style="width: 50%"></select> -<select class="js-example-responsive" multiple="multiple" style="width: 75%"></select> -{% endhighlight %} - -<div class="alert alert-warning"> - Select2 will do its best to resolve the percent width specified via a - css class, but it is not always possible. The best way to ensure that - Select2 is using a percent based width is to inline the - <code>style</code> declaration into the tag. -</div> -</section> diff --git a/public/assets/vendor/select2/docs/_includes/examples/tokenizer.html b/public/assets/vendor/select2/docs/_includes/examples/tokenizer.html deleted file mode 100644 index 6fa04ca6..00000000 --- a/public/assets/vendor/select2/docs/_includes/examples/tokenizer.html +++ /dev/null @@ -1,32 +0,0 @@ -<section> - <h1 id="tokenizer">Automatic tokenization</h1> - - <p> - Select2 supports ability to add choices automatically as the user is - typing into the search field. Try typing in the search field below and - entering a space or a comma. - </p> - - <p> - The separators that should be used when tokenizing can be specified - using the <a href="options.html#tokenSeparators">tokenSeparators</a> - options. - </p> - - <div class="s2-example"> - <p> - <select class="js-example-tokenizer form-control" multiple="multiple"> - <option>red</option> - <option>blue</option> - <option>green</option> - </select> - </p> - </div> - -{% highlight js linenos %} -$(".js-example-tokenizer").select2({ - tags: true, - tokenSeparators: [',', ' '] -}) -{% endhighlight %} -</section> diff --git a/public/assets/vendor/select2/docs/_includes/footer.html b/public/assets/vendor/select2/docs/_includes/footer.html deleted file mode 100644 index 1198d5af..00000000 --- a/public/assets/vendor/select2/docs/_includes/footer.html +++ /dev/null @@ -1,20 +0,0 @@ -<footer class="s2-docs-footer" role="contentinfo"> - <div class="container"> - {% include social-buttons.html %} - <p> - Select2 is licensed under <a href="https://github.com/select2/select2/blob/master/LICENSE.md">MIT</a>, documentation under <a href="https://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>. - </p> - <p> - Maintained by <a href="https://github.com/kevin-brown">Kevin Brown</a> and <a href="https://github.com/ivaynberg">Igor Vaynberg</a> with the help of <a href="https://github.com/select2/select2/graphs/contributors">our contributors</a>. - </p> - <ul class="s2-docs-footer-links"> - <li>Currently v4.0.3</li> - <li><a href="https://github.com/select2/select2">GitHub</a></li> - <li><a href="./examples.html">Examples</a></li> - <li><a href="./options.html">Options</a></li> - <li><a href="http://select2.github.io/select2/">v3.5.2 docs</a></li> - <li><a href="https://github.com/select2/select2/issues">Issues</a></li> - <li><a href="https://github.com/select2/select2/releases">Releases</a></li> - </ul> - </div> -</footer> diff --git a/public/assets/vendor/select2/docs/_includes/ga.html b/public/assets/vendor/select2/docs/_includes/ga.html deleted file mode 100644 index 5ed52285..00000000 --- a/public/assets/vendor/select2/docs/_includes/ga.html +++ /dev/null @@ -1,9 +0,0 @@ -<script type="text/javascript"> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - - ga('create', 'UA-57144786-2', 'auto'); - ga('send', 'pageview'); -</script> diff --git a/public/assets/vendor/select2/docs/_includes/head.html b/public/assets/vendor/select2/docs/_includes/head.html deleted file mode 100644 index 84270cfc..00000000 --- a/public/assets/vendor/select2/docs/_includes/head.html +++ /dev/null @@ -1,31 +0,0 @@ -<meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1"> - -<link rel="apple-touch-icon" sizes="57x57" href="/images/apple-touch-icon-57x57.png?v=699Nxpjr2A"> -<link rel="apple-touch-icon" sizes="60x60" href="/images/apple-touch-icon-60x60.png?v=699Nxpjr2A"> -<link rel="apple-touch-icon" sizes="72x72" href="/images/apple-touch-icon-72x72.png?v=699Nxpjr2A"> -<link rel="icon" type="image/png" href="/images/favicon-32x32.png?v=699Nxpjr2A" sizes="32x32"> -<link rel="icon" type="image/png" href="/images/favicon-16x16.png?v=699Nxpjr2A" sizes="16x16"> -<link rel="manifest" href="/images/manifest.json?v=699Nxpjr2A"> -<link rel="mask-icon" href="/images/safari-pinned-tab.svg?v=699Nxpjr2A" color="#F6F6F6"> -<link rel="shortcut icon" href="/images/favicon.ico?v=699Nxpjr2A"> -<meta name="msapplication-TileColor" content="#da532c"> -<meta name="msapplication-config" content="/browserconfig.xml?v=699Nxpjr2A"> -<meta name="theme-color" content="#f6f6f6"> - -<title> - {{ page.title }} - - - - - - - - - - - - - diff --git a/public/assets/vendor/select2/docs/_includes/js-source-states.html b/public/assets/vendor/select2/docs/_includes/js-source-states.html deleted file mode 100644 index 34876bee..00000000 --- a/public/assets/vendor/select2/docs/_includes/js-source-states.html +++ /dev/null @@ -1,62 +0,0 @@ - diff --git a/public/assets/vendor/select2/docs/_includes/nav/announcements-4.0.html b/public/assets/vendor/select2/docs/_includes/nav/announcements-4.0.html deleted file mode 100644 index 733e2c47..00000000 --- a/public/assets/vendor/select2/docs/_includes/nav/announcements-4.0.html +++ /dev/null @@ -1,26 +0,0 @@ - diff --git a/public/assets/vendor/select2/docs/_includes/nav/examples.html b/public/assets/vendor/select2/docs/_includes/nav/examples.html deleted file mode 100644 index 3e48e404..00000000 --- a/public/assets/vendor/select2/docs/_includes/nav/examples.html +++ /dev/null @@ -1,96 +0,0 @@ - diff --git a/public/assets/vendor/select2/docs/_includes/nav/options-old.html b/public/assets/vendor/select2/docs/_includes/nav/options-old.html deleted file mode 100644 index b03d3d07..00000000 --- a/public/assets/vendor/select2/docs/_includes/nav/options-old.html +++ /dev/null @@ -1,55 +0,0 @@ - diff --git a/public/assets/vendor/select2/docs/_includes/nav/options.html b/public/assets/vendor/select2/docs/_includes/nav/options.html deleted file mode 100644 index 4c1be4f3..00000000 --- a/public/assets/vendor/select2/docs/_includes/nav/options.html +++ /dev/null @@ -1,77 +0,0 @@ - diff --git a/public/assets/vendor/select2/docs/_includes/navigation.html b/public/assets/vendor/select2/docs/_includes/navigation.html deleted file mode 100644 index d694fa1f..00000000 --- a/public/assets/vendor/select2/docs/_includes/navigation.html +++ /dev/null @@ -1,53 +0,0 @@ - diff --git a/public/assets/vendor/select2/docs/_includes/notice-previous.html b/public/assets/vendor/select2/docs/_includes/notice-previous.html deleted file mode 100644 index 9a444cfc..00000000 --- a/public/assets/vendor/select2/docs/_includes/notice-previous.html +++ /dev/null @@ -1,7 +0,0 @@ -
-
- Looking for the Select2 3.5.2 docs? - We have moved them to a new location - while we push forward with Select2 4.0. -
-
diff --git a/public/assets/vendor/select2/docs/_includes/options-old/adapters.html b/public/assets/vendor/select2/docs/_includes/options-old/adapters.html deleted file mode 100644 index c0807ede..00000000 --- a/public/assets/vendor/select2/docs/_includes/options-old/adapters.html +++ /dev/null @@ -1,209 +0,0 @@ -
- - -

- Select2 allows plugins to add additional functionality through the core - adapters. You can change almost anything involving the way Select2 works - to the way Select2 interacts with the page by modifying the core adapters. - Most third-party plugins should provide decorators (used to wrap adapters) - and custom adapters that you can use. -

- -

- Each adapter contains a set of methods which will must always be defined. - Along with the global methods that all adapters must implement, these - methods must be implemented. -

- -

- All adapters -

- -

- All adapters must implement a set of methods that Select2 will use to - display them and bind any internal events. -

- -
-// The basic HTML that should be rendered by Select2. A jQuery or DOM element
-// should be returned, which will automatically be placed by Select2 within the
-// DOM.
-//
-// @returns A jQuery or DOM element that contains any elements that must be
-//   rendered by Select2.
-Adapter.render = function () {
-  return $jq;
-};
-
-// Bind to any Select2 or DOM events.
-//
-// @param container The Select2 object that is bound to the jQuery element.  You
-//   can listen to Select2 events with `on` and trigger Select2 events using the
-//   `trigger` method.
-// @param $container The jQuery DOM node that all default adapters will be
-//   rendered within.
-Adapter.bind = function (container, $container) { };
-
-// Position the DOM element within the Select2 DOM container, or in another
-// place. This allows adapters to be located outside of the Select2 DOM,
-// such as at the end of the document or in a specific place within the Select2
-// DOM node.
-//
-// Note: This method is not called on data adapters.
-//
-// @param $rendered The rendered DOM element that was returned from the call to
-//   `render`. This may have been modified by Select2, but the root element
-//   will always be the same.
-// @param $defaultContainer The default container that Select2 will typically
-//   place the rendered DOM element within. For most adapters, this is the
-//   Select2 DOM element.
-Adapter.position = function ($rendered, $defaultContainer) { };
-
-// Destroy any events or DOM elements that have been created.
-// This is called when `select2("destroy")` is called on an element.
-Adapter.destroy = function () { };
-
- -

- Container (selection) -

- -

- The selection is what is shown to the user as a replacement of the - standard <select> box. It controls the display of the - selection option(s), as well anything else that needs to be embedded - within the container, such as a search box. -

- -
-
Key
-
- selectionAdapter -
- -
Default
-
- SingleSelection or - MultipleSelection -
- -
Base
-
- BaseSelection -
-
- -
-// Update the selected data.
-//
-// @param data An array of data objects that have been generated by the data
-//   adapter. If no objects should be selected, an empty array will be passed.
-//
-// Note: An array will always be passed into this method, even if Select2 is
-// attached to a source which only accepts a single selection.
-SelectionAdapter.update = function (data) { };
-
- -

- Data set -

- -

- The data set is what Select2 uses to generate the possible results that - can be selected, as well as the currently selected results. -

- -
-
Key
-
- dataAdapter -
- -
Default
-
- SelectAdapter -
- -
Base
-
- BaseAdapter -
-
- -
-// Get the currently selected options. This is called when trying to get the
-// initial selection for Select2, as well as when Select2 needs to determine
-// what options within the results are selected.
-//
-// @param callback A function that should be called when the current selection
-//   has been retrieved. The first parameter to the function should be an array
-//   of data objects.
-DataAdapter.current = function (callback) {
-  callback(currentData);
-}
-
-// Get a set of options that are filtered based on the parameters that have
-// been passed on in.
-//
-// @param params An object containing any number of parameters that the query
-//   could be affected by. Only the core parameters will be documented.
-// @param params.term A user-supplied term. This is typically the value of the
-//   search box, if one exists, but can also be an empty string or null value.
-// @param params.page The specific page that should be loaded. This is typically
-//   provided when working with remote data sets, which rely on pagination to
-//   determine what objects should be displayed.
-// @param callback The function that should be called with the queried results.
-DataAdapter.query = function (params, callback) {
-  callback(queryiedData);
-}
-
- - - -

- The dropdown adapter defines the main container that the dropdown should - be held in. It does not define any extra methods that can be used - for decorators, but it is common for decorators to attach to the - render and position methods to alter how the - dropdown is altered and positioned. -

- -
-
Key
-
- dropdownAdapter -
- -
Default
-
- DropdownAdapter -
-
- -

- Results -

- -

- The results adapter controls the list of results that the user can select - from. While the results adapter does not define any additional methods - that must be implemented, it makes extensive use of the Select2 event - system for controlling the display of results and messages. -

- -
-
Key
-
- resultsAdapter -
- -
Default
-
- ResultsAdapter -
-
-
diff --git a/public/assets/vendor/select2/docs/_includes/options-old/backwards-compatibility.html b/public/assets/vendor/select2/docs/_includes/options-old/backwards-compatibility.html deleted file mode 100644 index 4bdd9372..00000000 --- a/public/assets/vendor/select2/docs/_includes/options-old/backwards-compatibility.html +++ /dev/null @@ -1,200 +0,0 @@ -
- - -

- Select2 offers limited backwards compatibility with the previously 3.5.x - release line, allowing people more efficiently transfer across releases - and get the latest features. For many of the larger changes, such as the - change in how custom data adapters work, compatibility modules were - created that will be used to assist in the upgrade process. It is not - recommended to rely on these compatibility modules, as they will not - always exist, but they make upgrading easier for major changes. -

- -

- The compatibility modules are only included in the - full builds of - Select2. These files end in .full.js, and the - compatibility modules are prefixed with select2/compat. -

- -

- Simplified function for matching data objects -

- -

- Added in Select2 4.0.0. - This method was added to make upgrading easier from earlier versions of - Select2. -

- -

- During the Select2 4.0.0 release, the - matcher function was changed to allow for more complex - matching of nested objects. -

- -
-
-
-
Key
-
- matcher -
- -
Value
-
- A function taking a search term and the data object - text. -
-
-
- -
-
-
Adapter
-
- oldMatcher -
-
-
-
- -

- The custom matcher example provides a - guide for how to use this in your own application. For those upgrading - from older versions of Select2, you just need to wrap your old - matcher with this function to maintain compatibility. -

- -

- Old initial selections with initSelection -

- -

- Deprecated in Select2 4.0. - This has been replaced by another option and is only available in the - full builds of - Select2. -

- -

- In the past, Select2 required an option called initSelection - that was defined whenever a custom data source was being used, allowing - for the initial selection for the component to be determined. This has - been replaced by the current method on the - data adapter. -

- -
-
-
-
Key
-
- initSelection -
- -
Value
-
- A function taking a callback -
-
-
- -
-
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- InitSelection -
-
-
-
- -

- Querying old data with query -

- -

- Deprecated in Select2 4.0. - This has been replaced by another option and is only available in the - full builds of - Select2. -

- -

- In the past, Select2 supported an option called query that - allowed for a custom data source to be used. This option has been replaced - by the query method on the - data adapter and takes a very similar set of - parameters. -

- -
-
-
-
Key
-
- query -
- -
Value
-
- A function taking params (including a callback) -
-
-
- -
-
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- Query -
-
-
-
- -

- Compatibility with <input type="text" /> -

- -

- Deprecated in Select2 4.0. - It is now encouraged to use the <select> tag instead. -

- -

- In past versions of Select2, a <select> element could - only be used with a limited subset of options. An - <input type="hidden" /> was required instead, which did - not allow for a graceful fallback for users who did not have JavaScript - enabled. Select2 now supports the <select> element for - all options, so it is no longer required to use <input /> - elements with Select2. -

- -
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- InputData -
-
-
diff --git a/public/assets/vendor/select2/docs/_includes/options-old/core-options.html b/public/assets/vendor/select2/docs/_includes/options-old/core-options.html deleted file mode 100644 index c32ca56f..00000000 --- a/public/assets/vendor/select2/docs/_includes/options-old/core-options.html +++ /dev/null @@ -1,790 +0,0 @@ -
-

Core options

- -

- Select2 supports a small subset of options in every build that is - generated. Each option typically has a decorator that is required that - wraps an adapter, adding support for the option. This is only required - when a custom adapter is being used, as Select2 will build the required - adapters by default. -

- -

- Select2 will automatically apply decorators to any adapters which have not - been manually overridden. The only time you need to decorate adapters is - when you are using third-party adapters not provided by Select2, or you - are using features not provided in the Select2 core. You can apply a - decorator to an adapter using the - Utils.Decorate method provided with - Select2. -

- -
-$.fn.select2.amd.require(
-    ["select2/utils", "select2/selection/single", "select2/selection/placeholder"],
-    function (Utils, SingleSelection, Placeholder) {
-  var CustomSelectionAdapter = Utils.Decorate(SingleSelection, Placeholder);
-});
-
- -

- All core options that use decorators or adapters will clearly state it - in the "Decorator" or "Adapter" part of the documentation. Decorators are - typically only compatible with a specific type of adapter, so make sure to - note what adapter is given. -

- -

- Declaring configuration in the data-* attributes -

- -

- It is recommended that you declare your configuration options for Select2 - when initializing Select2. You can also define your configuration options - by using the HTML5 data-* attributes, which will override - any options set when initializing Select2 and any defaults. -

- -

- This means that if you declare your <select> tag as... -

- -
-<select data-tags="true" data-placeholder="Select an option"></select>
-
- -

- Will be interpreted the same as initializing Select2 as... -

- -
-$("select").select2({
-  tags: "true",
-  placeholder: "Select an option"
-});
-
- -

- You can also define nested configurations, which are typically needed for - options such as AJAX. Each level of nesting should be separated by two - dashes (--) instead of one. Due to - a jQuery bug, - nested options using data-* attributes - do not work in jQuery 1.x. -

- -
-<select data-ajax--url="http://example.org/api/test" data-ajax--cache="true"></select>
-
- -

- Which will be interpreted the same as initializing Select2 with... -

- -
-$("select").select2({
-  ajax: {
-    url: "http://example.org/api/test",
-    cache: "true"
-  }
-});
-
- -

- The value of the option is subject to jQuery's - parsing rules for - HTML5 data attributes. -

- -

- AMD compatibility -

- -

- You can find more information on how to integrate Select2 with your - existing AMD-based project by - viewing the 4.0 release notes. - Select2 automatically loads some modules when the adapters are being - automatically constructed, so those who are using Select2 with a custom - AMD build using their own system may need to specify the paths that are - generated to the Select2 modules. -

- -
-
-
-
Key
-
- amdBase -
- -
Default
-
- select2/ -
-
-
-
-
-
Key
-
- amdLanguageBase -
- -
Default
-
- select2/i18n/ -
-
-
-
- -

- Displaying selections -

- -

- Select2 provides options that allow you to directly affect how the - container that holds the current selection is displayed. -

- -

- Placeholders -

- -

- Select2 can display a placeholder for a single-value select that will - replace an option, or be shown when no options are selected for - multiple-value selects. You can find an example on the - example page. -

- -
-
-
-
Key
-
- placeholder -
- -
Value
-
string or object
-
- -
- -
-
Adapter
-
- SelectionAdapter -
- -
Decorator
-
- Placeholder - and - HidePlaceholder -
-
-
- -
-
- Heads up! - Because browsers assume that the first option in - single-value select boxes is selected, you should add an empty - <option></option> tag that the placeholder - should use or it may not work. -
-
-
- -

- If the value is a string, the placeholder will be - displayed when a blank option is used as the placeholder. - The value will be the message to show to users as the - placeholders. -

- -
-placeholder: "Select a repository"
-
- -

- If the value is an object, the object should be - compatible with Select2's internal objects. The id should - be the id to look for when determining if the placeholder should be - displayed. The text should be the placeholder to display - when that option is selected. -

- -
-placeholder: {
-  id: "-1",
-  text: "Select a repository"
-}
-
- -
- You should pass in an object when you are using a - framework that creates its own placeholder option. The - id should be the same as the value - attribute on the option. -
- -

- You can allow a selected option to be cleared back to the placeholder by - enabling the allowClear option. -

- -
-
-
-
Key
-
allowClear
- -
Value
-
boolean
-
-
- -
-
-
Adapter
-
- SelectionAdapter -
- -
Decorator
-
- AllowClear -
-
-
-
- -

- This will display an "x" that the user can click to clear the current - selection. It is designed to be used for cases where a single selection - can be made. -

- -

- Multiple selections -

- -

- Select2 can display either a single selection or multiple selections. -

- -
-
Key
-
multiple
- -
Value
-
boolean (true or false)
-
- -

- This option will determine what the SelectAdapter (used by - default) should use to set the value of the underlying select - element. It will also determine if the MultipleSelection - adapter should be used. -

- -

- Container width -

- -

- Select2 will try to match the width of the original element as closely as - possible. Sometimes this isn't perfect, which is what you can tell Select2 - how to determine the width. -

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
ValueDescription
"element" - Uses javascript to calculate the width of the source element. -
"style" - Copies the value of the width style attribute set on the source element. -
"resolve" - Tries to use style to determine the width, falling back to element. -
Anything else - The value of the width option is directly set as the width of the container. -
-
-
-
-
Key
-
width
- -
Value
-
string
-
-
-
- -

- Internationalization (Language support) -

- -

- Messages will be displayed to users when necessary, such as when no - search results were found or more characters need to be entered in order - for a search to be made. These messages have been - translated into many languages - by contributors to Select2, but you can also provide your own - translations. -

- -
-
-
-
Key
-
language
- -
Value
-
object or string
-
- -
- -
-
Module
-
- Translation -
-
-
- -
-

- Heads up! When using translations provided by Select2, - you must make sure to include the translation file in your page after - Select2. -

-
-
- -

- When a string is passed in as the language, Select2 will try to resolve - it into a language file. This allows you to specify your own language - files, which must be defined as an AMD module. If the language file - cannot be found, Select2 will assume it is a language code controlled by - Select2, and it will try to load the translations for that language - instead. -

- -

- You can include your own translations by providing an object similar to - the one below. -

- -
-language: {
-  // You can find all of the options in the language files provided in the
-  // build. They all must be functions that return the string that should be
-  // displayed.
-  inputTooShort: function () {
-    return "You must enter more characters...";
-  }
-}
-
- -

- Templating results and selections -

- -

- By default, Select2 will display the option text within the list of - results and when the option has been selected. Select2 comes with options - that allow you to further customize the display of results and selections, - allowing you to display them however you want. -

- -

- Customizing the display of selections -

- -

- When an option is displayed after it has been selected, it is passed - through a formatting function that determines what is displayed. By - default, the function only returns the text key of the data - object. -

- -
-
Key
-
templateSelection
- -
Value
-
A function taking a selection object
-
- -
- Anything rendered as a selection is templated. - This includes placeholders and pre-existing selections that are displayed, - so you must ensure that your templating functions can support them. -
- -

- The templateSelection function should return a string - containing the text to be displayed, or an object (such as a jQuery - object) that contains the data that should be displayed. -

- -

- Strings are assumed to contain only text and will be - passed through the escapeMarkup function, which strips any - HTML markup. -

- -

- - Anything else will be passed - directly to jQuery.fn.append - and will be handled directly by jQuery. Any markup, such as - HTML, returned will not be escaped and it is up to you to escape any - malicious input provided by users. -

- -

- Customizing the display of results -

- -

- When an option is displayed after it has been selected, it is passed - through a formatting function that determines what is displayed. By - default, the function only returns the text key of the data - object. -

- -
-
Key
-
templateResult
- -
Value
-
A function taking a result object
-
- -
- Anything rendered in the results is templated. - This includes results such as the "Searching..." and "Loading more..." - text which will periodically be displayed, which allows you to add more - advanced formatting to these automatically generated options. -
- -

- The templateResult function should return a string - containing the text to be displayed, or an object (such as a jQuery - object) that contains the data that should be displayed. It can also - return null, which will prevent the option from being - displayed in the results list. -

- -

- Strings are assumed to contain only text and will be - passed through the escapeMarkup function, which strips any - HTML markup. -

- -

- - Anything else will be passed - directly to jQuery.fn.append - and will be handled directly by jQuery. Any markup, such as - HTML, returned will not be escaped and it is up to you to escape any - malicious input provided by users. -

- -

- Returning and displaying results -

- -

- Select2 can work on many different data sets ranging from local options, - the same way that a <select> typically works, from - remote options where a server generates the results that users can select - from. -

- -

- Array -

- -

- Select2 allows creating the results based on an array of data objects that - is included when initializing Select2. -

- -
-
-
-
Key
-
data
- -
Value
-
array of objects
-
-
- -
-
-
Adapter
-
- ArrayAdapter -
-
-
-
- -

- The objects that the users can select from should be passed as an array - with each object containing id and text - properties. -

- -

- AJAX -

- -

- Select2 allows searching for results from remote data sources using AJAX - requests. -

- -
-
-
-
Key
-
ajax
- -
Value
-
object
-
-
- -
-
-
Adapter
-
- AjaxAdapter -
-
-
-
- -

- All options passed to this option will be directly passed to the - $.ajax function that executes AJAX requests. There are a few - custom options that Select2 will intercept, allowing you to customize the - request as it is being made. - -

-ajax: {
-  // The number of milliseconds to wait for the user to stop typing before
-  // issuing the ajax request.
-  delay: 250,
-  // You can craft a custom url based on the parameters that are passed into the
-  // request. This is useful if you are using a framework which has
-  // JavaScript-based functions for generating the urls to make requests to.
-  //
-  // @param params The object containing the parameters used to generate the
-  //   request.
-  // @returns The url that the request should be made to.
-  url: function (params) {
-    return UrlGenerator.Random();
-  },
-  // You can pass custom data into the request based on the parameters used to
-  // make the request. For `GET` requests, the default method, these are the
-  // query parameters that are appended to the url. For `POST` requests, this
-  // is the form data that will be passed into the request. For other requests,
-  // the data returned from here should be customized based on what jQuery and
-  // your server are expecting.
-  //
-  // @param params The object containing the parameters used to generate the
-  //   request.
-  // @returns Data to be directly passed into the request.
-  data: function (params) {
-    var queryParameters = {
-      q: params.term
-    }
-
-    return queryParameters;
-  },
-  // You can modify the results that are returned from the server, allowing you
-  // to make last-minute changes to the data, or find the correct part of the
-  // response to pass to Select2. Keep in mind that results should be passed as
-  // an array of objects.
-  //
-  // @param data The data as it is returned directly by jQuery.
-  // @returns An object containing the results data as well as any required
-  //   metadata that is used by plugins. The object should contain an array of
-  //   data objects as the `results` key.
-  processResults: function (data) {
-    return {
-      results: data
-    };
-  },
-  // You can use a custom AJAX transport function if you do not want to use the
-  // default one provided by jQuery.
-  //
-  // @param params The object containing the parameters used to generate the
-  //   request.
-  // @param success A callback function that takes `data`, the results from the
-  //   request.
-  // @param failure A callback function that indicates that the request could
-  //   not be completed.
-  // @returns An object that has an `abort` function that can be called to abort
-  //   the request if needed.
-  transport: function (params, success, failure) {
-    var $request = $.ajax(params);
-
-    $request.then(success);
-    $request.fail(failure);
-
-    return $request;
-  }
-}
-
-

- -

- Tags -

- -

- Users can create their own options based on the text that they have - entered. -

- -
-
-
-
Key
-
tags
- -
Value
-
boolean / array of objects
-
-
- -
-
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- Tags -
-
-
-
- -

- If the tags option is passed into Select2, if a user types - anything into the search box which doesn't already exist, it will be - displayed at the top and the user will be able to select it. -

- -

- For backwards compatibility, if an array of objects is - passed in with the tags option, the options will be - automatically created and the user will be able to select from them. - This is the same as how array data - works, and has similar limitations. -

- -

- Change how options are matched when searching -

- -

- When users filter down the results by entering search terms into the - search box, Select2 uses an internal "matcher" to match search terms to - results. When a remote data set is used, Select2 expects that the - returned results have already been filtered. -

- -
-
Key
-
- matcher -
- -
Value
-
- A function taking search params and the - data object. -
-
- -

- Select2 will pass the individual data objects that have been passed back - from the data adapter into the matcher individually to - determine if they should be displayed. Only the first-level objects will - be passed in, so if you are working with nested data, you need to - match those individually. -

- -
-matcher: function (params, data) {
-  // If there are no search terms, return all of the data
-  if ($.trim(params.term) === '') {
-    return data;
-  }
-
-  // `params.term` should be the term that is used for searching
-  // `data.text` is the text that is displayed for the data object
-  if (data.text.indexOf(params.term) > -1) {
-    var modifiedData = $.extend({}, data, true);
-    modifiedData.text += ' (matched)';
-
-    // You can return modified objects from here
-    // This includes matching the `children` how you want in nested data sets
-    return modifiedData;
-  }
-
-  // Return `null` if the term should not be displayed
-  return null;
-}
-
- -

- This allows for more advanced matching when working with nested objects, - allowing you to handle them however you want. For those who are not - looking to implement highly customized matching, but instead are just - looking to change the matching algorithm for the text, a - compatibility modules has been created to - make it easier. -

-
diff --git a/public/assets/vendor/select2/docs/_includes/options-old/dropdown.html b/public/assets/vendor/select2/docs/_includes/options-old/dropdown.html deleted file mode 100644 index 87629077..00000000 --- a/public/assets/vendor/select2/docs/_includes/options-old/dropdown.html +++ /dev/null @@ -1,308 +0,0 @@ -
- - -

- Select2 allows you to change the way that the dropdown works, allowing you - to do anything from attach it to a different location in the document or - add a search box. -

- - - -

- By default, Select2 will attach the dropdown to the end of the body and - will absolutely position it to appear below the selection container. -

- -
-
-
-
Key
-
dropdownParent
- -
Value
-
jQuery element or DOM node
- -
- -
Adapter
-
- DropdownAdapter -
- -
Decorator
-
- AttachBody -
-
-
- -
-
- Heads up! - This will cause DOM events to be raised outside of the standard - Select2 DOM container. This can cause issues with - third-party components such as modals. -
-
-
- -

- When the dropdown is attached to the body, you are not limited to just - displaying the dropdown below the container. Select2 will display above - the container if there is not enough space below the container, but there - is enough space above it. You are also not limited to displaying the - dropdown within the parent container, which means Select2 will render - correctly inside of modals and other small containers. -

- - - -

- Select2 can place the dropdown directly after the selection container, so - it will appear in the same location within the DOM as the rest of Select2. -

- -
-
-
-
Adapter
-
- DropdownAdapter -
- -
Decorator
-
- AttachContainer -
-
-
- -
-
- Check your build. This module is only included in the - full builds of - Select2. -
-
-
- -
- - Harvest Chosen - migrators! - - If you are migrating to Select2 from Chosen, this option will cause - Select2 to position the dropdown in a similar way. -
- - - -

- Users can filter down the results by typing a search term into a box that - is displayed at the top of the dropdown. -

- -
-
Adapter
-
- DropdownAdapter -
- -
Decorator
-
- DropdownSearch -
-
- -

- A search box is added to the top of the dropdown automatically for select - boxes where only a single option can be selected. -

- - - -

- Sometimes when working with large data sets, it is more efficient to start - filtering the results when the search term is a certain length. This is - very common when working with remote data sets, as allows for only - significant search terms to be used. -

- -
-
-
-
Key
-
minimumInputLength
- -
Value
-
integer
-
-
- -
-
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- MinimumInputLength -
-
-
-
- - - -

- In some cases, search terms need to be limited to a certain range. Select2 - allows you to limit the length of the search term such that it does not - exceed a certain length. -

- -
-
-
-
Key
-
maximumInputLength
- -
Value
-
integer
-
-
- -
-
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- MaximumInputLength -
-
-
-
- - - -

- When working with smaller data sets, the search box can take up more space - that is necessary, as there are not enough results for filtering to be - effective. Select2 allows you to only display the search box when the - number of search results reaches a certain threshold. -

- -
-
-
-
Key
-
minimumResultsForSearch
- -
Value
-
integer
-
-
- -
-
-
Adapter
-
- DropdownAdapter -
- -
Decorator
-
- MinimumResultsForSearch -
-
-
-
- - - -

- When users close the dropdown, the last highlighted option can be - automatically selected. This is commonly used in combination with - tagging and placeholders - and other situations where the user is required to select an option, or - they need to be able to quickly select multiple options. -

- -
-
Adapter
-
- ResultsAdapter -
- -
Decorator
-
- SelectOnClose -
-
- -

- Close the dropdown when a result is selected -

- -

- Select2 will automatically close the dropdown when an element is selected, - similar to what is done with a normal select box. This behavior can be - changed though to keep the dropdown open when results are selected, - allowing for multiple options to be selected quickly. -

- -
-
-
-
Key
-
closeOnSelect
- -
Default
-
true
-
-
- -
-
-
Adapter
-
- DropdownAdapter -
- -
Decorator
-
- CloseOnSelect -
-
-
-
- -

- If this decorator is not used (or closeOnSelect is set to - false), the dropdown will not automatically close when a - result is selected. The dropdown will also never close if the - ctrl key is held down when the result is selected. -

-
diff --git a/public/assets/vendor/select2/docs/_includes/options-old/events.html b/public/assets/vendor/select2/docs/_includes/options-old/events.html deleted file mode 100644 index bf4f39a9..00000000 --- a/public/assets/vendor/select2/docs/_includes/options-old/events.html +++ /dev/null @@ -1,50 +0,0 @@ -
- - -

- Select2 has an internal event system that is used to notify parts of the - component that state has changed, as well as an adapter that allows some - of these events to be relayed to the outside word. -

- -
-
Adapter
-
- SelectionAdapter -
- -
Decorator
-
- EventRelay -
-
- -

- Public events -

- -

- All public events are relayed using the jQuery event system, and they are - triggered on the <select> element that Select2 is - attached to. You can attach to them using the - .on method provided - by jQuery. -

- -

- Internal events -

- -

- Select2 triggers internal events using its own internal event system, - which allows adapters to communicate with each other. These events are not - accessible through the jQuery event system. -

- -

- You can find more information on the public events triggered by individual - adapters in the individual adapter documentation. -

-
diff --git a/public/assets/vendor/select2/docs/_includes/options-old/setting-default-options.html b/public/assets/vendor/select2/docs/_includes/options-old/setting-default-options.html deleted file mode 100644 index f2c74f60..00000000 --- a/public/assets/vendor/select2/docs/_includes/options-old/setting-default-options.html +++ /dev/null @@ -1,37 +0,0 @@ -
-

Setting default options

- -

- In some cases, you need to set the default options for all instances of - Select2 in your web application. This is especially useful when you are - migrating from past versions of Select2, or you are using non-standard - options like custom AMD builds. Select2 exposes the - default options through $.fn.select2.defaults, which allows - you to set them globally. -

- -

- When setting options globally, any past defaults that have been set will - be overriden. Default options are only used when an option is requested - that has not been set during initialization. -

- -

- You can set default options by calling - $.fn.select2.defaults.set("key", "value"). The key that is - set should take the same format as keys set using - HTML data-* attributes which - means that two dashes (--) will be replaced by a level of - nesting, and a single dash (-) will convert it to a camelCase - string. -

- -
-$.fn.select2.defaults.set("theme", "classic");
-
- -

- You can reset the default options by calling - $.fn.select2.defaults.reset(). -

-
diff --git a/public/assets/vendor/select2/docs/_includes/options/compatibility.html b/public/assets/vendor/select2/docs/_includes/options/compatibility.html deleted file mode 100644 index a7f6197e..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/compatibility.html +++ /dev/null @@ -1,10 +0,0 @@ -
-

- Backwards compatibility -

- - {% include options/compatibility/matcher.html %} - {% include options/compatibility/initial-selection.html %} - {% include options/compatibility/query-function.html %} - {% include options/compatibility/text-input.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/compatibility/initial-selection.html b/public/assets/vendor/select2/docs/_includes/options/compatibility/initial-selection.html deleted file mode 100644 index 62fd0933..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/compatibility/initial-selection.html +++ /dev/null @@ -1,50 +0,0 @@ -
-

- Old initial selections with initSelection -

- -

- Deprecated in Select2 4.0. - This has been replaced by another option and is only available in the - full builds of - Select2. -

- -

- In the past, Select2 required an option called initSelection - that was defined whenever a custom data source was being used, allowing - for the initial selection for the component to be determined. This has - been replaced by the current method on the - data adapter. -

- -
-
-
-
Key
-
- initSelection -
- -
Value
-
- A function taking a callback -
-
-
- -
-
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- InitSelection -
-
-
-
-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/compatibility/introduction.html b/public/assets/vendor/select2/docs/_includes/options/compatibility/introduction.html deleted file mode 100644 index 0e82aabe..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/compatibility/introduction.html +++ /dev/null @@ -1,18 +0,0 @@ -
-

- Select2 offers limited backwards compatibility with the previously 3.5.x - release line, allowing people more efficiently transfer across releases - and get the latest features. For many of the larger changes, such as the - change in how custom data adapters work, compatibility modules were - created that will be used to assist in the upgrade process. It is not - recommended to rely on these compatibility modules, as they will not - always exist, but they make upgrading easier for major changes. -

- -

- The compatibility modules are only included in the - full builds of - Select2. These files end in .full.js, and the - compatibility modules are prefixed with select2/compat. -

-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/compatibility/matcher.html b/public/assets/vendor/select2/docs/_includes/options/compatibility/matcher.html deleted file mode 100644 index 150f72c1..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/compatibility/matcher.html +++ /dev/null @@ -1,50 +0,0 @@ -
-

- Simplified function for matching data objects -

- -

- Added in Select2 4.0.0. - This method was added to make upgrading easier from earlier versions of - Select2. -

- -

- During the Select2 4.0.0 release, the - matcher function was changed to allow for more complex - matching of nested objects. -

- -
-
-
-
Key
-
- matcher -
- -
Value
-
- A function taking a search term and the data object - text. -
-
-
- -
-
-
Adapter
-
- oldMatcher -
-
-
-
- -

- The custom matcher example provides a - guide for how to use this in your own application. For those upgrading - from older versions of Select2, you just need to wrap your old - matcher with this function to maintain compatibility. -

-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/compatibility/query-function.html b/public/assets/vendor/select2/docs/_includes/options/compatibility/query-function.html deleted file mode 100644 index f5f557de..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/compatibility/query-function.html +++ /dev/null @@ -1,50 +0,0 @@ -
-

- Querying old data with query -

- -

- Deprecated in Select2 4.0. - This has been replaced by another option and is only available in the - full builds of - Select2. -

- -

- In the past, Select2 supported an option called query that - allowed for a custom data source to be used. This option has been replaced - by the query method on the - data adapter and takes a very similar set of - parameters. -

- -
-
-
-
Key
-
- query -
- -
Value
-
- A function taking params (including a callback) -
-
-
- -
-
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- Query -
-
-
-
-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/compatibility/text-input.html b/public/assets/vendor/select2/docs/_includes/options/compatibility/text-input.html deleted file mode 100644 index 4cea8c86..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/compatibility/text-input.html +++ /dev/null @@ -1,32 +0,0 @@ -
-

- Compatibility with <input type="text" /> -

- -

- Deprecated in Select2 4.0. - It is now encouraged to use the <select> tag instead. -

- -

- In past versions of Select2, a <select> element could - only be used with a limited subset of options. An - <input type="hidden" /> was required instead, which did - not allow for a graceful fallback for users who did not have JavaScript - enabled. Select2 now supports the <select> element for - all options, so it is no longer required to use <input /> - elements with Select2. -

- -
-
Adapter
-
- DataAdapter -
- -
Decorator
-
- InputData -
-
-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/core.html b/public/assets/vendor/select2/docs/_includes/options/core.html deleted file mode 100644 index df834804..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/core.html +++ /dev/null @@ -1,9 +0,0 @@ -
-

- Core options -

- - {% include options/core/options.html %} - {% include options/core/data-attributes.html %} - {% include options/core/amd-support.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/core/amd-support.html b/public/assets/vendor/select2/docs/_includes/options/core/amd-support.html deleted file mode 100644 index 2cb6b307..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/core/amd-support.html +++ /dev/null @@ -1,46 +0,0 @@ -
-

- Can I use Select2 with my AMD or CommonJS loader? -

- -

- Select2 should work with most AMD- or CommonJS-compliant module loaders, including RequireJS and almond. Select2 ships with a modified version of the UMD jQuery template that supports both CommonJS and AMD environments. -

- -

- How do I tell Select2 where to look for modules? -

- -

- For most AMD and CommonJS setups, the location of the data files used by Select2 will be automatically determined and handled without you needing to do anything. -

- -

- If you are using Select2 in a build environment where preexisting module names are changed during a build step, Select2 may not be able to find optional dependencies or language files. You can manually set the prefixes to use for these files using the amdBase and amdLanugageBase options. -

- -{% highlight js linenos %} -$.fn.select2.defaults.set('amdBase', 'select2/'); -$.fn.select2.defaults.set('amdLanguageBase', 'select2/i18n/'); -{% endhighlight %} - -

- Select2 is being placed before jQuery in my JavaScript file -

- -

- Due to a bug in older versions of the r.js build tool, Select2 was sometimes placed before jQuery in then compiled build file. Because of this, Select2 will trigger an error because it won't be able to find or load jQuery. -

- -

- By upgrading to version 2.1.18 or higher of the r.js build tool, you will be able to fix the issue. -

- -

- Should I point to the files in dist or src? -

- -

- Select2 internally uses AMD and the r.js build tool to build the files located in the dist folder. These are built using the files in the src folder, so you can just point your modules to the Select2 source and load in jquery.select2 or select2/core when you want to use Select2. The files located in the dist folder are also AMD-compatible, so you can point to that file if you want to load in all of the default Select2 modules. -

-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/core/data-attributes.html b/public/assets/vendor/select2/docs/_includes/options/core/data-attributes.html deleted file mode 100644 index db6078d9..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/core/data-attributes.html +++ /dev/null @@ -1,76 +0,0 @@ -
-

- Can I declare my configuration within the HTML? -

- -

- It is recommended that you declare your configuration options for Select2 - when initializing Select2. You can also define your configuration options - by using the HTML5 data-* attributes, which will override - any options set when initializing Select2 and any defaults. -

- -

- How should camelCase options be written? -

- -

- HTML data attributes are case-insensitive, so any options which contain capital letters will be parsed as if they were all lowercase. Because Select2 has many options which are camelCase, where words are separated by uppercase letters, you must write these options out with dashes instead. So an option that would normally be called allowClear should instead be defined as allow-clear. -

- -

- This means that if you declare your <select> tag as... -

- -{% highlight html linenos %} - -{% endhighlight %} - -

- Will be interpreted the same as initializing Select2 as... -

- -{% highlight js linenos %} -$("select").select2({ - tags: "true", - placeholder: "Select an option", - allowClear: true -}); -{% endhighlight %} - -

- Are options with nested configurations supported? -

- -

- You can also define nested configurations, which are typically needed for - options such as AJAX. Each level of nesting should be separated by two - dashes (--) instead of one. Due to - a jQuery bug, - nested options using data-* attributes - do not work in jQuery 1.x. -

- -{% highlight html linenos %} - -{% endhighlight %} - -

- Which will be interpreted the same as initializing Select2 with... -

- -{% highlight js linenos %} -$("select").select2({ - ajax: { - url: "http://example.org/api/test", - cache: true - } -}); -{% endhighlight %} - -

- The value of the option is subject to jQuery's - parsing rules for - HTML5 data attributes. -

-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/core/options.html b/public/assets/vendor/select2/docs/_includes/options/core/options.html deleted file mode 100644 index aaa2b112..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/core/options.html +++ /dev/null @@ -1,80 +0,0 @@ -
-

- How should Select2 be initialized? -

- -

- Select2 will register itself as a jQuery function if you use any of the distribution builds, so you can call .select2() on any jQuery element where you would like to initialize Select2. -

- -{% highlight js linenos %} -$('select').select2(); -{% endhighlight %} - -

- You can optionally pass an object containing all of the options that you would like to initialize Select2 with. -

- -{% highlight js linenos %} -$('select').select2({ - placeholder: 'Select an option' -}); -{% endhighlight %} - -

- Can default options be set for all dropdowns? -

- -

- In some cases, you need to set the default options for all instances of - Select2 in your web application. This is especially useful when you are - migrating from past versions of Select2, or you are using non-standard - options like custom AMD builds. Select2 exposes the - default options through $.fn.select2.defaults, which allows - you to set them globally. -

- -

- When setting options globally, any past defaults that have been set will - be overriden. Default options are only used when an option is requested - that has not been set during initialization. -

- -

- You can set default options by calling - $.fn.select2.defaults.set("key", "value"). -

- -{% highlight js linenos %} -$.fn.select2.defaults.set("theme", "classic"); -{% endhighlight %} - -

- How can I set a default value for a nested option? -

- -

- The key that is - set should take the same format as keys set using - HTML data-* attributes which - means that two dashes (--) will be replaced by a level of - nesting, and a single dash (-) will convert it to a camelCase - string. -

- -{% highlight js linenos %} -$.fn.select2.defaults.set("ajax--cache", false); -{% endhighlight %} - -

- How can I reset all of the global default options? -

- -

- You can reset the default options to their initial values by calling -

- -{% highlight js linenos %} -$.fn.select2.defaults.reset(); -{% endhighlight %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/data.html b/public/assets/vendor/select2/docs/_includes/options/data.html deleted file mode 100644 index c9c6f684..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/data.html +++ /dev/null @@ -1,9 +0,0 @@ -
-

- Data adapters -

- - {% include options/data/select.html %} - {% include options/data/array.html %} - {% include options/data/ajax.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/data/ajax.html b/public/assets/vendor/select2/docs/_includes/options/data/ajax.html deleted file mode 100644 index 77472741..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/data/ajax.html +++ /dev/null @@ -1,147 +0,0 @@ -
-

- Can Select2 be connected to a remote data source? -

- -

- Select2 supports connecting to a remote data source using the ajax option. -

- -

- How can I set the initially selected options when using AJAX? -

- -

- You can refer to the following Stack Overflow answer if you want to set the initial value for AJAX requests: Select2 4.0.0 initial value with AJAX -

- -

- What should the results returned to Select2 look like? -

- - {% include options/not-written.html %} - -

- Is there a way to modify the response before passing it back to Select2? -

- -

- You can use the ajax.processResults option to modify the data returned from the server before passing it to Select2. -

- -{% highlight js linenos %} -$('select').select2({ - ajax: { - url: '/example/api', - processResults: function (data) { - return { - results: data.items - }; - } - } -}); -{% endhighlight %} - -

- A request is being triggered on every key stroke, can I delay this? -

- -

- By default, Select2 will trigger a new AJAX request whenever the user changes their search term. You can set a time limit for debouncing requests using the ajax.delay option. -

- -{% highlight js linenos %} -$('select').select2({ - ajax: { - url: '/example/api', - delay: 250 - } -}); -{% endhighlight %} - -

- This will tell Select2 to wait 250 milliseconds before sending the request out to your API. -

- -

- How do I tell Select2 which URL to get the results from? -

- -

- When connecting Select2 to a remote data source, you have the option of using either a single endpoint (a single page which handles all requests) or a dynamic endpoint (one of many pages). You can point Select2 to a single endpoint during initialization by specifying a string for the ajax.url option. -

- -{% highlight js linenos %} -$('select').select2({ - ajax: { - url: '/path/to/search/endpoint' - } -}); -{% endhighlight %} - -

- If there isn't a single url for your search results, or you need to call a function to determine the url to use, you can specify a function for the ajax.url option, and this will be used instead. The query parameters will be passed in through the params option. -

- -{% highlight js linenos %} -$('select').select2({ - ajax: { - url: function (params) { - return '/some/url/' + params.term; - } - } -}); -{% endhighlight %} - -

- I want to add more query parameters to the request, where can this be done? -

- -

- By default, Select2 will send the query term as well as the pagination data as query parameters in requests. You can override the data that is sent to your API, or change any of the query paramters, by overriding the ajax.data option. -

- -{% highlight js linenos %} -$('select').select2({ - ajax: { - data: function (params) { - var query = { - search: params.term, - page: params.page - } - - // Query paramters will be ?search=[term]&page=[page] - return query; - } - } -}); -{% endhighlight %} - -

- The results that I am seeing never change -

- -

- Select2 expects that the results that are returned from the remote endpoint are already filtered ahead of time based on the search term. If your remote endpoint just returns the list of all possible options, you may be interested in using Select2's support for data arrays. -

- -

- Can an AJAX plugin other than jQuery.ajax be used? -

- -

- Select2 uses the transport method defined in ajax.transport to send requests to your API. By default, this transport method is jQuery.ajax but this can be changed. -

- -{% highlight js linenos %} -$('select').select2({ - ajax: { - transport: function (params, success, failure) { - var request = new AjaxRequest(params.url, params); - request.on('success', success); - request.on('failure', failure); - } - } -}); -{% endhighlight %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/data/array.html b/public/assets/vendor/select2/docs/_includes/options/data/array.html deleted file mode 100644 index 751635e8..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/data/array.html +++ /dev/null @@ -1,150 +0,0 @@ -
-

- Can I load data into Select2 using an array? -

- -

- While Select2 is designed to be used with a <select> tag - the data that is used to search through and display the results can be - loaded from a JavaScript array using the data option. This - option should be passed in during the initialization of Select2. -

- -{% highlight js linenos %} -$('select').select2({ - data: [ - { - id: 'value', - text: 'Text to display' - }, - // ... more data objects ... - ] -}); -{% endhighlight %} - -

- What properties are required on the objects passed in to the array? -

- -

- The id and text properties are required on each - object, and these are the properties that Select2 uses for the internal - data objects. Any additional paramters passed in with data objects will be - included on the data objects that Select2 exposes. -

- -

- Do the id properties have to be strings? -

- -

- Because the value attributes on a >select< - tag must be strings, the id property on the data objects must - also be strings. Select2 will attempt to convert anything that is not a - string to a string, which will work for most situations, but it is - recommended to force all of your ids to strings ahead of time. -

- -

- I can't select results with blank ids or an id of 0! -

- -

- See Do the id properties have to be strings?. -

- -

- How should nested results be formatted? -

- -

- Nested results should be specified using the children property - on the data objects that are passed in. This children property - should be an array of data objects that are grouped under this option, and - the label for the group should be specified as the text - property on the root data object. -

- -{% highlight js linenos %} -{ - text: 'Group label', - children: [ - { - id: 'nested-1', - text: 'First nested option' - }, - // ... more data objects ... - ] -} -{% endhighlight %} - -

- How many levels of nesting are allowed? -

- -

- Because Select2 falls back to an <optgroup> when - creating nested options, only - a single level of nesting - is supported. Any additional levels of nesting is not guarenteed to be - displayed properly across all browsers and devices. -

- -

- Why are <option> tags being created? -

- -

- The data option is a shortcut that Select2 provides which - allows you to load options into your select from a data array. -

- - {% include options/not-written.html %} - -

- My objects don't use id for their unique identifiers, - what can I do? -

- -

- Select2 requires that the id property is used to uniquely - identify the options that are displayed in the results list. If you use a - property other than id (like pk) to uniquely - identify an option, you need to map your old property to id - before passing it to Select2. -

- -

- If you cannot do this on your server or you are in a situation where the - identifier cannot be changed, you can do this in JavaScript before passing - it to Select2. -

- -{% highlight js linenos %} -var data = $.map(yourArrayData, function (obj) { - obj.id = obj.id || obj.pk; // replace pk with your identifier - - return obj; -}); -{% endhighlight %} - -

- My objects use a property other than text for the text that - needs to be displayed -

- -

- Just like with the id property, Select2 requires that the text - that should be displayed for an option is stored in the text - property. You can map this property from any existing property using the - following JavaScript. -

- -{% highlight js linenos %} -var data = $.map(yourArrayData, function (obj) { - obj.text = obj.text || obj.name; // replace name with the property used for the text - - return obj; -}); -{% endhighlight %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/data/select.html b/public/assets/vendor/select2/docs/_includes/options/data/select.html deleted file mode 100644 index aa323012..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/data/select.html +++ /dev/null @@ -1,69 +0,0 @@ -
-

- Can Select2 be used with a <select> tag? -

- -

- Select2 was designed to be a replacement for the standard <select> boxes that are displayed by the browser, so by default it supports all options and operations that are available in a standard select box, but with added flexibility. There is no special configuration required to make Select2 work with a <select> tag. -

- -

- Does Select2 support nesting options? -

- -

- A standard <select> box can display nested options by wrapping them with in an <optgroup> tag. -

- -{% highlight html linenos %} - -{% endhighlight %} - -

- How many levels of nesting can there be? -

- -

- Only a single level of nesting is allowed per the HTML specification. If you nest an <optgroup> within another <optgroup>, Select2 will not be able to detect the extra level of nesting and errors may be triggered as a result. -

- -

- Can <optgroup> tags be made selectable? -

- -

- No. This is a limitation of the HTML specification and is not a limitation that Select2 can overcome. You can emulate grouping by using an <option> instead of an <optgroup> and changing the style by using CSS, but this is not recommended as it is not fully accessible. -

- -

- How are <option> and <optgroup> tags serialized into data objects? -

- -

- Select2 will convert the <option> tag into a data object based on the following rules. -

- -{% highlight js linenos %} -{ - "id": "value attribute" || "option text", - "text": "label attribute" || "option text", - "element": HTMLOptionElement -} -{% endhighlight %} - -

- And <optgroup> tags will be converted into data objects using the following rules -

- -{% highlight js linenos %} -{ - "text": "label attribute", - "children": [ option data object, ... ], - "elment": HTMLOptGroupElement -} -{% endhighlight %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/dropdown.html b/public/assets/vendor/select2/docs/_includes/options/dropdown.html deleted file mode 100644 index 52d8ea25..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/dropdown.html +++ /dev/null @@ -1,10 +0,0 @@ -
-

- Displaying results -

- - {% include options/dropdown/filtering.html %} - {% include options/dropdown/selections.html %} - {% include options/dropdown/tagging.html %} - {% include options/dropdown/placement.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/dropdown/filtering.html b/public/assets/vendor/select2/docs/_includes/options/dropdown/filtering.html deleted file mode 100644 index 7e6bce75..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/dropdown/filtering.html +++ /dev/null @@ -1,55 +0,0 @@ -
-

- Can I change when search results are loaded? -

- -

- Can Select2 wait until the user has typed a search term before triggering the request? -

- -{% highlight js linenos %} -$('select').select2({ - ajax: { - delay: 250 // wait 250 milliseconds before triggering the request - } -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- Select2 is allowing long search terms, can this be prevented? -

- -{% highlight js linenos %} -$('select').select2({ - maximumInputLength: 20 // only allow terms up to 20 characters long -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- I only want the search box if there are enough results -

- -{% highlight js linenos %} -$('select').select2({ - minimumResultsForSearch: 20 // at least 20 results must be displayed -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- How can I permanently hide the search box? -

- -{% highlight js linenos %} -$('select').select2({ - minimumResultsForSearch: Infinity -}); -{% endhighlight %} - - {% include options/not-written.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/dropdown/placement.html b/public/assets/vendor/select2/docs/_includes/options/dropdown/placement.html deleted file mode 100644 index 1f78686c..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/dropdown/placement.html +++ /dev/null @@ -1,39 +0,0 @@ -
-

- Can I change how the dropdown is placed? -

- - - - {% include options/not-written.html %} - - - -{% highlight js linenos %} -$('select').select2({ - dropdownParent: $('#my_amazing_modal') -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- I'm using a Bootstrap modal and I can't use the search box -

- -

- Use the dropdownParent option, setting it to the modal. -

- - {% include options/not-written.html %} - -

- I'm using jQuery UI and I can't use the search box -

- - {% include options/not-written.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/dropdown/selections.html b/public/assets/vendor/select2/docs/_includes/options/dropdown/selections.html deleted file mode 100644 index 1c9f86e3..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/dropdown/selections.html +++ /dev/null @@ -1,29 +0,0 @@ -
-

- Can I change how selecting results works? -

- -

- Can I select the highlighted result when the dropdown is closed? -

- -{% highlight js linenos %} -$('select').select2({ - selectOnClose: true -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- Can I prevent the dropdown from closing when a result is selected? -

- -{% highlight js linenos %} -$('select').select2({ - closeOnSelect: false -}); -{% endhighlight %} - - {% include options/not-written.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/dropdown/tagging.html b/public/assets/vendor/select2/docs/_includes/options/dropdown/tagging.html deleted file mode 100644 index 43e1eb01..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/dropdown/tagging.html +++ /dev/null @@ -1,89 +0,0 @@ -
-

- Can options be created based on the search term? -

- -

- How do I enable tagging? -

- -{% highlight js linenos %} -$('select').select2({ - tags: true -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- Does tagging work with a single select? -

- -

- Yes. -

- - {% include options/not-written.html %} - -

- How do I add extra properties to the tag? -

- -{% highlight js linenos %} -$('select').select2({ - createTag: function (params) { - var term = $.trim(params.term); - - if (term === '') { - return null; - } - - return { - id: term, - text: term, - newTag: true // add additional parameters - } - } -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- Can I control when tags are created? -

- -{% highlight js linenos %} -$('select').select2({ - createTag: function (params) { - // Don't offset to create a tag if there is no @ symbol - if (params.term.indexOf('@') === -1) { - // Return null to disable tag creation - return null; - } - - return { - id: params.term, - text: params.term - } - } -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- How do I control the placement of the option? -

- -{% highlight js linenos %} -$('select').select2({ - insertTag: function (data, tag) { - // Insert the tag at the end of the results - data.push(tag); - } -}); -{% endhighlight %} - - {% include options/not-written.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/events.html b/public/assets/vendor/select2/docs/_includes/options/events.html deleted file mode 100644 index ea0dd2c1..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/events.html +++ /dev/null @@ -1,8 +0,0 @@ -
-

- Events -

- - {% include options/events/jquery.html %} - {% include options/events/internal.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/events/internal.html b/public/assets/vendor/select2/docs/_includes/options/events/internal.html deleted file mode 100644 index df49d5c9..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/events/internal.html +++ /dev/null @@ -1,9 +0,0 @@ -
-

- Internal Select2 events -

- -

- Select2 has an internal event system that works independently of the DOM event system. This internal event system is only accesssible from plugins and adapters that are connected to Select2. -

-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/events/jquery.html b/public/assets/vendor/select2/docs/_includes/options/events/jquery.html deleted file mode 100644 index 0c2bb225..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/events/jquery.html +++ /dev/null @@ -1,101 +0,0 @@ -
-

- Public jQuery events -

- -

- What events will Select2 trigger? -

- -

- Select2 will trigger a few different events when different actions are taken using the component, allowing you to add custom hooks and perform actions. -

- -
-
change
-
Triggered whenever an option is selected or removed.
- -
select2:close
-
Triggered whenever the dropdown is closed.
- -
select2:closing
-
Triggered before the dropdown is closed. This event can be prevented.
- -
select2:open
-
Triggered whenever the dropdown is opened.
- -
select2:opening
-
Triggered before the dropdown is opened. This event can be prevented.
- -
select2:select
-
Triggered whenever a result is selected.
- -
select2:selecting
-
Triggered before a result is selected. This event can be prevented.
- -
select2:unselect
-
Triggered whenever a selection is removed.
- -
select2:unselecting
-
Triggered before a selection is removed. This event can be prevented.
-
- -

- Does Select2 include extra information in these events? -

- - {% include options/not-written.html %} - -

- How can I attach listeners for these events? -

- -{% highlight js linenos %} -$('select').on('select2:select', function (evt) { - // Do something -}); -{% endhighlight %} - - {% include options/not-written.html %} - -

- What events does Select2 listen for? -

- -

- Select2 will listen for the change event on the - <select> that it is attached to. If you make any - external changes that need to be reflected in Select2 (such as changing the - value), you should trigger this event. -

- -{% highlight js linenos %} -$('select').val('US'); // Select the option with a value of 'US' -$('select').trigger('change'); // Notify any JS components that the value changed -{% endhighlight %} - -

- Can I trigger an event other than change to notify Select2 of changes? -

- -

- It's common for other components to be listening to the change - event, or for custom event handlers to be attached that may have side - effects. Select2 does not have a custom event (like - select2:update) that can be triggered other than - change. You can rely on jQuery's event namespacing to limit - the scope to Select2 though by triggering the change.select2 - event. -

- -{% highlight js linenos %} -$('select').val('US'); // Change the value or make some change to the internal state -$('select').trigger('change.select2'); // Notify only Select2 of changes -{% endhighlight %} - -

- What events can be prevented? How can I prevent a selection from being made? -

- - {% include options/not-written.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/introduction.html b/public/assets/vendor/select2/docs/_includes/options/introduction.html deleted file mode 100644 index 7cc343fc..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/introduction.html +++ /dev/null @@ -1,9 +0,0 @@ -
-
- This page of the documentation is currently undergoing a rewrite and may be incomplete. If you do not find the answer you are looking for on this page, you may have better luck looking at the old options page. -
- -

- This documentation is set up in the form of a FAQ and covers the most common questions. If you do not find the answer to your question here, you may want to reach out to the community to see if someone else can answer it. -

-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/not-written.html b/public/assets/vendor/select2/docs/_includes/options/not-written.html deleted file mode 100644 index b4967088..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/not-written.html +++ /dev/null @@ -1,3 +0,0 @@ -
- This answer to this question has not yet been written. You can improve this documentation by creating a pull request with an answer to this question. -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/selections.html b/public/assets/vendor/select2/docs/_includes/options/selections.html deleted file mode 100644 index 086c2aec..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/selections.html +++ /dev/null @@ -1,10 +0,0 @@ -
-

- Displaying selections -

- - {% include options/selections/multiple.html %} - {% include options/selections/placeholder.html %} - {% include options/selections/clearing-selections.html %} - {% include options/selections/templating.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/selections/clearing-selections.html b/public/assets/vendor/select2/docs/_includes/options/selections/clearing-selections.html deleted file mode 100644 index dd9c10d2..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/selections/clearing-selections.html +++ /dev/null @@ -1,34 +0,0 @@ -
-

- Can I allow users to clear their selections? -

- -

- You can allow people to clear their current selections with the allowClear option when initializing Select2. Setting this option to true will enable an "x" icon that will reset the selection to the placeholder. -

- -{% highlight js linenos %} -$('select').select2({ - placeholder: 'This is my placeholder', - allowClear: true -}); -{% endhighlight %} - -

- Why is a placeholder required? -

- - {% include options/not-written.html %} - -

- The "x" icon is not clearing the selection -

- - {% include options/not-written.html %} - -

- Can users remove all of their selections in a multiple select at once? -

- - {% include options/not-written.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/selections/multiple.html b/public/assets/vendor/select2/docs/_includes/options/selections/multiple.html deleted file mode 100644 index 645a0b61..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/selections/multiple.html +++ /dev/null @@ -1,17 +0,0 @@ -
-

- Can I allow users to make multiple selections? -

- -

- Yes, Select2 supports making multiple selections through the use of the multiple option that can be passed in when initializing Select2. -

- -

- Can the multiple attribute be used on my <select> element? -

- -

- Yes, Select2 will automatically map the value of the multiple attribute to the multiple option during initialization. -

-
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/options/selections/placeholder.html b/public/assets/vendor/select2/docs/_includes/options/selections/placeholder.html deleted file mode 100644 index 3dd5ef9c..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/selections/placeholder.html +++ /dev/null @@ -1,84 +0,0 @@ -
-

- How can I have Select2 display a placeholder? -

- -

- Select2 supports displaying a placeholder by default using the placeholder option. This can be either a data object matching the placeholder option, or a string to display as the placeholder if you are using a blank placeholder option. -

- -{% highlight js linenos %} -$('select').select2({ - placeholder: 'Select an option' -}); -{% endhighlight %} - -

- My first option is being displayed instead of my placeholder -

- -

- This usually means that you do not have a blank <option></option> as the first option in your <select>. -

- -

- Note that this does not apply to multiple selects, as the browser does not select the first option by default when multiple selections can be made. -

- -

- I am using AJAX, can I still show a placeholder? -

- -

- Yes, Select2 supports placeholders for all configurations. You will still need to add in the placeholder option if you are using a single select. -

- -

- Can I use an option without a blank value as my placeholder? -

- -

- The placeholder option allows you to pass in a data object instead of just a string if you need more flexibility. The id of the data object should match the value of the placeholder option. -

- -{% highlight js linenos %} -$('select').select2({ - placeholder: { - id: '-1', // the value of the option - text: 'Select an option' - } -}); -{% endhighlight %} - -

- Can I change how the placeholder looks? -

- -

- When using Select2 when only a single selection can be made, the placeholder option will be passed through the standard templating methods, including the templateSelection option, so you are able to change how it is displayed. -

- -{% highlight js linenos %} -$('select').select2({ - templateResult: function (data) { - if (data.id === '') { // adjust for custom placeholder values - return 'Custom styled placeholder text'; - } - - return data.text; - } -}); -{% endhighlight %} - -

- When multiple selections are allowed, the placeholder will be displayed using the placeholder attribute on the search box. You can cusotmize the display of this placholder using CSS, as explained in the following Stack Overflow answer: Change an input's HTML5 placeholder color with CSS -

- -

- My placeholders aren't being displayed in Internet Explorer -

- -

- Select2 uses the native placeholder attribute on input boxes for the multiple select, and that attribute is not supported in older versions of Internet Explorer. You need to include Placeholders.js on your page, or use the full build, in order to add placeholder attribute support to input boxes. -

-
diff --git a/public/assets/vendor/select2/docs/_includes/options/selections/templating.html b/public/assets/vendor/select2/docs/_includes/options/selections/templating.html deleted file mode 100644 index 19eb8f23..00000000 --- a/public/assets/vendor/select2/docs/_includes/options/selections/templating.html +++ /dev/null @@ -1,37 +0,0 @@ -
-

- How can I customize the way selections are displayed? -

- -

- When a selection is made by the user Select2 will display the text of the option by default, just like how it is displayed in a standard select box. You can override the display of the selection by setting the templateSelection option to a JavaScript function. -

- -{% highlight js linenos %} -function template(data, container) { - return data.text; -} - -$('select').select2({ - templateSelection: template -}); -{% endhighlight %} - -

- Nothing is being displayed when I select an option -

- - {% include options/not-written.html %} - -

- I am using HTML in my selection template but it isn't displaying it -

- - {% include options/not-written.html %} - -

- How can I access the container where the selection is displayed? -

- - {% include options/not-written.html %} -
\ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_includes/social-buttons.html b/public/assets/vendor/select2/docs/_includes/social-buttons.html deleted file mode 100644 index bcf90cfd..00000000 --- a/public/assets/vendor/select2/docs/_includes/social-buttons.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
    -
  • - -
  • -
  • - -
  • -
-
diff --git a/public/assets/vendor/select2/docs/_layouts/default.html b/public/assets/vendor/select2/docs/_layouts/default.html deleted file mode 100644 index 97bd9871..00000000 --- a/public/assets/vendor/select2/docs/_layouts/default.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - {% include head.html %} - - - {% include navigation.html %} - - {{ content }} - - {% include footer.html %} - - - - {% include ga.html %} - - diff --git a/public/assets/vendor/select2/docs/_layouts/home.html b/public/assets/vendor/select2/docs/_layouts/home.html deleted file mode 100644 index 0732b29f..00000000 --- a/public/assets/vendor/select2/docs/_layouts/home.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - {% include head.html %} - - - {% include navigation.html %} - - {{ content }} - - {% include footer.html %} - - - - {% include ga.html %} - - diff --git a/public/assets/vendor/select2/docs/_sass/_alert.scss b/public/assets/vendor/select2/docs/_sass/_alert.scss deleted file mode 100644 index cb5d54fd..00000000 --- a/public/assets/vendor/select2/docs/_sass/_alert.scss +++ /dev/null @@ -1,47 +0,0 @@ -// Alerts -// -// Modify Bootstrap's default alert styles to mimick -// the `.bs-callout` styles from Bootstrap's docs. -// -// @see https://github.com/twbs/bootstrap/blob/master/docs/assets/css/src/docs.css#L711 -// @see https://github.com/twbs/bootstrap/blob/master/less/alerts.less - -.alert { - background: #fff; - border: 1px solid #eee; - border-left-width: 5px; - border-radius: 3px; - color: #333; - margin: 20px 0; - padding: 20px; - - h4 { - font-size: 18px; - margin-top: 0; - margin-bottom: 5px; - } - - &-danger { - border-left-color: #ce4844; - - h4 { - color: #ce4844; - } - } - - &-info { - border-left-color: #1b809e; - - h4 { - color: #1b809e; - } - } - - &-warning { - border-left-color: #aa6708; - - h4 { - color: #aa6708; - } - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_anchorjs.scss b/public/assets/vendor/select2/docs/_sass/_anchorjs.scss deleted file mode 100644 index 61900491..00000000 --- a/public/assets/vendor/select2/docs/_sass/_anchorjs.scss +++ /dev/null @@ -1,27 +0,0 @@ -// AnchorJS Styles - -.anchorjs-link { - color: inherit; - transition: all .16s linear; - text-decoration: none; - - &:link, - &:visited { - text-decoration: none; - color: inherit; - } - - @media (max-width: 480px) { - display: none; - } -} - -*:hover > .anchorjs-link { - opacity: .5; - margin-left: -0.9em !important; -} - -*:hover > .anchorjs-link:hover, -.anchorjs-link:focus { - opacity: 1; -} diff --git a/public/assets/vendor/select2/docs/_sass/_buttons.scss b/public/assets/vendor/select2/docs/_sass/_buttons.scss deleted file mode 100644 index 1ad81769..00000000 --- a/public/assets/vendor/select2/docs/_sass/_buttons.scss +++ /dev/null @@ -1,20 +0,0 @@ -// Buttons - -.btn-outline-inverse { - color: #428BCA; - background-color: transparent; - border-color: #428BCA; - padding: 15px 30px; - font-size: 20px; - transition: all .1s ease-in-out; - - &:hover { - color: #fff; - border-color: #428BCA; - background-color: #428BCA; - } -} - -.btn-toolbar { - margin-bottom: 20px; -} diff --git a/public/assets/vendor/select2/docs/_sass/_code.scss b/public/assets/vendor/select2/docs/_sass/_code.scss deleted file mode 100644 index ecd3aa97..00000000 --- a/public/assets/vendor/select2/docs/_sass/_code.scss +++ /dev/null @@ -1,16 +0,0 @@ -// Code (inline and block) - -// Inline code within headings retain the heading's background-color -h2 code, -h3 code, -h4 code { - background-color: inherit; -} - -// Modify Bootstrap's styles for blocks of code -pre.prettyprint { - padding: 9px 14px; - margin-bottom: 14px; - background-color: #f7f7f9; - border: 1px solid #e1e1e8; -} \ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_sass/_dl-panels.scss b/public/assets/vendor/select2/docs/_sass/_dl-panels.scss deleted file mode 100644 index 76d5151f..00000000 --- a/public/assets/vendor/select2/docs/_sass/_dl-panels.scss +++ /dev/null @@ -1,24 +0,0 @@ -.s2-docs-panels { - dt, dd { - border: 1px solid $panel-default-border; - } - - dt { - background-color: $panel-default-heading-bg; - border-top-left-radius: $panel-border-radius; - border-top-right-radius: $panel-border-radius; - padding: 5px 7.5px; - } - - dd { - background-color: $panel-bg; - border-bottom-left-radius: $panel-border-radius; - border-bottom-right-radius: $panel-border-radius; - margin-bottom: 0.75em; - padding: 7.5px; - } - - dt + dd { - border-top: none; - } -} \ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_sass/_examples.scss b/public/assets/vendor/select2/docs/_sass/_examples.scss deleted file mode 100644 index 0af55914..00000000 --- a/public/assets/vendor/select2/docs/_sass/_examples.scss +++ /dev/null @@ -1,91 +0,0 @@ -// Examples -// -// Styles for the Select2 examples, largely copied -// from Bootstrap's docs styles. -// -// @see https://github.com/twbs/bootstrap/blob/master/docs/assets/css/src/docs.css#L533 - -.s2-example { - position: relative; - padding: 45px 15px 15px; - margin: 0 -15px 15px; - background-color: #fafafa; - box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.05); - border-color: #e5e5e5 #eee #eee; - border-style: solid; - border-width: 1px 0; - - &:after { - content: "Example"; - position: absolute; - top: 15px; - left: 15px; - font-size: 12px; - font-weight: bold; - color: #bbb; - text-transform: uppercase; - letter-spacing: 1px; - } - - @media (min-width: 768px) { - margin-left: 0; - margin-right: 0; - background-color: #fff; - border-width: 1px; - border-color: #eee; - border-radius: 4px 4px 0 0; - box-shadow: none; - } -} - -// styles for the event log in the "DOM events" section of the docs -.s2-event-log { - background: #002451; - color: white; - font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace; - margin: 0 -15px 15px; - padding: 45px 15px 15px; - position: relative; - - &:after { - content: "Event Log"; - position: absolute; - top: 15px; - left: 15px; - font-size: 12px; - font-weight: bold; - color: #BBB; - text-transform: uppercase; - letter-spacing: 1px; - } - - @media (min-width: 768px) { - margin-left: 0; - margin-right: 0; - margin-top: -15px; - border-width: 1px; - border-color: #eee; - box-shadow: none; - } -} - -.s2-example + pre, -.s2-example + figure, -.s2-event-log + pre { - margin: -15px -15px 15px; - border-radius: 0; - border-width: 0 0 1px; - - @media (min-width: 768px) { - margin-top: -16px; - margin-left: 0; - margin-right: 0; - border-width: 1px; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - } -} - -.s2-example + .s2-event-log { - margin-top: -15px; -} diff --git a/public/assets/vendor/select2/docs/_sass/_featurette.scss b/public/assets/vendor/select2/docs/_sass/_featurette.scss deleted file mode 100644 index 56eedf8c..00000000 --- a/public/assets/vendor/select2/docs/_sass/_featurette.scss +++ /dev/null @@ -1,16 +0,0 @@ -// Homepage featurettes - -.s2-docs-featurette { - color: #777; - padding: 15px 0; - text-align: center; - - h4 { - margin: 30px 0 15px; - } - - .fa { - font-size: 28px; - color: #777; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_footer.scss b/public/assets/vendor/select2/docs/_sass/_footer.scss deleted file mode 100644 index dfe5d40e..00000000 --- a/public/assets/vendor/select2/docs/_sass/_footer.scss +++ /dev/null @@ -1,42 +0,0 @@ -// Footer - -.s2-docs-footer { - border-top: 1px solid #eee; - color: #767676; - padding-top: 40px; - padding-bottom: 40px; - margin-top: 100px; - text-align: center; - - &-links { - padding-left: 0; - margin-top: 20px; - } - - &-links li { - display: inline; - padding: 0 2px; - - &:after { - content: "·"; - padding-left: 8px; - } - - &:first-child { - padding-left: 0; - } - - &:last-child:after { - content: ""; - padding-left: 0; - } - } - - @media (min-width: 768px) { - p { - margin-bottom: 0; - } - } -} - - diff --git a/public/assets/vendor/select2/docs/_sass/_hamburger.scss b/public/assets/vendor/select2/docs/_sass/_hamburger.scss deleted file mode 100644 index 759c53fc..00000000 --- a/public/assets/vendor/select2/docs/_sass/_hamburger.scss +++ /dev/null @@ -1,49 +0,0 @@ -// Animated hamburger icon -// -// Add an animation to Bootstrap's `.navbar-toggle` hamburger icon, -// courtesy of Julien Melissas. -// -// @see http://codepen.io/JulienMelissas/pen/LEBGLj -// @see http://julienmelissas.com/animated-x-icon-for-the-bootstrap-navbar-toggle/ - -.navbar-toggle { - border: none; - background: transparent !important; - - &:hover { - background: transparent !important; - } - - .icon-bar { - width: 22px; - transition: all 0.2s; - } - - .top-bar { - transform: rotate(45deg); - transform-origin: 10% 10%; - } - - .middle-bar { - opacity: 0; - } - - .bottom-bar { - transform: rotate(-45deg); - transform-origin: 10% 90%; - } - - &.collapsed { - .top-bar { - transform: rotate(0); - } - - .middle-bar { - opacity: 1; - } - - .bottom-bar { - transform: rotate(0); - } - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_home.scss b/public/assets/vendor/select2/docs/_sass/_home.scss deleted file mode 100644 index 98530802..00000000 --- a/public/assets/vendor/select2/docs/_sass/_home.scss +++ /dev/null @@ -1,31 +0,0 @@ -// Homepage-specific styles - -.s2-docs-home { - .jumbotron { - margin-bottom: 0; - color: #000; - - h1 { - color: #000; - margin-top: 20px; - } - } - - .lead { - text-align: center; - max-width: 800px; - margin: 0 auto 40px; - } - - .notice-previous { - background: #f6f6f6; - color: #666; - border-bottom: 1px solid #eee; - padding: 15px 20px; - } - - .half-rule { - width: 100px; - margin: 40px auto; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_jumbotron.scss b/public/assets/vendor/select2/docs/_sass/_jumbotron.scss deleted file mode 100644 index 7b3cc5ee..00000000 --- a/public/assets/vendor/select2/docs/_sass/_jumbotron.scss +++ /dev/null @@ -1,24 +0,0 @@ -// Jumbotron -// -// Modify Bootstrap's default `.jumbotron` styles. - -.jumbotron { - background-color: #F6F6F6; - border-bottom: 1px solid #eee; - color: #777; - padding-left: 0; - padding-right: 0; - - h1 { - color: #777; - font-size: 36px; - margin-top: 10px; - } - - .version { - color: #999; - font-size: 14px; - font-weight: normal; - margin-bottom: 30px; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_layout.scss b/public/assets/vendor/select2/docs/_sass/_layout.scss deleted file mode 100644 index e53a648e..00000000 --- a/public/assets/vendor/select2/docs/_sass/_layout.scss +++ /dev/null @@ -1,14 +0,0 @@ -// Layout - -.s2-docs-container { - line-height: 1.6; -} - -section { - margin-bottom: 40px; -} - -.page-header { - padding-bottom: 19px; - margin-bottom: 29px; -} diff --git a/public/assets/vendor/select2/docs/_sass/_nav.scss b/public/assets/vendor/select2/docs/_sass/_nav.scss deleted file mode 100644 index 40fd17ce..00000000 --- a/public/assets/vendor/select2/docs/_sass/_nav.scss +++ /dev/null @@ -1,59 +0,0 @@ -// Main navigation -// -// Styles for the top `.navbar` and its dropdowns. - -.s2-docs-nav { - margin-bottom: 0; - border-color: #eee; - background-color: #f6f6f6; - - .navbar-brand { - font-weight: 500; - > img { - display: inline; - margin-right: 4px; - } - } - - .navbar-nav > .active > a, - .navbar-nav > .active > a:hover, - .navbar-nav > .active > a:focus { - background-color: #f0f0f0; - color: #000; - } - - @media (min-width: 768px) { - - .navbar-nav > li > .dropdown-menu:before { - position: absolute; - top: -21px; - left: 24px; - display: block; - width: 0; - height: 0; - border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0.1); - border-style: solid; - border-width: 10px; - content: ""; - } - - .navbar-nav > li > .dropdown-menu:after { - position: absolute; - top: -20px; - left: 24px; - display: block; - width: 0; - height: 0; - border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #FFF; - border-style: solid; - border-width: 10px; - content: ''; - } - - .navbar-nav .dropdown-menu { - border-radius: 4px; - border-color: #ddd; - margin-top: -1px; - } - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_prettify.scss b/public/assets/vendor/select2/docs/_sass/_prettify.scss deleted file mode 100644 index 4b799d54..00000000 --- a/public/assets/vendor/select2/docs/_sass/_prettify.scss +++ /dev/null @@ -1,50 +0,0 @@ -// Google Code Prettify styles - -.com { - color: #999; -} -.lit { - color: #195f91; -} -.pun, .opn, .clo { - color: #93a1a1; -} -.fun { - color: #dc322f; -} -.str, .atv { - color: #C7254E; -} -.kwd, .prettyprint .tag { - color: #2F6F9F; -} -.typ, .atn, .dec, .var { - color: #428BCA; -} -.pln { - color: #333; -} - -.prettyprint { - padding: 9px 14px; - margin-bottom: 20px; - margin-top: 20px; - border: 1px solid #eee; - - &.linenums { - -webkit-box-shadow: inset 40px 0 0 #fbfbfb, inset 41px 0 0 #f6f6f6; - -moz-box-shadow: inset 40px 0 0 #fbfbfb, inset 41px 0 0 #f6f6f6; - box-shadow: inset 40px 0 0 #fbfbfb, inset 41px 0 0 #f6f6f6; - } -} - -// Specify class=linenums on a pre to get line numbering -ol.linenums { - margin: 0 0 0 -12px; - - li { - padding-left: 12px; - color: #bebebe; - line-height: 18px; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_result-repository.scss b/public/assets/vendor/select2/docs/_sass/_result-repository.scss deleted file mode 100644 index a4e256af..00000000 --- a/public/assets/vendor/select2/docs/_sass/_result-repository.scss +++ /dev/null @@ -1,62 +0,0 @@ -// Styles accompanying the "Loading remote data" example `templateResult - -.select2-result-repository { - padding-top: 4px; - padding-bottom: 3px; - - &__avatar { - float: left; - width: 60px; - margin-right: 10px; - - img { - width: 100%; - height: auto; - border-radius: 2px; - } - } - - &__meta { - margin-left: 70px; - } - - &__title { - color: black; - font-weight: bold; - word-wrap: break-word; - line-height: 1.1; - margin-bottom: 4px; - } - - &__forks, - &__stargazers { - margin-right: 1em; - } - - &__forks, - &__stargazers, - &__watchers { - display: inline-block; - color: #aaa; - font-size: 11px; - } - - &__description { - font-size: 13px; - color: #777; - margin-top: 4px; - } - - .select2-results__option--highlighted & { - &__title { - color: white; - } - - &__forks, - &__stargazers, - &__description, - &__watchers { - color: mix(#428BCA, white, 30%); - } - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_sidenav.scss b/public/assets/vendor/select2/docs/_sass/_sidenav.scss deleted file mode 100644 index 3608c150..00000000 --- a/public/assets/vendor/select2/docs/_sass/_sidenav.scss +++ /dev/null @@ -1,152 +0,0 @@ -// Side navigation -// -// Scrollspy and affixed enhanced navigation to -// highlight sections and secondary sections of docs content`. - -.s2-docs-sidebar { - // By default it is not affixed in mobile views, so undo that - &.affix { - position: static; - } - - @media (min-width: 768px) { - padding-left: 20px; - } -} - -// First level of nav -.s2-docs-sidenav { - margin-top: 20px; - margin-bottom: 20px; -} - -// All levels of nav -.s2-docs-sidebar .nav { - > li > a { - margin-left: -1px; - display: block; - padding: 4px 20px; - font-size: 13px; - font-weight: 500; - color: #767676; - border-left: 1px solid transparent; - transition: color .2s, border-color .2s; - } - - > li > a code { - background-color: inherit; - color: inherit; - } - - > li > a:hover, - > li > a:focus { - color: #428BCA; - text-decoration: none; - background-color: transparent; - border-left-color: #428BCA; - } - - > .active > a, - > .active:hover > a, - > .active:focus > a { - padding-left: 19px; - font-weight: bold; - color: #428BCA; - background-color: transparent; - border-left: 2px solid #428BCA; - } - - // Nav: second level (shown on .active) - .nav { - display: none; // Hide by default, but at >768px, show it - padding-bottom: 10px; - } - - .nav > li > a { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 30px; - font-size: 12px; - font-weight: normal; - } - - .nav > li > a:hover, - .nav > li > a:focus { - padding-left: 30px; - } - - .nav > .active > a, - .nav > .active:hover > a, - .nav > .active:focus > a { - padding-left: 29px; - font-weight: 400; - } -} - -// Show and affix the side nav when space allows it -@media (min-width: 992px) { - .s2-docs-sidebar .s2-docs-sidenav { - padding-top: 40px; - transition: border-color .2s; - border-left: 1px solid transparent; - } - - .s2-docs-sidebar.affix .s2-docs-sidenav { - border-left-color: #eee; - } - - .s2-docs-sidebar .nav > .active > ul { - display: block; - } - - // Widen the fixed sidebar - .s2-docs-sidebar.affix, - .s2-docs-sidebar.affix-bottom { - width: 213px; - } - - // Undo the static from mobile first approach - .s2-docs-sidebar.affix { - position: fixed; - top: 0px; - } - - // Undo the static from mobile first approach - .s2-docs-sidebar.affix-bottom { - position: absolute; - } - - .s2-docs-sidebar.affix-bottom .s2-docs-sidenav, - .s2-docs-sidebar.affix .s2-docs-sidenav { - margin-top: 0; - margin-bottom: 0; - } -} - -@media (min-width: 1200px) { - // Widen the fixed sidebar again - .s2-docs-sidebar.affix-bottom, - .s2-docs-sidebar.affix { - width: 263px; - } -} - -/* Back to top (hidden on mobile) */ -.back-to-top { - display: none; - padding: 4px 10px; - margin-top: 10px; - margin-left: 10px; - font-size: 12px; - font-weight: 400; - color: #999; - - &:hover { - color: #428BCA; - text-decoration: none; - } - - @media (min-width: 768px) { - display: block; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/_social.scss b/public/assets/vendor/select2/docs/_sass/_social.scss deleted file mode 100644 index 0e8d0736..00000000 --- a/public/assets/vendor/select2/docs/_sass/_social.scss +++ /dev/null @@ -1,35 +0,0 @@ -// Social buttons -// -// Twitter and GitHub social action buttons. - -.s2-docs-social { - margin-bottom: 20px; - text-align: center; -} - -.s2-docs-social-buttons { - display: inline-block; - padding-left: 0; - margin-bottom: 0; - list-style: none; - - li { - display: inline-block; - padding: 5px 8px; - line-height: 1; - } - - .twitter-follow-button { - width: 225px !important; - } - - .twitter-share-button { - width: 98px !important; - } -} - -// Style the GitHub buttons via CSS instead of inline attributes -.github-btn { - overflow: hidden; - border: 0; -} diff --git a/public/assets/vendor/select2/docs/_sass/_syntax-highlighting.scss b/public/assets/vendor/select2/docs/_sass/_syntax-highlighting.scss deleted file mode 100644 index 9dca6bdc..00000000 --- a/public/assets/vendor/select2/docs/_sass/_syntax-highlighting.scss +++ /dev/null @@ -1,117 +0,0 @@ -// Jekyll syntax highlighting styles adjusted to match Google Code Prettify - -.highlight { - background: #fff; - - // Text - .nx { - color: #333; - } - - // Keywords and operators - .k, .o { - font-weight: bold; - } - - // Attribute name - .na { - color: #428BCA; - } - - // Strings - .s, .s1, .s2, .sb, .sc, .sd, .se, .sh, .si, .sx { - color: #C7254E; - } - - // Literals - .m, .mf, mh, .mi, .mo { - color: #195f91; - } - - // Parentheses - .p { - color: #93a1a1; - } - - // Tag - .nt { - color: #2F6F9F; - } - - // Comments - .c { - color: #999; - font-style: italic; - } - - // Error - .err { - background-color: #e3d2d2; - color: #a61717; - } - - // Generic error - .gr { - color: #a00; - } - - // Container styles - pre { - border: none; - margin: 0; - } - - & > pre { - border: 1px solid #eee; - padding: 0; - margin-bottom: 14px; - } - - // Line numbers - .lineno { - background-color: #fbfbfb; - color: #bebebe; - - -ms-user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - } -} - -.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ -.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ -.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gh { color: #999999 } /* Generic.Heading */ -.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ -.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #555555 } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ -.highlight .gt { color: #aa0000 } /* Generic.Traceback */ -.highlight .kc { font-weight: bold } /* Keyword.Constant */ -.highlight .kd { font-weight: bold } /* Keyword.Declaration */ -.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ -.highlight .nb { color: #0086B3 } /* Name.Builtin */ -.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ -.highlight .no { color: #008080 } /* Name.Constant */ -.highlight .ni { color: #800080 } /* Name.Entity */ -.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ -.highlight .nn { color: #555555 } /* Name.Namespace */ -.highlight .nv { color: #008080 } /* Name.Variable */ -.highlight .ow { font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .sr { color: #009926 } /* Literal.String.Regex */ -.highlight .ss { color: #990073 } /* Literal.String.Symbol */ -.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #008080 } /* Name.Variable.Class */ -.highlight .vg { color: #008080 } /* Name.Variable.Global */ -.highlight .vi { color: #008080 } /* Name.Variable.Instance */ -.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/public/assets/vendor/select2/docs/_sass/_typography.scss b/public/assets/vendor/select2/docs/_sass/_typography.scss deleted file mode 100644 index 1046c994..00000000 --- a/public/assets/vendor/select2/docs/_sass/_typography.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Typography - -h1[id] { - padding-top: 20px; - margin-top: 0; -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_alerts.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_alerts.scss deleted file mode 100644 index 7d1e1fdd..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_alerts.scss +++ /dev/null @@ -1,73 +0,0 @@ -// -// Alerts -// -------------------------------------------------- - - -// Base styles -// ------------------------- - -.alert { - padding: $alert-padding; - margin-bottom: $line-height-computed; - border: 1px solid transparent; - border-radius: $alert-border-radius; - - // Headings for larger alerts - h4 { - margin-top: 0; - // Specified for the h4 to prevent conflicts of changing $headings-color - color: inherit; - } - - // Provide class for links that match alerts - .alert-link { - font-weight: $alert-link-font-weight; - } - - // Improve alignment and spacing of inner content - > p, - > ul { - margin-bottom: 0; - } - - > p + p { - margin-top: 5px; - } -} - -// Dismissible alerts -// -// Expand the right padding and account for the close button's positioning. - -.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. -.alert-dismissible { - padding-right: ($alert-padding + 20); - - // Adjust close link position - .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; - } -} - -// Alternate styles -// -// Generate contextual modifier classes for colorizing the alert. - -.alert-success { - @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); -} - -.alert-info { - @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); -} - -.alert-warning { - @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); -} - -.alert-danger { - @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_badges.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_badges.scss deleted file mode 100644 index 70002e08..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_badges.scss +++ /dev/null @@ -1,68 +0,0 @@ -// -// Badges -// -------------------------------------------------- - - -// Base class -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: $font-size-small; - font-weight: $badge-font-weight; - color: $badge-color; - line-height: $badge-line-height; - vertical-align: middle; - white-space: nowrap; - text-align: center; - background-color: $badge-bg; - border-radius: $badge-border-radius; - - // Empty badges collapse automatically (not available in IE8) - &:empty { - display: none; - } - - // Quick fix for badges in buttons - .btn & { - position: relative; - top: -1px; - } - - .btn-xs &, - .btn-group-xs > .btn & { - top: 0; - padding: 1px 5px; - } - - // [converter] extracted a& to a.badge - - // Account for badges in navs - .list-group-item.active > &, - .nav-pills > .active > a > & { - color: $badge-active-color; - background-color: $badge-active-bg; - } - - .list-group-item > & { - float: right; - } - - .list-group-item > & + & { - margin-right: 5px; - } - - .nav-pills > li > a > & { - margin-left: 3px; - } -} - -// Hover state, but only for links -a.badge { - &:hover, - &:focus { - color: $badge-link-hover-color; - text-decoration: none; - cursor: pointer; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_breadcrumbs.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_breadcrumbs.scss deleted file mode 100644 index b61f0c73..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_breadcrumbs.scss +++ /dev/null @@ -1,28 +0,0 @@ -// -// Breadcrumbs -// -------------------------------------------------- - - -.breadcrumb { - padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; - margin-bottom: $line-height-computed; - list-style: none; - background-color: $breadcrumb-bg; - border-radius: $border-radius-base; - - > li { - display: inline-block; - - + li:before { - // [converter] Workaround for https://github.com/sass/libsass/issues/1115 - $nbsp: "\00a0"; - content: "#{$breadcrumb-separator}#{$nbsp}"; // Unicode space added since inline-block means non-collapsing white-space - padding: 0 5px; - color: $breadcrumb-color; - } - } - - > .active { - color: $breadcrumb-active-color; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_button-groups.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_button-groups.scss deleted file mode 100644 index baaacc44..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_button-groups.scss +++ /dev/null @@ -1,244 +0,0 @@ -// -// Button groups -// -------------------------------------------------- - -// Make the div behave like a button -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; // match .btn alignment given font-size hack above - > .btn { - position: relative; - float: left; - // Bring the "active" button to the front - &:hover, - &:focus, - &:active, - &.active { - z-index: 2; - } - } -} - -// Prevent double borders when buttons are next to each other -.btn-group { - .btn + .btn, - .btn + .btn-group, - .btn-group + .btn, - .btn-group + .btn-group { - margin-left: -1px; - } -} - -// Optional: Group multiple button groups together for a toolbar -.btn-toolbar { - margin-left: -5px; // Offset the first child's margin - @include clearfix; - - .btn, - .btn-group, - .input-group { - float: left; - } - > .btn, - > .btn-group, - > .input-group { - margin-left: 5px; - } -} - -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} - -// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match -.btn-group > .btn:first-child { - margin-left: 0; - &:not(:last-child):not(.dropdown-toggle) { - @include border-right-radius(0); - } -} -// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - @include border-left-radius(0); -} - -// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child:not(:last-child) { - > .btn:last-child, - > .dropdown-toggle { - @include border-right-radius(0); - } -} -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - @include border-left-radius(0); -} - -// On active and open, don't show outline -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} - - -// Sizing -// -// Remix the default button sizing classes into new ones for easier manipulation. - -.btn-group-xs > .btn { @extend .btn-xs; } -.btn-group-sm > .btn { @extend .btn-sm; } -.btn-group-lg > .btn { @extend .btn-lg; } - - -// Split button dropdowns -// ---------------------- - -// Give the line between buttons some depth -.btn-group > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} - -// The clickable button for toggling the menu -// Remove the gradient and set the same inset shadow as the :active state -.btn-group.open .dropdown-toggle { - @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); - - // Show no shadow for `.btn-link` since it has no other button styles. - &.btn-link { - @include box-shadow(none); - } -} - - -// Reposition the caret -.btn .caret { - margin-left: 0; -} -// Carets in other button sizes -.btn-lg .caret { - border-width: $caret-width-large $caret-width-large 0; - border-bottom-width: 0; -} -// Upside down carets for .dropup -.dropup .btn-lg .caret { - border-width: 0 $caret-width-large $caret-width-large; -} - - -// Vertical button groups -// ---------------------- - -.btn-group-vertical { - > .btn, - > .btn-group, - > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; - } - - // Clear floats so dropdown menus can be properly placed - > .btn-group { - @include clearfix; - > .btn { - float: none; - } - } - - > .btn + .btn, - > .btn + .btn-group, - > .btn-group + .btn, - > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; - } -} - -.btn-group-vertical > .btn { - &:not(:first-child):not(:last-child) { - border-radius: 0; - } - &:first-child:not(:last-child) { - @include border-top-radius($btn-border-radius-base); - @include border-bottom-radius(0); - } - &:last-child:not(:first-child) { - @include border-top-radius(0); - @include border-bottom-radius($btn-border-radius-base); - } -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) { - > .btn:last-child, - > .dropdown-toggle { - @include border-bottom-radius(0); - } -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - @include border-top-radius(0); -} - - -// Justified button groups -// ---------------------- - -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; - > .btn, - > .btn-group { - float: none; - display: table-cell; - width: 1%; - } - > .btn-group .btn { - width: 100%; - } - - > .btn-group .dropdown-menu { - left: auto; - } -} - - -// Checkbox and radio options -// -// In order to support the browser's form validation feedback, powered by the -// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use -// `display: none;` or `visibility: hidden;` as that also hides the popover. -// Simply visually hiding the inputs via `opacity` would leave them clickable in -// certain cases which is prevented by using `clip` and `pointer-events`. -// This way, we ensure a DOM element is visible to position the popover from. -// -// See https://github.com/twbs/bootstrap/pull/12794 and -// https://github.com/twbs/bootstrap/pull/14559 for more information. - -[data-toggle="buttons"] { - > .btn, - > .btn-group > .btn { - input[type="radio"], - input[type="checkbox"] { - position: absolute; - clip: rect(0,0,0,0); - pointer-events: none; - } - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_buttons.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_buttons.scss deleted file mode 100644 index 6452b709..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_buttons.scss +++ /dev/null @@ -1,168 +0,0 @@ -// -// Buttons -// -------------------------------------------------- - - -// Base styles -// -------------------------------------------------- - -.btn { - display: inline-block; - margin-bottom: 0; // For input.btn - font-weight: $btn-font-weight; - text-align: center; - vertical-align: middle; - touch-action: manipulation; - cursor: pointer; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid transparent; - white-space: nowrap; - @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base); - @include user-select(none); - - &, - &:active, - &.active { - &:focus, - &.focus { - @include tab-focus; - } - } - - &:hover, - &:focus, - &.focus { - color: $btn-default-color; - text-decoration: none; - } - - &:active, - &.active { - outline: 0; - background-image: none; - @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); - } - - &.disabled, - &[disabled], - fieldset[disabled] & { - cursor: $cursor-disabled; - @include opacity(.65); - @include box-shadow(none); - } - - // [converter] extracted a& to a.btn -} - -a.btn { - &.disabled, - fieldset[disabled] & { - pointer-events: none; // Future-proof disabling of clicks on `` elements - } -} - - -// Alternate buttons -// -------------------------------------------------- - -.btn-default { - @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); -} -.btn-primary { - @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); -} -// Success appears as green -.btn-success { - @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); -} -// Info appears as blue-green -.btn-info { - @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border); -} -// Warning appears as orange -.btn-warning { - @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); -} -// Danger and error appear as red -.btn-danger { - @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); -} - - -// Link buttons -// ------------------------- - -// Make a button look and behave like a link -.btn-link { - color: $link-color; - font-weight: normal; - border-radius: 0; - - &, - &:active, - &.active, - &[disabled], - fieldset[disabled] & { - background-color: transparent; - @include box-shadow(none); - } - &, - &:hover, - &:focus, - &:active { - border-color: transparent; - } - &:hover, - &:focus { - color: $link-hover-color; - text-decoration: $link-hover-decoration; - background-color: transparent; - } - &[disabled], - fieldset[disabled] & { - &:hover, - &:focus { - color: $btn-link-disabled-color; - text-decoration: none; - } - } -} - - -// Button Sizes -// -------------------------------------------------- - -.btn-lg { - // line-height: ensure even-numbered height of button next to large input - @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large); -} -.btn-sm { - // line-height: ensure proper height of button next to small input - @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); -} -.btn-xs { - @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); -} - - -// Block button -// -------------------------------------------------- - -.btn-block { - display: block; - width: 100%; -} - -// Vertically space out multiple block buttons -.btn-block + .btn-block { - margin-top: 5px; -} - -// Specificity overrides -input[type="submit"], -input[type="reset"], -input[type="button"] { - &.btn-block { - width: 100%; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_carousel.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_carousel.scss deleted file mode 100644 index 753d881f..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_carousel.scss +++ /dev/null @@ -1,270 +0,0 @@ -// -// Carousel -// -------------------------------------------------- - - -// Wrapper for the slide container and indicators -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; - - > .item { - display: none; - position: relative; - @include transition(.6s ease-in-out left); - - // Account for jankitude on images - > img, - > a > img { - @include img-responsive; - line-height: 1; - } - - // WebKit CSS3 transforms for supported devices - @media all and (transform-3d), (-webkit-transform-3d) { - @include transition-transform(0.6s ease-in-out); - @include backface-visibility(hidden); - @include perspective(1000px); - - &.next, - &.active.right { - @include translate3d(100%, 0, 0); - left: 0; - } - &.prev, - &.active.left { - @include translate3d(-100%, 0, 0); - left: 0; - } - &.next.left, - &.prev.right, - &.active { - @include translate3d(0, 0, 0); - left: 0; - } - } - } - - > .active, - > .next, - > .prev { - display: block; - } - - > .active { - left: 0; - } - - > .next, - > .prev { - position: absolute; - top: 0; - width: 100%; - } - - > .next { - left: 100%; - } - > .prev { - left: -100%; - } - > .next.left, - > .prev.right { - left: 0; - } - - > .active.left { - left: -100%; - } - > .active.right { - left: 100%; - } - -} - -// Left/right controls for nav -// --------------------------- - -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: $carousel-control-width; - @include opacity($carousel-control-opacity); - font-size: $carousel-control-font-size; - color: $carousel-control-color; - text-align: center; - text-shadow: $carousel-text-shadow; - background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug - // We can't have this transition here because WebKit cancels the carousel - // animation if you trip this while in the middle of another animation. - - // Set gradients for backgrounds - &.left { - @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001)); - } - &.right { - left: auto; - right: 0; - @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5)); - } - - // Hover/focus state - &:hover, - &:focus { - outline: 0; - color: $carousel-control-color; - text-decoration: none; - @include opacity(.9); - } - - // Toggles - .icon-prev, - .icon-next, - .glyphicon-chevron-left, - .glyphicon-chevron-right { - position: absolute; - top: 50%; - margin-top: -10px; - z-index: 5; - display: inline-block; - } - .icon-prev, - .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; - } - .icon-next, - .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; - } - .icon-prev, - .icon-next { - width: 20px; - height: 20px; - line-height: 1; - font-family: serif; - } - - - .icon-prev { - &:before { - content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) - } - } - .icon-next { - &:before { - content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) - } - } -} - -// Optional indicator pips -// -// Add an unordered list with the following class and add a list item for each -// slide your carousel holds. - -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; - - li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid $carousel-indicator-border-color; - border-radius: 10px; - cursor: pointer; - - // IE8-9 hack for event handling - // - // Internet Explorer 8-9 does not support clicks on elements without a set - // `background-color`. We cannot use `filter` since that's not viewed as a - // background color by the browser. Thus, a hack is needed. - // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer - // - // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we - // set alpha transparency for the best results possible. - background-color: #000 \9; // IE8 - background-color: rgba(0,0,0,0); // IE9 - } - .active { - margin: 0; - width: 12px; - height: 12px; - background-color: $carousel-indicator-active-bg; - } -} - -// Optional captions -// ----------------------------- -// Hidden by default for smaller viewports -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: $carousel-caption-color; - text-align: center; - text-shadow: $carousel-text-shadow; - & .btn { - text-shadow: none; // No shadow for button elements in carousel-caption - } -} - - -// Scale up controls for tablets and up -@media screen and (min-width: $screen-sm-min) { - - // Scale up the controls a smidge - .carousel-control { - .glyphicon-chevron-left, - .glyphicon-chevron-right, - .icon-prev, - .icon-next { - width: ($carousel-control-font-size * 1.5); - height: ($carousel-control-font-size * 1.5); - margin-top: ($carousel-control-font-size / -2); - font-size: ($carousel-control-font-size * 1.5); - } - .glyphicon-chevron-left, - .icon-prev { - margin-left: ($carousel-control-font-size / -2); - } - .glyphicon-chevron-right, - .icon-next { - margin-right: ($carousel-control-font-size / -2); - } - } - - // Show and left align the captions - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; - } - - // Move up the indicators - .carousel-indicators { - bottom: 20px; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_close.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_close.scss deleted file mode 100644 index 3b74d8a9..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_close.scss +++ /dev/null @@ -1,36 +0,0 @@ -// -// Close icons -// -------------------------------------------------- - - -.close { - float: right; - font-size: ($font-size-base * 1.5); - font-weight: $close-font-weight; - line-height: 1; - color: $close-color; - text-shadow: $close-text-shadow; - @include opacity(.2); - - &:hover, - &:focus { - color: $close-color; - text-decoration: none; - cursor: pointer; - @include opacity(.5); - } - - // [converter] extracted button& to button.close -} - -// Additional properties for button version -// iOS requires the button element instead of an anchor tag. -// If you want the anchor version, it requires `href="#"`. -// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_code.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_code.scss deleted file mode 100644 index caa5f063..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_code.scss +++ /dev/null @@ -1,69 +0,0 @@ -// -// Code (inline and block) -// -------------------------------------------------- - - -// Inline and block code styles -code, -kbd, -pre, -samp { - font-family: $font-family-monospace; -} - -// Inline code -code { - padding: 2px 4px; - font-size: 90%; - color: $code-color; - background-color: $code-bg; - border-radius: $border-radius-base; -} - -// User input typically entered via keyboard -kbd { - padding: 2px 4px; - font-size: 90%; - color: $kbd-color; - background-color: $kbd-bg; - border-radius: $border-radius-small; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); - - kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - box-shadow: none; - } -} - -// Blocks of code -pre { - display: block; - padding: (($line-height-computed - 1) / 2); - margin: 0 0 ($line-height-computed / 2); - font-size: ($font-size-base - 1); // 14px to 13px - line-height: $line-height-base; - word-break: break-all; - word-wrap: break-word; - color: $pre-color; - background-color: $pre-bg; - border: 1px solid $pre-border-color; - border-radius: $border-radius-base; - - // Account for some code outputs that place code tags in pre tags - code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; - } -} - -// Enable scrollable blocks of code -.pre-scrollable { - max-height: $pre-scrollable-max-height; - overflow-y: scroll; -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_component-animations.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_component-animations.scss deleted file mode 100644 index ca3b43ca..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_component-animations.scss +++ /dev/null @@ -1,37 +0,0 @@ -// -// Component animations -// -------------------------------------------------- - -// Heads up! -// -// We don't use the `.opacity()` mixin here since it causes a bug with text -// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. - -.fade { - opacity: 0; - @include transition(opacity .15s linear); - &.in { - opacity: 1; - } -} - -.collapse { - display: none; - - &.in { display: block; } - // [converter] extracted tr&.in to tr.collapse.in - // [converter] extracted tbody&.in to tbody.collapse.in -} - -tr.collapse.in { display: table-row; } - -tbody.collapse.in { display: table-row-group; } - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - @include transition-property(height, visibility); - @include transition-duration(.35s); - @include transition-timing-function(ease); -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_dropdowns.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_dropdowns.scss deleted file mode 100644 index aac84597..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_dropdowns.scss +++ /dev/null @@ -1,216 +0,0 @@ -// -// Dropdown menus -// -------------------------------------------------- - - -// Dropdown arrow/caret -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: $caret-width-base dashed; - border-top: $caret-width-base solid \9; // IE8 - border-right: $caret-width-base solid transparent; - border-left: $caret-width-base solid transparent; -} - -// The dropdown wrapper (div) -.dropup, -.dropdown { - position: relative; -} - -// Prevent the focus on the dropdown toggle when closing dropdowns -.dropdown-toggle:focus { - outline: 0; -} - -// The dropdown menu (ul) -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: $zindex-dropdown; - display: none; // none by default, but block on "open" of the menu - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; // override default ul - list-style: none; - font-size: $font-size-base; - text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) - background-color: $dropdown-bg; - border: 1px solid $dropdown-fallback-border; // IE8 fallback - border: 1px solid $dropdown-border; - border-radius: $border-radius-base; - @include box-shadow(0 6px 12px rgba(0,0,0,.175)); - background-clip: padding-box; - - // Aligns the dropdown menu to right - // - // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` - &.pull-right { - right: 0; - left: auto; - } - - // Dividers (basically an hr) within the dropdown - .divider { - @include nav-divider($dropdown-divider-bg); - } - - // Links within the dropdown menu - > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: $line-height-base; - color: $dropdown-link-color; - white-space: nowrap; // prevent links from randomly breaking onto new lines - } -} - -// Hover/Focus state -.dropdown-menu > li > a { - &:hover, - &:focus { - text-decoration: none; - color: $dropdown-link-hover-color; - background-color: $dropdown-link-hover-bg; - } -} - -// Active state -.dropdown-menu > .active > a { - &, - &:hover, - &:focus { - color: $dropdown-link-active-color; - text-decoration: none; - outline: 0; - background-color: $dropdown-link-active-bg; - } -} - -// Disabled state -// -// Gray out text and ensure the hover/focus state remains gray - -.dropdown-menu > .disabled > a { - &, - &:hover, - &:focus { - color: $dropdown-link-disabled-color; - } - - // Nuke hover/focus effects - &:hover, - &:focus { - text-decoration: none; - background-color: transparent; - background-image: none; // Remove CSS gradient - @include reset-filter; - cursor: $cursor-disabled; - } -} - -// Open state for the dropdown -.open { - // Show the menu - > .dropdown-menu { - display: block; - } - - // Remove the outline when :focus is triggered - > a { - outline: 0; - } -} - -// Menu positioning -// -// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown -// menu with the parent. -.dropdown-menu-right { - left: auto; // Reset the default from `.dropdown-menu` - right: 0; -} -// With v3, we enabled auto-flipping if you have a dropdown within a right -// aligned nav component. To enable the undoing of that, we provide an override -// to restore the default dropdown menu alignment. -// -// This is only for left-aligning a dropdown menu within a `.navbar-right` or -// `.pull-right` nav component. -.dropdown-menu-left { - left: 0; - right: auto; -} - -// Dropdown section headers -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: $font-size-small; - line-height: $line-height-base; - color: $dropdown-header-color; - white-space: nowrap; // as with > li > a -} - -// Backdrop to catch body clicks on mobile, etc. -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: ($zindex-dropdown - 10); -} - -// Right aligned dropdowns -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} - -// Allow for dropdowns to go bottom up (aka, dropup-menu) -// -// Just add .dropup after the standard .dropdown class and you're set, bro. -// TODO: abstract this so that the navbar fixed styles are not placed here? - -.dropup, -.navbar-fixed-bottom .dropdown { - // Reverse the caret - .caret { - border-top: 0; - border-bottom: $caret-width-base dashed; - border-bottom: $caret-width-base solid \9; // IE8 - content: ""; - } - // Different positioning for bottom up menu - .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px; - } -} - - -// Component alignment -// -// Reiterate per navbar.less and the modified component alignment there. - -@media (min-width: $grid-float-breakpoint) { - .navbar-right { - .dropdown-menu { - right: 0; left: auto; - } - // Necessary for overrides of the default right aligned menu. - // Will remove come v4 in all likelihood. - .dropdown-menu-left { - left: 0; right: auto; - } - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_forms.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_forms.scss deleted file mode 100644 index 11ba1096..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_forms.scss +++ /dev/null @@ -1,617 +0,0 @@ -// -// Forms -// -------------------------------------------------- - - -// Normalize non-controls -// -// Restyle and baseline non-control form elements. - -fieldset { - padding: 0; - margin: 0; - border: 0; - // Chrome and Firefox set a `min-width: min-content;` on fieldsets, - // so we reset that to ensure it behaves more like a standard block element. - // See https://github.com/twbs/bootstrap/issues/12359. - min-width: 0; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: $line-height-computed; - font-size: ($font-size-base * 1.5); - line-height: inherit; - color: $legend-color; - border: 0; - border-bottom: 1px solid $legend-border-color; -} - -label { - display: inline-block; - max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) - margin-bottom: 5px; - font-weight: bold; -} - - -// Normalize form controls -// -// While most of our form styles require extra classes, some basic normalization -// is required to ensure optimum display with or without those classes to better -// address browser inconsistencies. - -// Override content-box in Normalize (* isn't specific enough) -input[type="search"] { - @include box-sizing(border-box); -} - -// Position radios and checkboxes better -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; // IE8-9 - line-height: normal; -} - -input[type="file"] { - display: block; -} - -// Make range inputs behave like textual form controls -input[type="range"] { - display: block; - width: 100%; -} - -// Make multiple select elements height not fixed -select[multiple], -select[size] { - height: auto; -} - -// Focus for file, radio, and checkbox -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - @include tab-focus; -} - -// Adjust output element -output { - display: block; - padding-top: ($padding-base-vertical + 1); - font-size: $font-size-base; - line-height: $line-height-base; - color: $input-color; -} - - -// Common form controls -// -// Shared size and type resets for form controls. Apply `.form-control` to any -// of the following form controls: -// -// select -// textarea -// input[type="text"] -// input[type="password"] -// input[type="datetime"] -// input[type="datetime-local"] -// input[type="date"] -// input[type="month"] -// input[type="time"] -// input[type="week"] -// input[type="number"] -// input[type="email"] -// input[type="url"] -// input[type="search"] -// input[type="tel"] -// input[type="color"] - -.form-control { - display: block; - width: 100%; - height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) - padding: $padding-base-vertical $padding-base-horizontal; - font-size: $font-size-base; - line-height: $line-height-base; - color: $input-color; - background-color: $input-bg; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid $input-border; - border-radius: $input-border-radius; // Note: This has no effect on s in CSS. - @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); - @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s); - - // Customize the `:focus` state to imitate native WebKit styles. - @include form-control-focus; - - // Placeholder - @include placeholder; - - // Unstyle the caret on `` background color -$input-bg: #fff !default; -//** `` background color -$input-bg-disabled: $gray-lighter !default; - -//** Text color for ``s -$input-color: $gray !default; -//** `` border color -$input-border: #ccc !default; - -// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4 -//** Default `.form-control` border radius -// This has no effect on ``s in CSS. -$input-border-radius: $border-radius-base !default; -//** Large `.form-control` border radius -$input-border-radius-large: $border-radius-large !default; -//** Small `.form-control` border radius -$input-border-radius-small: $border-radius-small !default; - -//** Border color for inputs on focus -$input-border-focus: #66afe9 !default; - -//** Placeholder text color -$input-color-placeholder: #999 !default; - -//** Default `.form-control` height -$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default; -//** Large `.form-control` height -$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default; -//** Small `.form-control` height -$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default; - -//** `.form-group` margin -$form-group-margin-bottom: 15px !default; - -$legend-color: $gray-dark !default; -$legend-border-color: #e5e5e5 !default; - -//** Background color for textual input addons -$input-group-addon-bg: $gray-lighter !default; -//** Border color for textual input addons -$input-group-addon-border-color: $input-border !default; - -//** Disabled cursor for form controls and buttons. -$cursor-disabled: not-allowed !default; - - -//== Dropdowns -// -//## Dropdown menu container and contents. - -//** Background for the dropdown menu. -$dropdown-bg: #fff !default; -//** Dropdown menu `border-color`. -$dropdown-border: rgba(0,0,0,.15) !default; -//** Dropdown menu `border-color` **for IE8**. -$dropdown-fallback-border: #ccc !default; -//** Divider color for between dropdown items. -$dropdown-divider-bg: #e5e5e5 !default; - -//** Dropdown link text color. -$dropdown-link-color: $gray-dark !default; -//** Hover color for dropdown links. -$dropdown-link-hover-color: darken($gray-dark, 5%) !default; -//** Hover background for dropdown links. -$dropdown-link-hover-bg: #f5f5f5 !default; - -//** Active dropdown menu item text color. -$dropdown-link-active-color: $component-active-color !default; -//** Active dropdown menu item background color. -$dropdown-link-active-bg: $component-active-bg !default; - -//** Disabled dropdown menu item background color. -$dropdown-link-disabled-color: $gray-light !default; - -//** Text color for headers within dropdown menus. -$dropdown-header-color: $gray-light !default; - -//** Deprecated `$dropdown-caret-color` as of v3.1.0 -$dropdown-caret-color: #000 !default; - - -//-- Z-index master list -// -// Warning: Avoid customizing these values. They're used for a bird's eye view -// of components dependent on the z-axis and are designed to all work together. -// -// Note: These variables are not generated into the Customizer. - -$zindex-navbar: 1000 !default; -$zindex-dropdown: 1000 !default; -$zindex-popover: 1060 !default; -$zindex-tooltip: 1070 !default; -$zindex-navbar-fixed: 1030 !default; -$zindex-modal-background: 1040 !default; -$zindex-modal: 1050 !default; - - -//== Media queries breakpoints -// -//## Define the breakpoints at which your layout will change, adapting to different screen sizes. - -// Extra small screen / phone -//** Deprecated `$screen-xs` as of v3.0.1 -$screen-xs: 480px !default; -//** Deprecated `$screen-xs-min` as of v3.2.0 -$screen-xs-min: $screen-xs !default; -//** Deprecated `$screen-phone` as of v3.0.1 -$screen-phone: $screen-xs-min !default; - -// Small screen / tablet -//** Deprecated `$screen-sm` as of v3.0.1 -$screen-sm: 768px !default; -$screen-sm-min: $screen-sm !default; -//** Deprecated `$screen-tablet` as of v3.0.1 -$screen-tablet: $screen-sm-min !default; - -// Medium screen / desktop -//** Deprecated `$screen-md` as of v3.0.1 -$screen-md: 992px !default; -$screen-md-min: $screen-md !default; -//** Deprecated `$screen-desktop` as of v3.0.1 -$screen-desktop: $screen-md-min !default; - -// Large screen / wide desktop -//** Deprecated `$screen-lg` as of v3.0.1 -$screen-lg: 1200px !default; -$screen-lg-min: $screen-lg !default; -//** Deprecated `$screen-lg-desktop` as of v3.0.1 -$screen-lg-desktop: $screen-lg-min !default; - -// So media queries don't overlap when required, provide a maximum -$screen-xs-max: ($screen-sm-min - 1) !default; -$screen-sm-max: ($screen-md-min - 1) !default; -$screen-md-max: ($screen-lg-min - 1) !default; - - -//== Grid system -// -//## Define your custom responsive grid. - -//** Number of columns in the grid. -$grid-columns: 12 !default; -//** Padding between columns. Gets divided in half for the left and right. -$grid-gutter-width: 30px !default; -// Navbar collapse -//** Point at which the navbar becomes uncollapsed. -$grid-float-breakpoint: $screen-sm-min !default; -//** Point at which the navbar begins collapsing. -$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default; - - -//== Container sizes -// -//## Define the maximum width of `.container` for different screen sizes. - -// Small screen / tablet -$container-tablet: (720px + $grid-gutter-width) !default; -//** For `$screen-sm-min` and up. -$container-sm: $container-tablet !default; - -// Medium screen / desktop -$container-desktop: (940px + $grid-gutter-width) !default; -//** For `$screen-md-min` and up. -$container-md: $container-desktop !default; - -// Large screen / wide desktop -$container-large-desktop: (1140px + $grid-gutter-width) !default; -//** For `$screen-lg-min` and up. -$container-lg: $container-large-desktop !default; - - -//== Navbar -// -//## - -// Basics of a navbar -$navbar-height: 50px !default; -$navbar-margin-bottom: $line-height-computed !default; -$navbar-border-radius: $border-radius-base !default; -$navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default; -$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default; -$navbar-collapse-max-height: 340px !default; - -$navbar-default-color: #777 !default; -$navbar-default-bg: #f8f8f8 !default; -$navbar-default-border: darken($navbar-default-bg, 6.5%) !default; - -// Navbar links -$navbar-default-link-color: #777 !default; -$navbar-default-link-hover-color: #333 !default; -$navbar-default-link-hover-bg: transparent !default; -$navbar-default-link-active-color: #555 !default; -$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default; -$navbar-default-link-disabled-color: #ccc !default; -$navbar-default-link-disabled-bg: transparent !default; - -// Navbar brand label -$navbar-default-brand-color: $navbar-default-link-color !default; -$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default; -$navbar-default-brand-hover-bg: transparent !default; - -// Navbar toggle -$navbar-default-toggle-hover-bg: #ddd !default; -$navbar-default-toggle-icon-bar-bg: #888 !default; -$navbar-default-toggle-border-color: #ddd !default; - - -//=== Inverted navbar -// Reset inverted navbar basics -$navbar-inverse-color: lighten($gray-light, 15%) !default; -$navbar-inverse-bg: #222 !default; -$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default; - -// Inverted navbar links -$navbar-inverse-link-color: lighten($gray-light, 15%) !default; -$navbar-inverse-link-hover-color: #fff !default; -$navbar-inverse-link-hover-bg: transparent !default; -$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default; -$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default; -$navbar-inverse-link-disabled-color: #444 !default; -$navbar-inverse-link-disabled-bg: transparent !default; - -// Inverted navbar brand label -$navbar-inverse-brand-color: $navbar-inverse-link-color !default; -$navbar-inverse-brand-hover-color: #fff !default; -$navbar-inverse-brand-hover-bg: transparent !default; - -// Inverted navbar toggle -$navbar-inverse-toggle-hover-bg: #333 !default; -$navbar-inverse-toggle-icon-bar-bg: #fff !default; -$navbar-inverse-toggle-border-color: #333 !default; - - -//== Navs -// -//## - -//=== Shared nav styles -$nav-link-padding: 10px 15px !default; -$nav-link-hover-bg: $gray-lighter !default; - -$nav-disabled-link-color: $gray-light !default; -$nav-disabled-link-hover-color: $gray-light !default; - -//== Tabs -$nav-tabs-border-color: #ddd !default; - -$nav-tabs-link-hover-border-color: $gray-lighter !default; - -$nav-tabs-active-link-hover-bg: $body-bg !default; -$nav-tabs-active-link-hover-color: $gray !default; -$nav-tabs-active-link-hover-border-color: #ddd !default; - -$nav-tabs-justified-link-border-color: #ddd !default; -$nav-tabs-justified-active-link-border-color: $body-bg !default; - -//== Pills -$nav-pills-border-radius: $border-radius-base !default; -$nav-pills-active-link-hover-bg: $component-active-bg !default; -$nav-pills-active-link-hover-color: $component-active-color !default; - - -//== Pagination -// -//## - -$pagination-color: $link-color !default; -$pagination-bg: #fff !default; -$pagination-border: #ddd !default; - -$pagination-hover-color: $link-hover-color !default; -$pagination-hover-bg: $gray-lighter !default; -$pagination-hover-border: #ddd !default; - -$pagination-active-color: #fff !default; -$pagination-active-bg: $brand-primary !default; -$pagination-active-border: $brand-primary !default; - -$pagination-disabled-color: $gray-light !default; -$pagination-disabled-bg: #fff !default; -$pagination-disabled-border: #ddd !default; - - -//== Pager -// -//## - -$pager-bg: $pagination-bg !default; -$pager-border: $pagination-border !default; -$pager-border-radius: 15px !default; - -$pager-hover-bg: $pagination-hover-bg !default; - -$pager-active-bg: $pagination-active-bg !default; -$pager-active-color: $pagination-active-color !default; - -$pager-disabled-color: $pagination-disabled-color !default; - - -//== Jumbotron -// -//## - -$jumbotron-padding: 30px !default; -$jumbotron-color: inherit !default; -$jumbotron-bg: $gray-lighter !default; -$jumbotron-heading-color: inherit !default; -$jumbotron-font-size: ceil(($font-size-base * 1.5)) !default; -$jumbotron-heading-font-size: ceil(($font-size-base * 4.5)) !default; - - -//== Form states and alerts -// -//## Define colors for form feedback states and, by default, alerts. - -$state-success-text: #3c763d !default; -$state-success-bg: #dff0d8 !default; -$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default; - -$state-info-text: #31708f !default; -$state-info-bg: #d9edf7 !default; -$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default; - -$state-warning-text: #8a6d3b !default; -$state-warning-bg: #fcf8e3 !default; -$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default; - -$state-danger-text: #a94442 !default; -$state-danger-bg: #f2dede !default; -$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default; - - -//== Tooltips -// -//## - -//** Tooltip max width -$tooltip-max-width: 200px !default; -//** Tooltip text color -$tooltip-color: #fff !default; -//** Tooltip background color -$tooltip-bg: #000 !default; -$tooltip-opacity: .9 !default; - -//** Tooltip arrow width -$tooltip-arrow-width: 5px !default; -//** Tooltip arrow color -$tooltip-arrow-color: $tooltip-bg !default; - - -//== Popovers -// -//## - -//** Popover body background color -$popover-bg: #fff !default; -//** Popover maximum width -$popover-max-width: 276px !default; -//** Popover border color -$popover-border-color: rgba(0,0,0,.2) !default; -//** Popover fallback border color -$popover-fallback-border-color: #ccc !default; - -//** Popover title background color -$popover-title-bg: darken($popover-bg, 3%) !default; - -//** Popover arrow width -$popover-arrow-width: 10px !default; -//** Popover arrow color -$popover-arrow-color: $popover-bg !default; - -//** Popover outer arrow width -$popover-arrow-outer-width: ($popover-arrow-width + 1) !default; -//** Popover outer arrow color -$popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default; -//** Popover outer arrow fallback color -$popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default; - - -//== Labels -// -//## - -//** Default label background color -$label-default-bg: $gray-light !default; -//** Primary label background color -$label-primary-bg: $brand-primary !default; -//** Success label background color -$label-success-bg: $brand-success !default; -//** Info label background color -$label-info-bg: $brand-info !default; -//** Warning label background color -$label-warning-bg: $brand-warning !default; -//** Danger label background color -$label-danger-bg: $brand-danger !default; - -//** Default label text color -$label-color: #fff !default; -//** Default text color of a linked label -$label-link-hover-color: #fff !default; - - -//== Modals -// -//## - -//** Padding applied to the modal body -$modal-inner-padding: 15px !default; - -//** Padding applied to the modal title -$modal-title-padding: 15px !default; -//** Modal title line-height -$modal-title-line-height: $line-height-base !default; - -//** Background color of modal content area -$modal-content-bg: #fff !default; -//** Modal content border color -$modal-content-border-color: rgba(0,0,0,.2) !default; -//** Modal content border color **for IE8** -$modal-content-fallback-border-color: #999 !default; - -//** Modal backdrop background color -$modal-backdrop-bg: #000 !default; -//** Modal backdrop opacity -$modal-backdrop-opacity: .5 !default; -//** Modal header border color -$modal-header-border-color: #e5e5e5 !default; -//** Modal footer border color -$modal-footer-border-color: $modal-header-border-color !default; - -$modal-lg: 900px !default; -$modal-md: 600px !default; -$modal-sm: 300px !default; - - -//== Alerts -// -//## Define alert colors, border radius, and padding. - -$alert-padding: 15px !default; -$alert-border-radius: $border-radius-base !default; -$alert-link-font-weight: bold !default; - -$alert-success-bg: $state-success-bg !default; -$alert-success-text: $state-success-text !default; -$alert-success-border: $state-success-border !default; - -$alert-info-bg: $state-info-bg !default; -$alert-info-text: $state-info-text !default; -$alert-info-border: $state-info-border !default; - -$alert-warning-bg: $state-warning-bg !default; -$alert-warning-text: $state-warning-text !default; -$alert-warning-border: $state-warning-border !default; - -$alert-danger-bg: $state-danger-bg !default; -$alert-danger-text: $state-danger-text !default; -$alert-danger-border: $state-danger-border !default; - - -//== Progress bars -// -//## - -//** Background color of the whole progress component -$progress-bg: #f5f5f5 !default; -//** Progress bar text color -$progress-bar-color: #fff !default; -//** Variable for setting rounded corners on progress bar. -$progress-border-radius: $border-radius-base !default; - -//** Default progress bar color -$progress-bar-bg: $brand-primary !default; -//** Success progress bar color -$progress-bar-success-bg: $brand-success !default; -//** Warning progress bar color -$progress-bar-warning-bg: $brand-warning !default; -//** Danger progress bar color -$progress-bar-danger-bg: $brand-danger !default; -//** Info progress bar color -$progress-bar-info-bg: $brand-info !default; - - -//== List group -// -//## - -//** Background color on `.list-group-item` -$list-group-bg: #fff !default; -//** `.list-group-item` border color -$list-group-border: #ddd !default; -//** List group border radius -$list-group-border-radius: $border-radius-base !default; - -//** Background color of single list items on hover -$list-group-hover-bg: #f5f5f5 !default; -//** Text color of active list items -$list-group-active-color: $component-active-color !default; -//** Background color of active list items -$list-group-active-bg: $component-active-bg !default; -//** Border color of active list elements -$list-group-active-border: $list-group-active-bg !default; -//** Text color for content within active list items -$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default; - -//** Text color of disabled list items -$list-group-disabled-color: $gray-light !default; -//** Background color of disabled list items -$list-group-disabled-bg: $gray-lighter !default; -//** Text color for content within disabled list items -$list-group-disabled-text-color: $list-group-disabled-color !default; - -$list-group-link-color: #555 !default; -$list-group-link-hover-color: $list-group-link-color !default; -$list-group-link-heading-color: #333 !default; - - -//== Panels -// -//## - -$panel-bg: #fff !default; -$panel-body-padding: 15px !default; -$panel-heading-padding: 10px 15px !default; -$panel-footer-padding: $panel-heading-padding !default; -$panel-border-radius: $border-radius-base !default; - -//** Border color for elements within panels -$panel-inner-border: #ddd !default; -$panel-footer-bg: #f5f5f5 !default; - -$panel-default-text: $gray-dark !default; -$panel-default-border: #ddd !default; -$panel-default-heading-bg: #f5f5f5 !default; - -$panel-primary-text: #fff !default; -$panel-primary-border: $brand-primary !default; -$panel-primary-heading-bg: $brand-primary !default; - -$panel-success-text: $state-success-text !default; -$panel-success-border: $state-success-border !default; -$panel-success-heading-bg: $state-success-bg !default; - -$panel-info-text: $state-info-text !default; -$panel-info-border: $state-info-border !default; -$panel-info-heading-bg: $state-info-bg !default; - -$panel-warning-text: $state-warning-text !default; -$panel-warning-border: $state-warning-border !default; -$panel-warning-heading-bg: $state-warning-bg !default; - -$panel-danger-text: $state-danger-text !default; -$panel-danger-border: $state-danger-border !default; -$panel-danger-heading-bg: $state-danger-bg !default; - - -//== Thumbnails -// -//## - -//** Padding around the thumbnail image -$thumbnail-padding: 4px !default; -//** Thumbnail background color -$thumbnail-bg: $body-bg !default; -//** Thumbnail border color -$thumbnail-border: #ddd !default; -//** Thumbnail border radius -$thumbnail-border-radius: $border-radius-base !default; - -//** Custom text color for thumbnail captions -$thumbnail-caption-color: $text-color !default; -//** Padding around the thumbnail caption -$thumbnail-caption-padding: 9px !default; - - -//== Wells -// -//## - -$well-bg: #f5f5f5 !default; -$well-border: darken($well-bg, 7%) !default; - - -//== Badges -// -//## - -$badge-color: #fff !default; -//** Linked badge text color on hover -$badge-link-hover-color: #fff !default; -$badge-bg: $gray-light !default; - -//** Badge text color in active nav link -$badge-active-color: $link-color !default; -//** Badge background color in active nav link -$badge-active-bg: #fff !default; - -$badge-font-weight: bold !default; -$badge-line-height: 1 !default; -$badge-border-radius: 10px !default; - - -//== Breadcrumbs -// -//## - -$breadcrumb-padding-vertical: 8px !default; -$breadcrumb-padding-horizontal: 15px !default; -//** Breadcrumb background color -$breadcrumb-bg: #f5f5f5 !default; -//** Breadcrumb text color -$breadcrumb-color: #ccc !default; -//** Text color of current page in the breadcrumb -$breadcrumb-active-color: $gray-light !default; -//** Textual separator for between breadcrumb elements -$breadcrumb-separator: "/" !default; - - -//== Carousel -// -//## - -$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default; - -$carousel-control-color: #fff !default; -$carousel-control-width: 15% !default; -$carousel-control-opacity: .5 !default; -$carousel-control-font-size: 20px !default; - -$carousel-indicator-active-bg: #fff !default; -$carousel-indicator-border-color: #fff !default; - -$carousel-caption-color: #fff !default; - - -//== Close -// -//## - -$close-font-weight: bold !default; -$close-color: #000 !default; -$close-text-shadow: 0 1px 0 #fff !default; - - -//== Code -// -//## - -$code-color: #c7254e !default; -$code-bg: #f9f2f4 !default; - -$kbd-color: #fff !default; -$kbd-bg: #333 !default; - -$pre-bg: #f5f5f5 !default; -$pre-color: $gray-dark !default; -$pre-border-color: #ccc !default; -$pre-scrollable-max-height: 340px !default; - - -//== Type -// -//## - -//** Horizontal offset for forms and lists. -$component-offset-horizontal: 180px !default; -//** Text muted color -$text-muted: $gray-light !default; -//** Abbreviations and acronyms border color -$abbr-border-color: $gray-light !default; -//** Headings small color -$headings-small-color: $gray-light !default; -//** Blockquote small color -$blockquote-small-color: $gray-light !default; -//** Blockquote font size -$blockquote-font-size: ($font-size-base * 1.25) !default; -//** Blockquote border color -$blockquote-border-color: $gray-lighter !default; -//** Page header border color -$page-header-border-color: $gray-lighter !default; -//** Width of horizontal description list titles -$dl-horizontal-offset: $component-offset-horizontal !default; -//** Point at which .dl-horizontal becomes horizontal -$dl-horizontal-breakpoint: $grid-float-breakpoint !default; -//** Horizontal line color. -$hr-border: $gray-lighter !default; diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_wells.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_wells.scss deleted file mode 100644 index b8657118..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/_wells.scss +++ /dev/null @@ -1,29 +0,0 @@ -// -// Wells -// -------------------------------------------------- - - -// Base class -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: $well-bg; - border: 1px solid $well-border; - border-radius: $border-radius-base; - @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); - blockquote { - border-color: #ddd; - border-color: rgba(0,0,0,.15); - } -} - -// Sizes -.well-lg { - padding: 24px; - border-radius: $border-radius-large; -} -.well-sm { - padding: 9px; - border-radius: $border-radius-small; -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_alerts.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_alerts.scss deleted file mode 100644 index 3faf0b5a..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_alerts.scss +++ /dev/null @@ -1,14 +0,0 @@ -// Alerts - -@mixin alert-variant($background, $border, $text-color) { - background-color: $background; - border-color: $border; - color: $text-color; - - hr { - border-top-color: darken($border, 5%); - } - .alert-link { - color: darken($text-color, 10%); - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_background-variant.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_background-variant.scss deleted file mode 100644 index 4c7769e1..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_background-variant.scss +++ /dev/null @@ -1,12 +0,0 @@ -// Contextual backgrounds - -// [converter] $parent hack -@mixin bg-variant($parent, $color) { - #{$parent} { - background-color: $color; - } - a#{$parent}:hover, - a#{$parent}:focus { - background-color: darken($color, 10%); - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_border-radius.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_border-radius.scss deleted file mode 100644 index ce194998..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_border-radius.scss +++ /dev/null @@ -1,18 +0,0 @@ -// Single side border-radius - -@mixin border-top-radius($radius) { - border-top-right-radius: $radius; - border-top-left-radius: $radius; -} -@mixin border-right-radius($radius) { - border-bottom-right-radius: $radius; - border-top-right-radius: $radius; -} -@mixin border-bottom-radius($radius) { - border-bottom-right-radius: $radius; - border-bottom-left-radius: $radius; -} -@mixin border-left-radius($radius) { - border-bottom-left-radius: $radius; - border-top-left-radius: $radius; -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_buttons.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_buttons.scss deleted file mode 100644 index b93f84b2..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_buttons.scss +++ /dev/null @@ -1,65 +0,0 @@ -// Button variants -// -// Easily pump out default styles, as well as :hover, :focus, :active, -// and disabled options for all buttons - -@mixin button-variant($color, $background, $border) { - color: $color; - background-color: $background; - border-color: $border; - - &:focus, - &.focus { - color: $color; - background-color: darken($background, 10%); - border-color: darken($border, 25%); - } - &:hover { - color: $color; - background-color: darken($background, 10%); - border-color: darken($border, 12%); - } - &:active, - &.active, - .open > &.dropdown-toggle { - color: $color; - background-color: darken($background, 10%); - border-color: darken($border, 12%); - - &:hover, - &:focus, - &.focus { - color: $color; - background-color: darken($background, 17%); - border-color: darken($border, 25%); - } - } - &:active, - &.active, - .open > &.dropdown-toggle { - background-image: none; - } - &.disabled, - &[disabled], - fieldset[disabled] & { - &:hover, - &:focus, - &.focus { - background-color: $background; - border-color: $border; - } - } - - .badge { - color: $background; - background-color: $color; - } -} - -// Button sizes -@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) { - padding: $padding-vertical $padding-horizontal; - font-size: $font-size; - line-height: $line-height; - border-radius: $border-radius; -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_center-block.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_center-block.scss deleted file mode 100644 index e06fb5e2..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_center-block.scss +++ /dev/null @@ -1,7 +0,0 @@ -// Center-align a block level element - -@mixin center-block() { - display: block; - margin-left: auto; - margin-right: auto; -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_clearfix.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_clearfix.scss deleted file mode 100644 index dc3e2ab4..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_clearfix.scss +++ /dev/null @@ -1,22 +0,0 @@ -// Clearfix -// -// For modern browsers -// 1. The space content is one way to avoid an Opera bug when the -// contenteditable attribute is included anywhere else in the document. -// Otherwise it causes space to appear at the top and bottom of elements -// that are clearfixed. -// 2. The use of `table` rather than `block` is only necessary if using -// `:before` to contain the top-margins of child elements. -// -// Source: http://nicolasgallagher.com/micro-clearfix-hack/ - -@mixin clearfix() { - &:before, - &:after { - content: " "; // 1 - display: table; // 2 - } - &:after { - clear: both; - } -} diff --git a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_forms.scss b/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_forms.scss deleted file mode 100644 index 277aa5f8..00000000 --- a/public/assets/vendor/select2/docs/_sass/vendor/bootstrap/mixins/_forms.scss +++ /dev/null @@ -1,88 +0,0 @@ -// Form validation states -// -// Used in forms.less to generate the form validation CSS for warnings, errors, -// and successes. - -@mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) { - // Color the label and help text - .help-block, - .control-label, - .radio, - .checkbox, - .radio-inline, - .checkbox-inline, - &.radio label, - &.checkbox label, - &.radio-inline label, - &.checkbox-inline label { - color: $text-color; - } - // Set the border and box shadow on specific inputs to match - .form-control { - border-color: $border-color; - @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work - &:focus { - border-color: darken($border-color, 10%); - $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%); - @include box-shadow($shadow); - } - } - // Set validation states also for addons - .input-group-addon { - color: $text-color; - border-color: $border-color; - background-color: $background-color; - } - // Optional feedback icon - .form-control-feedback { - color: $text-color; - } -} - - -// Form control focus state -// -// Generate a customized focus state and for any input with the specified color, -// which defaults to the `$input-border-focus` variable. -// -// We highly encourage you to not customize the default value, but instead use -// this to tweak colors on an as-needed basis. This aesthetic change is based on -// WebKit's default styles, but applicable to a wider range of browsers. Its -// usability and accessibility should be taken into account with any change. -// -// Example usage: change the default blue border and shadow to white for better -// contrast against a dark gray background. -@mixin form-control-focus($color: $input-border-focus) { - $color-rgba: rgba(red($color), green($color), blue($color), .6); - &:focus { - border-color: $color; - outline: 0; - @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba); - } -} - -// Form control sizing -// -// Relative text size, padding, and border-radii changes for form controls. For -// horizontal sizing, wrap controls in the predefined grid classes. ` -{% endhighlight %} - -

- It will need to be recreated as a <select> element with - some <option> tags that have value - attributes that match the old value. -

- -{% highlight html linenos %} - -{% endhighlight %} - -

- The options that you create should have selected="selected" - set so Select2 and the browser knows that they should be selected. The - value attribute of the option should also be set to the value - that will be returned from the server for the result, so Select2 can - highlight it as selected in the dropdown. The text within the option - should also reflect the value that should be displayed by default for the - option. -

- -

Advanced matching of searches

- -

- In past versions of Select2, when matching search terms to individual - options, which limited the control that you had when displaying results, - especially in cases where there was nested data. The matcher - function was only given the individual option, even if it was a nested - options, without any context. -

- -

- With the new matcher function, only the root-level options are matched and - matchers are expected to limit the results of any children options that - they contain. This allows developers to customize how options within - groups can be displayed, and modify how the results are returned. -

- -

- A function has been created that allows old-style matcher functions to be - converted to the new style. You can retrieve the function from the - select2/compat/matcher module, which should just wrap the old - matcher function. -

- -

- So if your old code used a matcher that only displayed options if they - started with the term that was entered, it would look something like… -

- -{% highlight js linenos %} -function matchStart (term, text) { - if (text.toUpperCase().indexOf(term.toUpperCase()) == 0) { - return true; - } - - return false; -} - -$("select").select2({ - matcher: matchStart -}) -{% endhighlight %} - -

- Then in Select2 4.0, you would need to wrap the matchStart - method (or the name of the matcher you created) with a - oldMatcher method that we have created. -

- -{% highlight js linenos %} -function matchStart (term, text) { - if (text.toUpperCase().indexOf(term.toUpperCase()) == 0) { - return true; - } - - return false; -} - -$.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) { - $("select").select2({ - matcher: oldMatcher(matchStart) - }) -}); -{% endhighlight %} - -

- This will work for any matchers that only took in the search term and the - text of the option as parameters. If your matcher relied on the third - parameter containing the jQuery element representing the original - <option> tag, then you may need to slightly change - your matcher to expect the full JavaScript data object being passed in - instead. You can still retrieve the jQuery element from the data object - using the data.element property. -

- -

More flexible placeholders

- -

- In the most recent versions of Select2, placeholders could only be - applied to the first (typically the default) option in a - <select> if it was blank. The - placeholderOption option was added to Select2 to allow users - using the select tag to select a different option, typically - an automatically generated option with a different value. -

- -

- The placeholder option can now take an object as well as just - a string. This replaces the need for the old - placeholderOption, as now the id of the object - can be set to the value attribute of the - <option> tag. -

- -

- For a select that looks like the following, where the first option (with a - value of -1) is the placeholder option… -

- -{% highlight html linenos %} - -{% endhighlight %} - -

- You would have previously had to get the placeholder option through the - placeholderOption, but now you can do it through the - placeholder option by setting an id. -

- -{% highlight js linenos %} -$("select").select2({ - placeholder: { - id: "-1", - placeholder: "Select an option" - } -}) -{% endhighlight %} - -

- And Select2 will automatically display the placeholder when the value of - the select is -1, which it will be by default. This does not - break the old functionality of Select2 where the placeholder option was - blank by default. -

- -

Display reflects the actual order of the values

- -

- In past versions of Select2, choices were displayed in the order that - they were selected. In cases where Select2 was used on a - <select> element, the order that the server received - the selections did not always match the order that the choices were - displayed, resulting in confusion in situations where the order is - important. -

- -

- Select2 will now order selected choices in the same order that will be - sent to the server. -

- -

Changed method and option names

- -

- When designing the future option set for Select2 4.0, special care was - taken to ensure that the most commonly used options were brought over. - For the most part, the commonly used options of Select2 can still be - referenced under their previous names, but there were some changes which - have been noted. -

- -

- Removed the requirement of initSelection -

- -

- In the past, whenever you wanted to use a custom data adapter, such as - AJAX or tagging, you needed to help Select2 out in determining the initial - values that were selected. This was typically done through the - initSelection option, which took the underlying data of the - input and converted it into data objects that Select2 could use. -

- -

- This is now handled by - the data adapter in the - current method, which allows Select2 to convert the currently - selected values into data objects that can be displayed. The default - implementation converts the text and value of option elements - into data objects, and is probably suitable for most cases. An example of - the old initSelection option is included below, which - converts the value of the selected options into a data object with both - the id and text matching the selected value. -

- -{% highlight js linenos %} -{ - initSelection : function (element, callback) { - var data = []; - $(element.val()).each(function () { - data.push({id: this, text: this}); - }); - callback(data); - } -} -{% endhighlight %} - -

- When using the new current method of the custom data adapter, - this method is called any time Select2 needs a list of - the currently selected options. This is different from the old - initSelection in that it was only called once, so it could - suffer from being relatively slow to process the data (such as from a - remote data source). -

- -{% highlight js linenos %} -$.fn.select2.amd.require([ - 'select2/data/array', - 'select2/utils' -], function (ArrayData, Utils) { - function CustomData ($element, options) { - CustomData.__super__.constructor.call(this, $element, options); - } - - Utils.Extend(CustomData, ArrayData); - - CustomData.prototype.current = function (callback) { - var data = []; - var currentVal = this.$element.val(); - - if (!this.$element.prop('multiple')) { - currentVal = [currentVal]; - } - - for (var v = 0; v < currentVal.length; v++) { - data.push({ - id: currentVal[v], - text: currentVal[v] - }); - } - - callback(data); - }; - - $("#select").select2({ - dataAdapter: CustomData - }); -} -{% endhighlight %} - -

- The new current method of the data adapter works in a similar - way to the old initSelection method, with three notable - differences. The first, and most important, is that it is called - whenever the current selections are needed to ensure that Select2 - is always displaying the most accurate and up to date data. No matter - what type of element Select2 is attached to, whether it supports a - single or multiple selections, the data passed to the callback - must be an array, even if it contains one selection. - The last is that there is only one parameter, the callback to be - executed with the latest data, and the current element that Select2 is - attached to is available on the class itself as - this.$element. -

- -

- If you only need to load in the initial options once, and otherwise will - be letting Select2 handle the state of the selections, you don't need to - use a custom data adapter. You can just create the - <option> tags on your own, and Select2 will pick up - the changes. -

- -{% highlight js linenos %} -var $element = $('select').select2(); // the select element you are working with - -var $request = $.ajax({ - url: '/my/remote/source' // wherever your data is actually coming from -}); - -$request.then(function (data) { - // This assumes that the data comes back as an array of data objects - // The idea is that you are using the same callback as the old `initSelection` - - for (var d = 0; d < data.length; d++) { - var item = data[d]; - - // Create the DOM option that is pre-selected by default - var option = new Option(item.text, item.id, true, true); - - // Append it to the select - $element.append(option); - } - - // Update the selected options that are displayed - $element.trigger('change'); -}); -{% endhighlight %} - -

- Custom data adapters instead of query -

- -

- In the past, any time - you wanted to hook Select2 up to a different data source you would be - required to implement custom query and - initSelection methods. This allowed Select2 to determine the - initial selection and the list of results to display, and it would handle - everything else internally, which was fine more most people. -

- -

- The custom query and initSelection methods have - been replaced by - custom data adapters that handle - how Select2 stores and retrieves the data that will be displayed to the - user. An example of the old query option is provided below, - which is - the same as the old example, - and it generates results that contain the search term repeated a certain - number of times. -

- -{% highlight js linenos %} -{ - query: function (query) { - var data = {results: []}, i, j, s; - for (i = 1; i < 5; i++) { - s = ""; - for (j = 0; j < i; j++) {s = s + query.term;} - data.results.push({id: query.term + i, text: s}); - } - query.callback(data); - } -} -{% endhighlight %} - -

- This has been replaced by custom data adapters which define a similarly - named query method. The comparable data adapter is provided - below as an example. -

- -{% highlight js linenos %} -$.fn.select2.amd.require([ - 'select2/data/array', - 'select2/utils' -], function (ArrayData, Utils) { - function CustomData ($element, options) { - CustomData.__super__.constructor.call(this, $element, options); - } - - Utils.Extend(CustomData, ArrayData); - - CustomData.prototype.query = function (params, callback) { - var data = { - results: [] - }; - - for (var i = 1; i < 5; i++) { - var s = ""; - - for (var j = 0; j < i; j++) { - s = s + params.term; - } - - data.results.push({ - id: params.term + i, - text: s - }); - } - - callback(data); - }; - - $("#select").select2({ - dataAdapter: CustomData - }); -} -{% endhighlight %} - -

- The new query method of the data adapter is very similar to - the old query option that was passed into Select2 when - initializing it. The old query argument is mostly the same as - the new params that are passed in to query on, and the - callback that should be used to return the results is now passed in as the - second parameter. -

- -

Renamed templating options

- -

- Select2 previously provided multiple options for formatting the results - list and selected options, commonly referred to as "formatters", using the - formatSelection and formatResult options. As the - "formatters" were also used for things such as localization, - which has also changed, they have been - renamed to templateSelection and templateResult - and their signatures have changed as well. -

- -

- You should refer to the updated - documentation on templates when - migrating from previous versions of Select2. -

- -

- The id and text properties are strictly enforced -

- -

- When working with array and AJAX data in the past, Select2 allowed a - custom id function or attribute to be set in various places, - ranging from the initialization of Select2 to when the remote data was - being returned. This allowed Select2 to better integrate with existing - data sources that did not necessarily use the id attribute to - indicate the unique identifier for an object. -

- -

- Select2 no longer supports a custom id or text - to be used, but provides integration points for converting incorrect data - to the expected format. -

- -

- When working with array data -

- -

- Select2 previously supported defining array data as an object that matched - the signature of an AJAX response. A text property could be - specified that would map the given property to the text - property on the individual objects. You can now do this when initializing - Select2 by using the following jQuery code to map the old - text and id properties to the new ones. -

- -{% highlight js linenos %} -var data = $.map([ - { - pk: 1, - word: 'one' - }, - { - pk: 2, - word: 'two' - } -], function (obj) { - obj.id = obj.id || obj.pk; - obj.text = obj.text || obj.word; - - return obj; -}); -{% endhighlight %} - -

- This will result in an array of data objects that have the id - properties that match the existing pk properties and - text properties that match the existing word - properties. -

- -

- When working with remote data -

- -

- The same code that was given above can be used in the - processResults method of an AJAX call to map properties there - as well. -

- -

Renamed translation options

- -

- In previous versions of Select2, the default messages provided to users - could be localized to fit the language of the website that it was being - used on. Select2 only comes with the English language by default, but - provides - community-contributed translations for - many common languages. Many of the formatters have been moved to the - language option and the signatures of the formatters have - been changed to handle future additions. -

- -

- Declaring options using data-* attributes -

- -

- In the past, Select2 has only supported declaring a subset of options - using data-* attributes. Select2 now supports declaring all - options using the attributes, using - the format specified in the documentation. -

- -

- You could previously declare the URL that was used for AJAX requests using - the data-ajax-url attribute. While Select2 still allows for - this, the new attribute that should be used is the - data-ajax--url attribute. Support for the old attribute will - be removed in Select2 4.1. -

- -

- Although it was not documented, a list of possible tags could also be - provided using the data-select2-tags attribute and passing in - a JSON-formatted array of objects for tags. As the method for specifying - tags has changed in 4.0, you should now provide the array of objects using - the data-data attribute, which maps to - the array data option. You should also - enable tags by setting data-tags="true" on the object, to - maintain the ability for users to create their own options as well. -

- -

- If you previously declared the list of tags as… -

- -{% highlight html linenos %} - -{% endhighlight %} - -

- …then you should now declare it as… -

- -{% highlight html linenos %} - -{% endhighlight %} - -

Deprecated and removed methods

- -

- As Select2 now uses a <select> element for all data - sources, a few methods that were available by calling - .select2() are no longer required. -

- -

.select2("val")

- -

- The "val" method has been deprecated and will be removed in - Select2 4.1. The deprecated method no longer includes the - triggerChange parameter. -

- -

- You should directly call .val on the underlying - <select> element instead. If you needed the second - parameter (triggerChange), you should also call - .trigger("change") on the element. -

- -{% highlight js linenos %} -$("select").val("1").trigger("change"); // instead of $("select").select2("val", "1"); -{% endhighlight %} - -

.select2("enable")

- -

- Select2 will respect the disabled property of the underlying - select element. In order to enable or disable Select2, you should call - .prop('disabled', true/false) on the - <select> element. Support for the old methods will be - completely removed in Select2 4.1. -

- -{% highlight js linenos %} -$("select").prop("disabled", true); // instead of $("select").enable(false); -{% endhighlight %} - - -
- -
- \ No newline at end of file diff --git a/public/assets/vendor/select2/docs/browserconfig.xml b/public/assets/vendor/select2/docs/browserconfig.xml deleted file mode 100644 index beca4f5f..00000000 --- a/public/assets/vendor/select2/docs/browserconfig.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - #da532c - - - diff --git a/public/assets/vendor/select2/docs/community.html b/public/assets/vendor/select2/docs/community.html deleted file mode 100644 index 54830af0..00000000 --- a/public/assets/vendor/select2/docs/community.html +++ /dev/null @@ -1,154 +0,0 @@ ---- -layout: default -title: Community - Select2 -slug: community ---- - -
-
-

- Community -

-

- Select2 has an active community that enjoys helping each other out. -

-
-
- -
-
- - -

- Having trouble getting Select2 working on your website? Is it not working - together with another plugin, even though you think it should? Select2 has a - few communities that you can go to for help getting it all working together. -

- -
    -
  1. - Try sending a message to the - - Select2 discussion group - - or searching the archives. -
  2. -
  3. - Ask in the #select2 channel on - chat.freenode.net or use the - - web irc client. - -
  4. -
  5. - Raise a question on - Stack Overflow, - make sure to include the - - "jquery-select2" - - tag. -
  6. -
-
- -
- - -

- Found a problem with Select2? Feel free to open a ticket on the Select2 - repository on GitHub, but you should keep a few things in mind: -

- -
    -
  1. - Use the - - GitHub issue search - - to check if your issue has already been reported. -
  2. -
  3. - Try to isolate your problem as much as possible, so we can easily test if - the issue has been fixed. -
  4. -
  5. - Once you are sure the issue is with Select2, and not a third party - library, - - submit a ticket - - to the repository. -
  6. -
- -

- You can find more information on reporting bugs in the - - contributing guide, - - including tips on what information to include. -

-
- -
- - -

- New feature requests are usually requested by the - - Select2 community on GitHub, - - and are often fulfilled by - - fellow contributors. - -

- -
    -
  1. - Use the - - GitHub issue search - - to check if your feature has already been requested. -
  2. -
  3. - Check if it hasn't already been implemented as a - - third party plugin. - -
  4. -
  5. - Please make sure you are only requesting a single feature, and not a - collection of smaller features. -
  6. -
- -

- You can find more information on requesting new features in the - - contributing guide. - -

-
- -
- - -

- You can find more information on getting involved with Select2 in the - - contributing guide. - -

-
-
diff --git a/public/assets/vendor/select2/docs/css/bootstrap.scss b/public/assets/vendor/select2/docs/css/bootstrap.scss deleted file mode 100644 index 83fc0c7b..00000000 --- a/public/assets/vendor/select2/docs/css/bootstrap.scss +++ /dev/null @@ -1,51 +0,0 @@ ---- ---- - -/*! - * Bootstrap v3.3.6 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -// Core variables and mixins -@import "vendor/bootstrap/variables"; -@import "vendor/bootstrap/mixins"; - -// Reset and dependencies -@import "vendor/bootstrap/normalize"; -@import "vendor/bootstrap/print"; - -// Core CSS -@import "vendor/bootstrap/scaffolding"; -@import "vendor/bootstrap/type"; -@import "vendor/bootstrap/code"; -@import "vendor/bootstrap/grid"; -@import "vendor/bootstrap/tables"; -@import "vendor/bootstrap/forms"; -@import "vendor/bootstrap/buttons"; - -// Components -@import "vendor/bootstrap/component-animations"; -@import "vendor/bootstrap/dropdowns"; -@import "vendor/bootstrap/button-groups"; -@import "vendor/bootstrap/input-groups"; -@import "vendor/bootstrap/navs"; -@import "vendor/bootstrap/navbar"; -@import "vendor/bootstrap/breadcrumbs"; -@import "vendor/bootstrap/pagination"; -@import "vendor/bootstrap/pager"; -@import "vendor/bootstrap/labels"; -@import "vendor/bootstrap/badges"; -@import "vendor/bootstrap/jumbotron"; -@import "vendor/bootstrap/thumbnails"; -@import "vendor/bootstrap/alerts"; -@import "vendor/bootstrap/media"; -@import "vendor/bootstrap/list-group"; -@import "vendor/bootstrap/panels"; -@import "vendor/bootstrap/responsive-embed"; -@import "vendor/bootstrap/wells"; -@import "vendor/bootstrap/close"; - -// Utility classes -@import "vendor/bootstrap/utilities"; -@import "vendor/bootstrap/responsive-utilities"; diff --git a/public/assets/vendor/select2/docs/css/font-awesome.scss b/public/assets/vendor/select2/docs/css/font-awesome.scss deleted file mode 100644 index d72cf940..00000000 --- a/public/assets/vendor/select2/docs/css/font-awesome.scss +++ /dev/null @@ -1,16 +0,0 @@ ---- ---- - -/*! - * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ - -$fa-font-path: "../vendor/fonts"; - -@import "vendor/font-awesome/variables"; -@import "vendor/font-awesome/mixins"; -@import "vendor/font-awesome/path"; -@import "vendor/font-awesome/core"; -@import "vendor/font-awesome/list"; -@import "vendor/font-awesome/icons"; diff --git a/public/assets/vendor/select2/docs/css/s2-docs.scss b/public/assets/vendor/select2/docs/css/s2-docs.scss deleted file mode 100644 index 6b66a37c..00000000 --- a/public/assets/vendor/select2/docs/css/s2-docs.scss +++ /dev/null @@ -1,24 +0,0 @@ ---- ---- - -@import "vendor/bootstrap/variables"; - -@import "result-repository"; -@import "sidenav"; -@import "hamburger"; -@import "code"; -@import "featurette"; -@import "layout"; -@import "nav"; -@import "footer"; -@import "alert"; -@import "home"; -@import "examples"; -@import "social"; -@import "buttons"; -@import "anchorjs"; -@import "jumbotron"; -@import "prettify"; -@import "syntax-highlighting"; -@import "typography"; -@import "dl-panels"; \ No newline at end of file diff --git a/public/assets/vendor/select2/docs/examples.html b/public/assets/vendor/select2/docs/examples.html deleted file mode 100644 index aeb329ba..00000000 --- a/public/assets/vendor/select2/docs/examples.html +++ /dev/null @@ -1,256 +0,0 @@ ---- -layout: default -title: Examples - Select2 -slug: examples ---- - - - - - - -
-
-

- Examples -

-
-
- -
-
-
- - {% include examples/basics.html %} - {% include examples/placeholders.html %} - {% include examples/data.html %} - {% include examples/disabled-mode.html %} - {% include examples/disabled-results.html %} - {% include examples/multiple-max.html %} - {% include examples/hide-search.html %} - {% include examples/programmatic-control.html %} - {% include examples/tags.html %} - {% include examples/tokenizer.html %} - {% include examples/matcher.html %} - {% include examples/localization-rtl-diacritics.html %} - {% include examples/themes-templating-responsive-design.html %} - -
- -
-
- -{% include js-source-states.html %} - - diff --git a/public/assets/vendor/select2/docs/images/android-chrome-36x36.png b/public/assets/vendor/select2/docs/images/android-chrome-36x36.png deleted file mode 100644 index 12a3dc6b..00000000 Binary files a/public/assets/vendor/select2/docs/images/android-chrome-36x36.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/android-chrome-48x48.png b/public/assets/vendor/select2/docs/images/android-chrome-48x48.png deleted file mode 100644 index 64aa46a4..00000000 Binary files a/public/assets/vendor/select2/docs/images/android-chrome-48x48.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/android-chrome-72x72.png b/public/assets/vendor/select2/docs/images/android-chrome-72x72.png deleted file mode 100644 index 2c2c829b..00000000 Binary files a/public/assets/vendor/select2/docs/images/android-chrome-72x72.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/apple-touch-icon-57x57.png b/public/assets/vendor/select2/docs/images/apple-touch-icon-57x57.png deleted file mode 100644 index ae24323d..00000000 Binary files a/public/assets/vendor/select2/docs/images/apple-touch-icon-57x57.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/apple-touch-icon-60x60.png b/public/assets/vendor/select2/docs/images/apple-touch-icon-60x60.png deleted file mode 100644 index e3f8d21f..00000000 Binary files a/public/assets/vendor/select2/docs/images/apple-touch-icon-60x60.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/apple-touch-icon-72x72.png b/public/assets/vendor/select2/docs/images/apple-touch-icon-72x72.png deleted file mode 100644 index e5399209..00000000 Binary files a/public/assets/vendor/select2/docs/images/apple-touch-icon-72x72.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/apple-touch-icon-precomposed.png b/public/assets/vendor/select2/docs/images/apple-touch-icon-precomposed.png deleted file mode 100644 index 31b912e7..00000000 Binary files a/public/assets/vendor/select2/docs/images/apple-touch-icon-precomposed.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/apple-touch-icon.png b/public/assets/vendor/select2/docs/images/apple-touch-icon.png deleted file mode 100644 index e5399209..00000000 Binary files a/public/assets/vendor/select2/docs/images/apple-touch-icon.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/favicon-16x16.png b/public/assets/vendor/select2/docs/images/favicon-16x16.png deleted file mode 100644 index ab60a1d1..00000000 Binary files a/public/assets/vendor/select2/docs/images/favicon-16x16.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/favicon-32x32.png b/public/assets/vendor/select2/docs/images/favicon-32x32.png deleted file mode 100644 index 5319e04a..00000000 Binary files a/public/assets/vendor/select2/docs/images/favicon-32x32.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/favicon.ico b/public/assets/vendor/select2/docs/images/favicon.ico deleted file mode 100644 index 91dcfd50..00000000 Binary files a/public/assets/vendor/select2/docs/images/favicon.ico and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/logo.png b/public/assets/vendor/select2/docs/images/logo.png deleted file mode 100644 index 8de094fc..00000000 Binary files a/public/assets/vendor/select2/docs/images/logo.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/manifest.json b/public/assets/vendor/select2/docs/images/manifest.json deleted file mode 100644 index 99bc8aa4..00000000 --- a/public/assets/vendor/select2/docs/images/manifest.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "Select2", - "icons": [ - { - "src": "\/images\/android-chrome-36x36.png?v=699Nxpjr2A", - "sizes": "36x36", - "type": "image\/png", - "density": 0.75 - }, - { - "src": "\/images\/android-chrome-48x48.png?v=699Nxpjr2A", - "sizes": "48x48", - "type": "image\/png", - "density": 1 - }, - { - "src": "\/images\/android-chrome-72x72.png?v=699Nxpjr2A", - "sizes": "72x72", - "type": "image\/png", - "density": 1.5 - } - ] -} diff --git a/public/assets/vendor/select2/docs/images/mstile-150x150.png b/public/assets/vendor/select2/docs/images/mstile-150x150.png deleted file mode 100644 index 9dede7da..00000000 Binary files a/public/assets/vendor/select2/docs/images/mstile-150x150.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/mstile-310x150.png b/public/assets/vendor/select2/docs/images/mstile-310x150.png deleted file mode 100644 index a266af2e..00000000 Binary files a/public/assets/vendor/select2/docs/images/mstile-310x150.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/mstile-70x70.png b/public/assets/vendor/select2/docs/images/mstile-70x70.png deleted file mode 100644 index f2efb68c..00000000 Binary files a/public/assets/vendor/select2/docs/images/mstile-70x70.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/images/safari-pinned-tab.svg b/public/assets/vendor/select2/docs/images/safari-pinned-tab.svg deleted file mode 100644 index 700213c4..00000000 --- a/public/assets/vendor/select2/docs/images/safari-pinned-tab.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - -Created by potrace 1.11, written by Peter Selinger 2001-2013 - - - - - diff --git a/public/assets/vendor/select2/docs/index.html b/public/assets/vendor/select2/docs/index.html deleted file mode 100644 index accd1db9..00000000 --- a/public/assets/vendor/select2/docs/index.html +++ /dev/null @@ -1,237 +0,0 @@ ---- -layout: home -title: Select2 - The jQuery replacement for select boxes -slug: home ---- - -
-
-

Select2

-

- The jQuery replacement for select boxes -

-

- - Download Select2 - -

-

- Currently v4.0.3 -

-
-
- -{% include notice-previous.html %} - -
-
- Select2 gives you a customizable select box with support for searching, - tagging, remote data sets, infinite scrolling, and many other highly used - options. -
- -
- -
-
-
- -

In your language

-

- Select2 comes with support for - RTL environments, - searching with diacritics and - over 40 languages built-in. -

-
- -
- -

Remote data support

-

- Using AJAX you can efficiently - search large lists of items. -

-
- -
- -

Fits in with your theme

-

- Fully skinnable, CSS built with Sass and an - optional theme for Bootstrap 3. -

-
-
- -
-
- -

Fully extensible

-

- The plugin system - allows you to easily customize Select2 to work exactly how you want it - to. -

-
- -
- -

Dynamic item creation

-

- Allow users to type in a new option and - add it on the fly. -

-
- -
- -

Full browser support

-

Support for both modern and legacy browsers is built-in, even including Internet Explorer 8.

-
-
-
- -
- -
-

- Getting started with Select2 -

- -

- In order to use Select2, you must include the JavaScript and CSS file on - your website. You can get these files built for you from many different - locations. -

- -

- Using Select2 from a CDN -

- -

- Select2 is hosted on both the - cdnjs and - jsDelivr CDNs, allowing - you to quickly include Select2 on your website. -

- -
    -
  1. -

    - Include the following lines of code in the <head> - section of your HTML. -

    - -{% highlight html %} - - -{% endhighlight %} - -
    - - Immediately following a new release, it takes some time for CDNs to - catch up and get the new versions live on the CDN. -
    -
  2. -
  3. -

    - Initialize Select2 on the <select> element that you - want to make awesome. -

    - -{% highlight html %} - -{% endhighlight %} - -
  4. -
  5. - Check out the examples page to start using - the additional features of Select2. -
  6. -
- -

- Downloading the code locally -

- -

- In some situations, you can't use Select2 from a CDN and you must include - the files through your own static file servers. -

- -
    -
  1. -

    - - Download the code - - from GitHub and copy the dist directory to your project. -

    -
  2. -
  3. -

    - Include the following lines of code in the <head> - section of your HTML. -

    - -{% highlight html %} - - -{% endhighlight %} - -
  4. -
  5. - Check out the examples page to start using - the additional features of Select2. -
  6. -
-
- -
-

- The different Select2 builds -

- -

- Select2 provides multiple builds that are tailored to different - environments where it is going to be used. If you think you need to use - Select2 in a nonstandard environment, like when you are using AMD, you - should read over the list below. -

- - - - - - - - - - - - - - - - - - -
Build nameWhen you should use it
- Standard (select2.js / select2.min.js) - - This is the build that most people should be using for Select2. It - includes the most commonly used features. -
- Full (select2.full.js / select2.full.min.js) - - You should only use this build if you need the additional features - from Select2, like the - compatibility modules or - recommended includes like - jquery.mousewheel -
-
-
diff --git a/public/assets/vendor/select2/docs/options-old.html b/public/assets/vendor/select2/docs/options-old.html deleted file mode 100644 index 65690d18..00000000 --- a/public/assets/vendor/select2/docs/options-old.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: default -title: Options - Select2 -slug: options ---- - -
-
-

- Options -

-
-
- -
-
-
- - {% include options-old/core-options.html %} - {% include options-old/dropdown.html %} - {% include options-old/events.html %} - {% include options-old/adapters.html %} - {% include options-old/setting-default-options.html %} - {% include options-old/backwards-compatibility.html %} - -
- -
-
- - diff --git a/public/assets/vendor/select2/docs/options.html b/public/assets/vendor/select2/docs/options.html deleted file mode 100644 index 5670c1cf..00000000 --- a/public/assets/vendor/select2/docs/options.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: default -title: Options - Select2 -slug: options ---- - -
-
-

- Options -

-

- Select2 supports a wide variety of options that allow you to customize it to your needs. -

-
-
- -
-
-
- {% include options/introduction.html %} - {% include options/core.html %} - {% include options/data.html %} - {% include options/selections.html %} - {% include options/dropdown.html %} - {% include options/events.html %} - {% include options/compatibility.html %} -
- -
-
- - diff --git a/public/assets/vendor/select2/docs/vendor/fonts/FontAwesome.otf b/public/assets/vendor/select2/docs/vendor/fonts/FontAwesome.otf deleted file mode 100644 index 3ed7f8b4..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/fonts/FontAwesome.otf and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.eot b/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.eot deleted file mode 100644 index 9b6afaed..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.svg b/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.svg deleted file mode 100644 index d05688e9..00000000 --- a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,655 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.ttf b/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 26dea795..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.woff b/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.woff deleted file mode 100644 index dc35ce3c..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.woff2 b/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 500e5172..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ak.png b/public/assets/vendor/select2/docs/vendor/images/flags/ak.png deleted file mode 100755 index d79dc4fe..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ak.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/al.png b/public/assets/vendor/select2/docs/vendor/images/flags/al.png deleted file mode 100755 index a729794e..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/al.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ar.png b/public/assets/vendor/select2/docs/vendor/images/flags/ar.png deleted file mode 100755 index 6357a8f6..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ar.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/az.png b/public/assets/vendor/select2/docs/vendor/images/flags/az.png deleted file mode 100755 index b6d8aaea..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/az.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ca.png b/public/assets/vendor/select2/docs/vendor/images/flags/ca.png deleted file mode 100755 index 9d6d955f..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ca.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/co.png b/public/assets/vendor/select2/docs/vendor/images/flags/co.png deleted file mode 100755 index 888e8308..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/co.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ct.png b/public/assets/vendor/select2/docs/vendor/images/flags/ct.png deleted file mode 100755 index a953918a..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ct.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/de.png b/public/assets/vendor/select2/docs/vendor/images/flags/de.png deleted file mode 100755 index 1bfb3bad..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/de.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/fl.png b/public/assets/vendor/select2/docs/vendor/images/flags/fl.png deleted file mode 100755 index 199a2f16..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/fl.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ga.png b/public/assets/vendor/select2/docs/vendor/images/flags/ga.png deleted file mode 100755 index 03f52bb8..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ga.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/hi.png b/public/assets/vendor/select2/docs/vendor/images/flags/hi.png deleted file mode 100755 index 36de7a58..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/hi.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ia.png b/public/assets/vendor/select2/docs/vendor/images/flags/ia.png deleted file mode 100755 index c2c4cf0f..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ia.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/id.png b/public/assets/vendor/select2/docs/vendor/images/flags/id.png deleted file mode 100755 index bfbf897f..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/id.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/il.png b/public/assets/vendor/select2/docs/vendor/images/flags/il.png deleted file mode 100755 index 5c13e67a..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/il.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/in.png b/public/assets/vendor/select2/docs/vendor/images/flags/in.png deleted file mode 100755 index 5952580b..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/in.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ks.png b/public/assets/vendor/select2/docs/vendor/images/flags/ks.png deleted file mode 100755 index 9190b24d..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ks.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ky.png b/public/assets/vendor/select2/docs/vendor/images/flags/ky.png deleted file mode 100755 index 5c8d0cad..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ky.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/la.png b/public/assets/vendor/select2/docs/vendor/images/flags/la.png deleted file mode 100755 index 3f2c4785..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/la.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ma.png b/public/assets/vendor/select2/docs/vendor/images/flags/ma.png deleted file mode 100755 index a5020813..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ma.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/md.png b/public/assets/vendor/select2/docs/vendor/images/flags/md.png deleted file mode 100755 index 1717a264..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/md.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/me.png b/public/assets/vendor/select2/docs/vendor/images/flags/me.png deleted file mode 100755 index 7e696f3e..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/me.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/mi.png b/public/assets/vendor/select2/docs/vendor/images/flags/mi.png deleted file mode 100755 index 49494fcf..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/mi.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/mn.png b/public/assets/vendor/select2/docs/vendor/images/flags/mn.png deleted file mode 100755 index 602f36b3..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/mn.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/mo.png b/public/assets/vendor/select2/docs/vendor/images/flags/mo.png deleted file mode 100755 index 413ea1a6..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/mo.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ms.png b/public/assets/vendor/select2/docs/vendor/images/flags/ms.png deleted file mode 100755 index d3e4a1cd..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ms.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/mt.png b/public/assets/vendor/select2/docs/vendor/images/flags/mt.png deleted file mode 100755 index 6822acb9..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/mt.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/nc.png b/public/assets/vendor/select2/docs/vendor/images/flags/nc.png deleted file mode 100755 index 9555820d..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/nc.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/nd.png b/public/assets/vendor/select2/docs/vendor/images/flags/nd.png deleted file mode 100755 index 87e401cf..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/nd.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ne.png b/public/assets/vendor/select2/docs/vendor/images/flags/ne.png deleted file mode 100755 index a69e15fc..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ne.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/nh.png b/public/assets/vendor/select2/docs/vendor/images/flags/nh.png deleted file mode 100755 index d6ad1cb6..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/nh.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/nj.png b/public/assets/vendor/select2/docs/vendor/images/flags/nj.png deleted file mode 100755 index f2c64660..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/nj.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/nm.png b/public/assets/vendor/select2/docs/vendor/images/flags/nm.png deleted file mode 100755 index c2731811..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/nm.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/nv.png b/public/assets/vendor/select2/docs/vendor/images/flags/nv.png deleted file mode 100755 index 8f1a855d..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/nv.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ny.png b/public/assets/vendor/select2/docs/vendor/images/flags/ny.png deleted file mode 100755 index 794b86e3..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ny.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/oh.png b/public/assets/vendor/select2/docs/vendor/images/flags/oh.png deleted file mode 100755 index 08601a6d..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/oh.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ok.png b/public/assets/vendor/select2/docs/vendor/images/flags/ok.png deleted file mode 100755 index 543be913..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ok.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/or.png b/public/assets/vendor/select2/docs/vendor/images/flags/or.png deleted file mode 100755 index 846b4a69..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/or.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/pa.png b/public/assets/vendor/select2/docs/vendor/images/flags/pa.png deleted file mode 100755 index 55f6c0ff..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/pa.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ri.png b/public/assets/vendor/select2/docs/vendor/images/flags/ri.png deleted file mode 100755 index 5cece5db..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ri.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/sc.png b/public/assets/vendor/select2/docs/vendor/images/flags/sc.png deleted file mode 100755 index 9e393039..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/sc.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/sd.png b/public/assets/vendor/select2/docs/vendor/images/flags/sd.png deleted file mode 100755 index 154618f4..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/sd.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/tn.png b/public/assets/vendor/select2/docs/vendor/images/flags/tn.png deleted file mode 100755 index 321b48cb..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/tn.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/tx.png b/public/assets/vendor/select2/docs/vendor/images/flags/tx.png deleted file mode 100755 index 0914b319..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/tx.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/ut.png b/public/assets/vendor/select2/docs/vendor/images/flags/ut.png deleted file mode 100755 index 7a01ae63..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/ut.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/va.png b/public/assets/vendor/select2/docs/vendor/images/flags/va.png deleted file mode 100755 index ce58c015..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/va.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/vt.png b/public/assets/vendor/select2/docs/vendor/images/flags/vt.png deleted file mode 100755 index fe1b19fe..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/vt.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/wa.png b/public/assets/vendor/select2/docs/vendor/images/flags/wa.png deleted file mode 100755 index 0c0d8f0f..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/wa.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/wi.png b/public/assets/vendor/select2/docs/vendor/images/flags/wi.png deleted file mode 100755 index 2569f176..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/wi.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/wv.png b/public/assets/vendor/select2/docs/vendor/images/flags/wv.png deleted file mode 100755 index b4038996..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/wv.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/images/flags/wy.png b/public/assets/vendor/select2/docs/vendor/images/flags/wy.png deleted file mode 100755 index 82a453cc..00000000 Binary files a/public/assets/vendor/select2/docs/vendor/images/flags/wy.png and /dev/null differ diff --git a/public/assets/vendor/select2/docs/vendor/js/anchor.min.js b/public/assets/vendor/select2/docs/vendor/js/anchor.min.js deleted file mode 100755 index 68c3cb70..00000000 --- a/public/assets/vendor/select2/docs/vendor/js/anchor.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * AnchorJS - v1.1.1 - 2015-05-23 - * https://github.com/bryanbraun/anchorjs - * Copyright (c) 2015 Bryan Braun; Licensed MIT - */ -function AnchorJS(A){"use strict";this.options=A||{},this._applyRemainingDefaultOptions=function(A){this.options.icon=this.options.hasOwnProperty("icon")?A.icon:"",this.options.visible=this.options.hasOwnProperty("visible")?A.visible:"hover",this.options.placement=this.options.hasOwnProperty("placement")?A.placement:"right",this.options.class=this.options.hasOwnProperty("class")?A.class:""},this._applyRemainingDefaultOptions(A),this.add=function(A){var e,t,o,n,i,s,a,l,c,r,h,g,B,Q;if(this._applyRemainingDefaultOptions(this.options),A){if("string"!=typeof A)throw new Error("The selector provided to AnchorJS was invalid.")}else A="h1, h2, h3, h4, h5, h6";if(e=document.querySelectorAll(A),0===e.length)return!1;for(this._addBaselineStyles(),t=document.querySelectorAll("[id]"),o=[].map.call(t,function(A){return A.id}),i=0;i',B=document.createElement("div"),B.innerHTML=g,Q=B.childNodes,"always"===this.options.visible&&(Q[0].style.opacity="1"),""===this.options.icon&&(Q[0].style.fontFamily="anchorjs-icons",Q[0].style.fontStyle="normal",Q[0].style.fontVariant="normal",Q[0].style.fontWeight="normal"),"left"===this.options.placement?(Q[0].style.position="absolute",Q[0].style.marginLeft="-1em",Q[0].style.paddingRight="0.5em",e[i].insertBefore(Q[0],e[i].firstChild)):(Q[0].style.paddingLeft="0.375em",e[i].appendChild(Q[0]))}return this},this.remove=function(A){for(var e,t=document.querySelectorAll(A),o=0;othis.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('