@crystaldesign/diva-web-planner-react 24.11.0 → 24.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/esm/ArticleProperties-a23f658a.js +164 -0
- package/build/esm/CatalogProperties-8e33265c.js +438 -0
- package/build/esm/IconHandler-2b4cd211.js +77 -0
- package/build/esm/OptionProperties-c0fad436.js +147 -0
- package/build/esm/OptionValueProperties-d85ba84a.js +116 -0
- package/build/esm/Planner2DGrid-cdcab7e7.js +640 -0
- package/build/esm/Planner3DImage-2c0c153b.js +1163 -0
- package/build/esm/index-001d20b6.js +156 -0
- package/build/esm/index-0032191a.js +144 -0
- package/build/esm/index-03a1f70a.js +42 -0
- package/build/esm/index-03bf9a3f.js +49 -0
- package/build/esm/index-06196013.js +85 -0
- package/build/esm/index-075c1e0b.js +53 -0
- package/build/esm/index-078f71b4.js +62 -0
- package/build/esm/index-08de1f4f.js +32 -0
- package/build/esm/index-09cead8d.js +69 -0
- package/build/esm/index-0af002d5.js +59 -0
- package/build/esm/index-0d34c4dd.js +54 -0
- package/build/esm/index-0db4df8f.js +157 -0
- package/build/esm/index-0de9ce00.js +242 -0
- package/build/esm/index-0f1fd58d.js +27 -0
- package/build/esm/index-0f88b3eb.js +43 -0
- package/build/esm/index-11a512cc.js +59 -0
- package/build/esm/index-11de12a4.js +45 -0
- package/build/esm/index-12522ad8.js +108 -0
- package/build/esm/index-12fe5d1a.js +102 -0
- package/build/esm/index-13354589.js +34 -0
- package/build/esm/index-14081b35.js +57 -0
- package/build/esm/index-16b51d9a.js +27 -0
- package/build/esm/index-1855c6c0.js +53 -0
- package/build/esm/index-19137190.js +97 -0
- package/build/esm/index-1bd58047.js +71 -0
- package/build/esm/index-1d4ec596.js +53 -0
- package/build/esm/index-1de690e8.js +52 -0
- package/build/esm/index-1e04abeb.js +131 -0
- package/build/esm/index-20f7d32c.js +41 -0
- package/build/esm/index-2173d651.js +75 -0
- package/build/esm/index-218e66a2.js +27 -0
- package/build/esm/index-23f18d0d.js +111 -0
- package/build/esm/index-2473667a.js +97 -0
- package/build/esm/index-2494c15f.js +144 -0
- package/build/esm/index-2566baa1.js +68 -0
- package/build/esm/index-25afea80.js +27 -0
- package/build/esm/index-2c01799f.js +128 -0
- package/build/esm/index-2d26cbe1.js +59 -0
- package/build/esm/index-2f937443.js +47 -0
- package/build/esm/index-3054c891.js +102 -0
- package/build/esm/index-342becc2.js +108 -0
- package/build/esm/index-34cec40f.js +123 -0
- package/build/esm/index-366c287c.js +65 -0
- package/build/esm/index-3777a317.js +86 -0
- package/build/esm/index-37c8f035.js +98 -0
- package/build/esm/index-394a5e65.js +268 -0
- package/build/esm/index-39c17c01.js +45 -0
- package/build/esm/index-39d04131.js +27 -0
- package/build/esm/index-3a359420.js +176 -0
- package/build/esm/index-3d92e48c.js +134 -0
- package/build/esm/index-3efeb656.js +73 -0
- package/build/esm/index-40b425e4.js +445 -0
- package/build/esm/index-41200533.js +27 -0
- package/build/esm/index-417489b5.js +127 -0
- package/build/esm/index-42b5a148.js +46 -0
- package/build/esm/index-4323a91e.js +127 -0
- package/build/esm/index-44138eb9.js +30 -0
- package/build/esm/index-44440a73.js +96 -0
- package/build/esm/index-45558262.js +123 -0
- package/build/esm/index-49ecd887.js +91 -0
- package/build/esm/index-49f21782.js +83 -0
- package/build/esm/index-4aaa7166.js +81 -0
- package/build/esm/index-4ac43c93.js +33 -0
- package/build/esm/index-4b0b0330.js +116 -0
- package/build/esm/index-4b1b1387.js +139 -0
- package/build/esm/index-4b4199d7.js +57 -0
- package/build/esm/index-4b78f728.js +58 -0
- package/build/esm/index-4b970e13.js +68 -0
- package/build/esm/index-4bf240a3.js +27 -0
- package/build/esm/index-4cf32f6d.js +87 -0
- package/build/esm/index-4e7d1273.js +61 -0
- package/build/esm/index-4f619a93.js +48 -0
- package/build/esm/index-4fbb1e02.js +27 -0
- package/build/esm/index-5062d8b6.js +179 -0
- package/build/esm/index-5070acb9.js +27 -0
- package/build/esm/index-50ed532a.js +202 -0
- package/build/esm/index-51dbd184.js +51 -0
- package/build/esm/index-537b41f5.js +62 -0
- package/build/esm/index-54cdb750.js +186 -0
- package/build/esm/index-54e8191f.js +27 -0
- package/build/esm/index-55797be6.js +27 -0
- package/build/esm/index-559ab0da.js +46 -0
- package/build/esm/index-58345233.js +140 -0
- package/build/esm/index-5946e56c.js +36 -0
- package/build/esm/index-5a7d694a.js +42 -0
- package/build/esm/index-5b64336c.js +68 -0
- package/build/esm/index-5e52d4a5.js +46 -0
- package/build/esm/index-5eeeb234.js +43 -0
- package/build/esm/index-60e2c940.js +97 -0
- package/build/esm/index-616e3212.js +136 -0
- package/build/esm/index-6a548501.js +36 -0
- package/build/esm/index-6ae957da.js +9587 -0
- package/build/esm/index-6b7513dc.js +164 -0
- package/build/esm/index-6cee73e5.js +31 -0
- package/build/esm/index-6d0beeaa.js +177 -0
- package/build/esm/index-6ea2696d.js +50 -0
- package/build/esm/index-6ff0ace8.js +113 -0
- package/build/esm/index-71ead488.js +170 -0
- package/build/esm/index-736ba28d.js +23 -0
- package/build/esm/index-74d1a051.js +75 -0
- package/build/esm/index-75dc38f3.js +127 -0
- package/build/esm/index-7c479178.js +54 -0
- package/build/esm/index-7e5670c9.js +175 -0
- package/build/esm/index-8374b61d.js +61 -0
- package/build/esm/index-83a68812.js +120 -0
- package/build/esm/index-842af387.js +101 -0
- package/build/esm/index-84c5c468.js +27 -0
- package/build/esm/index-84d686e3.js +137 -0
- package/build/esm/index-860ac013.js +154 -0
- package/build/esm/index-869700ff.js +156 -0
- package/build/esm/index-87a2246f.js +27 -0
- package/build/esm/index-87a9a090.js +73 -0
- package/build/esm/index-8800d2bb.js +35 -0
- package/build/esm/index-8959ce5c.js +123 -0
- package/build/esm/index-8bc15033.js +64 -0
- package/build/esm/index-8bd8159a.js +151 -0
- package/build/esm/index-8ced4a84.js +49 -0
- package/build/esm/index-8e3076e6.js +53 -0
- package/build/esm/index-8ef30823.js +78 -0
- package/build/esm/index-9064f786.js +78 -0
- package/build/esm/index-91f1ca86.js +48 -0
- package/build/esm/index-9317a102.js +27 -0
- package/build/esm/index-93c146d5.js +67 -0
- package/build/esm/index-93dff353.js +43 -0
- package/build/esm/index-96a4a56b.js +27 -0
- package/build/esm/index-973085b8.js +275 -0
- package/build/esm/index-993c8b78.js +52 -0
- package/build/esm/index-9c7a9d86.js +56 -0
- package/build/esm/index-9de7a8da.js +91 -0
- package/build/esm/index-9f364cba.js +86 -0
- package/build/esm/index-9f47aa87.js +40 -0
- package/build/esm/index-9f5ef973.js +62 -0
- package/build/esm/index-9f7b15f7.js +69 -0
- package/build/esm/index-a093282f.js +75 -0
- package/build/esm/index-a0bae903.js +91 -0
- package/build/esm/index-a19527fd.js +70 -0
- package/build/esm/index-a2c4bf4f.js +110 -0
- package/build/esm/index-a4811501.js +43 -0
- package/build/esm/index-a52a366e.js +27 -0
- package/build/esm/index-a67ee788.js +38 -0
- package/build/esm/index-a94ac347.js +127 -0
- package/build/esm/index-aa5c6b02.js +64 -0
- package/build/esm/index-aa7f29cd.js +87 -0
- package/build/esm/index-aaf7323a.js +215 -0
- package/build/esm/index-ad84f0bd.js +121 -0
- package/build/esm/index-aee7ac3a.js +82 -0
- package/build/esm/index-b0661444.js +37 -0
- package/build/esm/index-b07fa5bf.js +94 -0
- package/build/esm/index-b1d30f5b.js +40 -0
- package/build/esm/index-b36aebd7.js +76 -0
- package/build/esm/index-b7c96d94.js +27 -0
- package/build/esm/index-b8872c99.js +57 -0
- package/build/esm/index-bb303417.js +106 -0
- package/build/esm/index-bb7a42a4.js +132 -0
- package/build/esm/index-bbfc7452.js +146 -0
- package/build/esm/index-bd81394e.js +107 -0
- package/build/esm/index-bf9a3d74.js +53 -0
- package/build/esm/index-c0eb5880.js +123 -0
- package/build/esm/index-c193f4f9.js +46 -0
- package/build/esm/index-c25e3ea9.js +27 -0
- package/build/esm/index-c3abc1ea.js +121 -0
- package/build/esm/index-c3faf4ff.js +27 -0
- package/build/esm/index-c4c82b3f.js +167 -0
- package/build/esm/index-c57998ff.js +76 -0
- package/build/esm/index-c5ec72f3.js +76 -0
- package/build/esm/index-c64b0b97.js +93 -0
- package/build/esm/index-c773bdd9.js +129 -0
- package/build/esm/index-c873cb1b.js +171 -0
- package/build/esm/index-c9be2ebe.js +92 -0
- package/build/esm/index-cb9e1533.js +78 -0
- package/build/esm/index-ccf3a7d5.js +129 -0
- package/build/esm/index-ce4156ca.js +34 -0
- package/build/esm/index-d284be6d.js +76 -0
- package/build/esm/index-d44ed7d9.js +41 -0
- package/build/esm/index-d4e3aee0.js +111 -0
- package/build/esm/index-d574633d.js +55 -0
- package/build/esm/index-d9a37607.js +163 -0
- package/build/esm/index-d9d77394.js +38 -0
- package/build/esm/index-dae97211.js +45 -0
- package/build/esm/index-def115a3.js +112 -0
- package/build/esm/index-df35900f.js +32 -0
- package/build/esm/index-e01b992d.js +213 -0
- package/build/esm/index-e06b08dc.js +27 -0
- package/build/esm/index-e2656e60.js +44 -0
- package/build/esm/index-e2d8041d.js +99 -0
- package/build/esm/index-e4a6a703.js +54 -0
- package/build/esm/index-e56f484f.js +42 -0
- package/build/esm/index-e6f6bd6d.js +63 -0
- package/build/esm/index-e7051fdc.js +142 -0
- package/build/esm/index-e7dd2a11.js +182 -0
- package/build/esm/index-e8d7a92a.js +129 -0
- package/build/esm/index-e8d8f7be.js +48 -0
- package/build/esm/index-e972f93b.js +186 -0
- package/build/esm/index-e9f67bad.js +551 -0
- package/build/esm/index-eac7a8e2.js +148 -0
- package/build/esm/index-eadde536.js +64 -0
- package/build/esm/index-eb00798f.js +25 -0
- package/build/esm/index-ed6f6702.js +27 -0
- package/build/esm/index-ed701b68.js +157 -0
- package/build/esm/index-edaba8c2.js +50 -0
- package/build/esm/index-ee169456.js +27 -0
- package/build/esm/index-f104bda6.js +37 -0
- package/build/esm/index-f12edce6.js +40 -0
- package/build/esm/index-f17aaae0.js +115 -0
- package/build/esm/index-f2a64ed6.js +95 -0
- package/build/esm/index-f31895f8.js +75 -0
- package/build/esm/index-f31d028f.js +91 -0
- package/build/esm/index-f324b46c.js +170 -0
- package/build/esm/index-f3bdb840.js +156 -0
- package/build/esm/index-f3d6a67b.js +88 -0
- package/build/esm/index-f41b2ee0.js +94 -0
- package/build/esm/index-f4a39937.js +83 -0
- package/build/esm/index-f4e58a35.js +121 -0
- package/build/esm/index-f6275f8e.js +110 -0
- package/build/esm/index-f6784de4.js +76 -0
- package/build/esm/index-f6e64de6.js +132 -0
- package/build/esm/index-f9c3bdf1.js +117 -0
- package/build/esm/index-fabbebaa.js +39 -0
- package/build/esm/index-fd9f8011.js +65 -0
- package/build/esm/index-fdf293b5.js +139 -0
- package/build/esm/index-fec06618.js +156 -0
- package/build/esm/index-feda1fee.js +43 -0
- package/build/esm/index-ff47284f.js +52 -0
- package/build/esm/index-ff91ad31.js +71 -0
- package/build/esm/index.js +1 -1
- package/build/esm/index.module-179848d3.js +9 -0
- package/build/esm/index.module-2c091791.js +18 -0
- package/build/esm/index.module-3b3e6bf7.js +13 -0
- package/build/esm/index.module-4e8e23b6.js +10 -0
- package/build/esm/index.module-58fe7299.js +10 -0
- package/build/esm/index.module-705aae62.js +44 -0
- package/build/esm/index.module-94302b7b.js +12 -0
- package/build/esm/index.module-98eaef5b.js +19 -0
- package/build/esm/index.module-b8f75f3d.js +17 -0
- package/build/esm/index.module-be5c78cf.js +10 -0
- package/build/esm/index.module-bf8133ec.js +9 -0
- package/build/esm/index.module-da90a5d7.js +24 -0
- package/build/esm/index.module-eba8926c.js +8 -0
- package/build/esm/index.module-f5ba5d02.js +20 -0
- package/build/esm/requestProductForm-e6b083b3.js +295 -0
- package/build/umd/1027.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1027.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1077.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1077.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1085.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1085.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1087.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1087.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1088.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1088.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1099.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1099.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/112.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/112.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1137.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1137.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/114.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/114.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1247.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1247.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1259.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1259.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1266.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1266.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1281.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1281.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1295.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1295.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1306.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1306.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1414.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1414.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1426.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1426.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/152.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/152.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/153.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/153.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1606.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1606.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1611.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1611.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1622.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1622.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1694.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1694.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1696.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1696.diva-web-planner-react.umd.min.js.LICENSE.txt +33 -0
- package/build/umd/1805.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1805.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1838.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1838.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1848.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1848.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1885.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1885.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1910.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1910.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/1934.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/1934.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/196.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/196.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2010.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2010.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2057.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2057.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2058.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2058.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2060.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2066.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2066.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2195.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2195.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/221.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/221.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2235.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2235.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2236.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2236.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2273.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2273.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2277.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2277.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2305.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2305.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2308.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2308.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2331.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2331.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2337.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2337.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2461.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2461.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2467.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2467.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2479.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2479.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2486.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2486.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2553.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2553.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2590.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2590.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2636.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/2648.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2648.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/267.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/267.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2729.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2729.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2754.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2754.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2768.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2768.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2833.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2833.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/286.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/286.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2891.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2891.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/2897.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2897.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2911.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2911.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2995.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/2995.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3039.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3039.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3075.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3075.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3152.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3152.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3172.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3172.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3235.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3235.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3274.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3274.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3430.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3430.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3444.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3444.diva-web-planner-react.umd.min.js.LICENSE.txt +8 -0
- package/build/umd/346.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/346.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3469.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3469.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3484.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3484.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3546.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3546.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3623.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3623.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3628.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3628.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3649.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3649.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3708.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3708.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3732.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/3732.diva-web-planner-react.umd.min.js.LICENSE.txt +6 -0
- package/build/umd/3733.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3733.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3847.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3847.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3852.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3852.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3887.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3887.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3889.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3889.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/3901.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/3901.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/395.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/395.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4007.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4007.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4059.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4059.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/406.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/406.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4076.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4076.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4086.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4086.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/411.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/411.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4197.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4197.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4223.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4223.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4252.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4252.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4284.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4284.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4296.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4296.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4389.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4389.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4410.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4410.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4418.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4418.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4472.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4472.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4563.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4563.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4631.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4631.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4660.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4660.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4667.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4667.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4689.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4689.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4703.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4703.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4712.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4712.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4772.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4772.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4801.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4801.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4848.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4848.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4902.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4902.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/493.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/493.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/4964.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/4964.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/498.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/498.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5013.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5013.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5027.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5027.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5033.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5033.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5052.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5052.diva-web-planner-react.umd.min.js.LICENSE.txt +10 -0
- package/build/umd/5063.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5063.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5095.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5095.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5102.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5102.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5204.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5204.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5297.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5297.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5320.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5320.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/546.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/546.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5462.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5462.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5533.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5533.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5572.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5572.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/560.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/560.diva-web-planner-react.umd.min.js.LICENSE.txt +10 -0
- package/build/umd/5619.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5619.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5628.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5628.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5713.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5713.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5748.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5748.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5765.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5765.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5899.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5899.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5923.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5923.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5924.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5924.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5940.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/5940.diva-web-planner-react.umd.min.js.LICENSE.txt +6 -0
- package/build/umd/5945.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5945.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/5985.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/5985.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6001.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6001.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6026.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6026.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/611.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/611.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6152.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6152.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6170.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6170.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6189.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6189.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6262.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6262.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6309.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6309.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6311.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6311.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6373.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6373.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6405.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6405.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6406.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6406.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6440.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6440.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/648.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/648.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6483.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6483.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6499.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6499.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6564.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6564.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6708.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6708.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6720.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6720.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6749.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6749.diva-web-planner-react.umd.min.js.LICENSE.txt +10 -0
- package/build/umd/6773.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6773.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6795.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6795.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6804.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6804.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6835.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6835.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6854.diva-web-planner-react.umd.min.js +408 -0
- package/build/umd/6854.diva-web-planner-react.umd.min.js.LICENSE.txt +86 -0
- package/build/umd/6872.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6872.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/6912.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/6912.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7002.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7002.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7012.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7012.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7061.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7061.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/707.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/707.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7084.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7084.diva-web-planner-react.umd.min.js.LICENSE.txt +6 -0
- package/build/umd/7128.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7128.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7196.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7196.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7218.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7218.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7242.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7242.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7248.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7248.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7294.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7294.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7343.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7343.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7358.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7358.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7386.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7386.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/742.diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/7426.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7426.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7438.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7438.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7454.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7454.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7476.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7476.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7610.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7610.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7648.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7648.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7654.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7654.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7659.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7659.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7698.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7698.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7707.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7707.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/776.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/776.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7782.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7782.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7810.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7810.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7820.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7820.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7829.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7829.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7851.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7851.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7875.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7875.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7878.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7878.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/7899.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7899.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7965.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7965.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7991.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/7991.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8016.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8016.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8025.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8025.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8038.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8038.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8044.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8044.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8051.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8051.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8096.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8096.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8109.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8109.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8127.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8127.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8245.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8245.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8249.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8249.diva-web-planner-react.umd.min.js.LICENSE.txt +16 -0
- package/build/umd/8255.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8255.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8264.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8264.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8277.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8277.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8297.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8297.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/83.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/83.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8314.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8314.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8365.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8365.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8395.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8395.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8404.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8404.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8430.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8430.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8434.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8434.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8467.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8467.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8552.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8552.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/86.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/86.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8608.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8608.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8654.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8654.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8664.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8664.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8670.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8670.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8696.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8696.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8710.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8710.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8720.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8720.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8726.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8726.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8761.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8761.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8810.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8810.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8833.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8833.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8835.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8835.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8865.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8865.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8871.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8871.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8925.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8925.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8928.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8928.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8966.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8966.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/8994.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/8994.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9013.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9013.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9067.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9067.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9068.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9068.diva-web-planner-react.umd.min.js.LICENSE.txt +10 -0
- package/build/umd/9070.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9070.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/910.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/910.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9111.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9111.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9115.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9115.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9145.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9145.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9178.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9178.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/933.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/933.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/936.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/936.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9396.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9396.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9406.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9406.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9429.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9429.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9450.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9450.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9451.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9451.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9534.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9534.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/954.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/954.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9564.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9564.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9596.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9596.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9636.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9636.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9638.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9638.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9657.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9657.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9691.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9691.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9705.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9705.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9744.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9744.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9752.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9752.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9773.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9773.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9774.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9774.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9789.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9789.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9805.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9805.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9851.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9851.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9853.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9853.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/988.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/988.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9906.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9906.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9957.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9957.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9964.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9964.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
- package/build/umd/9991.diva-web-planner-react.umd.min.js +2 -0
- package/build/umd/9991.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/diva-web-planner-react.umd.min.js +1 -1
- package/build/umd/report.html +1 -1
- package/package.json +6 -6
- package/build/esm/ArticleProperties-ad4aaabc.js +0 -164
- package/build/esm/CatalogProperties-862d2c79.js +0 -438
- package/build/esm/IconHandler-3f16125d.js +0 -77
- package/build/esm/OptionProperties-950b94a1.js +0 -147
- package/build/esm/OptionValueProperties-18877433.js +0 -116
- package/build/esm/Planner2DGrid-16ef124d.js +0 -640
- package/build/esm/Planner3DImage-c53a2e4f.js +0 -1163
- package/build/esm/index-04598143.js +0 -156
- package/build/esm/index-04d55e82.js +0 -41
- package/build/esm/index-08ae484e.js +0 -129
- package/build/esm/index-0aba93fb.js +0 -123
- package/build/esm/index-0afbc6bf.js +0 -101
- package/build/esm/index-0c044938.js +0 -61
- package/build/esm/index-0cc75729.js +0 -71
- package/build/esm/index-0db3b553.js +0 -91
- package/build/esm/index-0e206c3f.js +0 -137
- package/build/esm/index-0e24de6a.js +0 -127
- package/build/esm/index-0e444930.js +0 -59
- package/build/esm/index-10d8e944.js +0 -43
- package/build/esm/index-11c4a30a.js +0 -83
- package/build/esm/index-1305263d.js +0 -76
- package/build/esm/index-1371aac0.js +0 -46
- package/build/esm/index-15a622b8.js +0 -68
- package/build/esm/index-16f2c33d.js +0 -81
- package/build/esm/index-193e341d.js +0 -115
- package/build/esm/index-1b795043.js +0 -37
- package/build/esm/index-1e8b8742.js +0 -91
- package/build/esm/index-217cf030.js +0 -27
- package/build/esm/index-22358e80.js +0 -51
- package/build/esm/index-23ae379e.js +0 -551
- package/build/esm/index-25c9f645.js +0 -156
- package/build/esm/index-26f8a6f4.js +0 -140
- package/build/esm/index-27375692.js +0 -61
- package/build/esm/index-29a35559.js +0 -186
- package/build/esm/index-2c9173bf.js +0 -95
- package/build/esm/index-2cde3401.js +0 -136
- package/build/esm/index-2ea4ad37.js +0 -52
- package/build/esm/index-2fd6b3ad.js +0 -36
- package/build/esm/index-3199bfee.js +0 -177
- package/build/esm/index-39c29b9a.js +0 -242
- package/build/esm/index-3a646590.js +0 -38
- package/build/esm/index-3b758b96.js +0 -163
- package/build/esm/index-3e7715a6.js +0 -97
- package/build/esm/index-3ede4539.js +0 -73
- package/build/esm/index-40c59259.js +0 -27
- package/build/esm/index-4128ec05.js +0 -27
- package/build/esm/index-42d77ae5.js +0 -27
- package/build/esm/index-463de988.js +0 -53
- package/build/esm/index-46f51d6f.js +0 -213
- package/build/esm/index-470d4669.js +0 -164
- package/build/esm/index-493d8c54.js +0 -27
- package/build/esm/index-4948eafa.js +0 -110
- package/build/esm/index-499b06bd.js +0 -78
- package/build/esm/index-4b3ff6d3.js +0 -157
- package/build/esm/index-4b6e23d0.js +0 -27
- package/build/esm/index-4e63b857.js +0 -99
- package/build/esm/index-4f23a188.js +0 -176
- package/build/esm/index-4fe258c5.js +0 -35
- package/build/esm/index-506b05bd.js +0 -167
- package/build/esm/index-50c80005.js +0 -42
- package/build/esm/index-51a068d6.js +0 -76
- package/build/esm/index-51bbb435.js +0 -82
- package/build/esm/index-52866ccf.js +0 -102
- package/build/esm/index-538fdf33.js +0 -27
- package/build/esm/index-5492c42e.js +0 -64
- package/build/esm/index-556513f0.js +0 -48
- package/build/esm/index-5647c907.js +0 -94
- package/build/esm/index-574eccea.js +0 -39
- package/build/esm/index-5773de2c.js +0 -131
- package/build/esm/index-57e5c7bc.js +0 -27
- package/build/esm/index-58821613.js +0 -27
- package/build/esm/index-5971761f.js +0 -171
- package/build/esm/index-59a3b196.js +0 -54
- package/build/esm/index-5a54730f.js +0 -59
- package/build/esm/index-5a54767d.js +0 -37
- package/build/esm/index-5afa8ae8.js +0 -134
- package/build/esm/index-5b5662e6.js +0 -87
- package/build/esm/index-5c73581e.js +0 -127
- package/build/esm/index-60fa19cd.js +0 -92
- package/build/esm/index-61af1648.js +0 -75
- package/build/esm/index-61e1a114.js +0 -57
- package/build/esm/index-67d18e45.js +0 -127
- package/build/esm/index-684ed601.js +0 -27
- package/build/esm/index-68d8a5f6.js +0 -45
- package/build/esm/index-6a21be1e.js +0 -64
- package/build/esm/index-6c73961f.js +0 -75
- package/build/esm/index-6e5a5052.js +0 -110
- package/build/esm/index-710506ce.js +0 -25
- package/build/esm/index-71e09ba6.js +0 -40
- package/build/esm/index-7217621f.js +0 -108
- package/build/esm/index-73405966.js +0 -27
- package/build/esm/index-73c186e8.js +0 -55
- package/build/esm/index-73fd558b.js +0 -50
- package/build/esm/index-75def7d9.js +0 -91
- package/build/esm/index-76364dda.js +0 -57
- package/build/esm/index-7978c70c.js +0 -32
- package/build/esm/index-7b2c77fc.js +0 -50
- package/build/esm/index-7b2dc821.js +0 -33
- package/build/esm/index-7ccc65da.js +0 -94
- package/build/esm/index-7d24a508.js +0 -129
- package/build/esm/index-7d3f6ebe.js +0 -142
- package/build/esm/index-7d8e85e9.js +0 -27
- package/build/esm/index-7e79f214.js +0 -67
- package/build/esm/index-80295292.js +0 -123
- package/build/esm/index-80813811.js +0 -43
- package/build/esm/index-81f5b321.js +0 -47
- package/build/esm/index-8397c369.js +0 -139
- package/build/esm/index-84207333.js +0 -46
- package/build/esm/index-85a3f724.js +0 -144
- package/build/esm/index-868d8ed8.js +0 -76
- package/build/esm/index-873531d1.js +0 -65
- package/build/esm/index-88a1e093.js +0 -97
- package/build/esm/index-89cbbf70.js +0 -27
- package/build/esm/index-89d06f11.js +0 -27
- package/build/esm/index-8aa8b3c6.js +0 -42
- package/build/esm/index-8c92be1f.js +0 -156
- package/build/esm/index-8e45dee1.js +0 -62
- package/build/esm/index-8eb73d6a.js +0 -120
- package/build/esm/index-8f250571.js +0 -69
- package/build/esm/index-8f2610a4.js +0 -56
- package/build/esm/index-8fadff48.js +0 -54
- package/build/esm/index-8fbb0b4d.js +0 -128
- package/build/esm/index-8fc51f02.js +0 -156
- package/build/esm/index-904a4e92.js +0 -182
- package/build/esm/index-90c552cd.js +0 -445
- package/build/esm/index-9224cea6.js +0 -45
- package/build/esm/index-92d56474.js +0 -202
- package/build/esm/index-94db34a7.js +0 -76
- package/build/esm/index-95e686fe.js +0 -76
- package/build/esm/index-95f99f74.js +0 -132
- package/build/esm/index-965718c6.js +0 -154
- package/build/esm/index-96ca37fc.js +0 -275
- package/build/esm/index-9792f929.js +0 -215
- package/build/esm/index-97b68154.js +0 -83
- package/build/esm/index-97dd0b72.js +0 -78
- package/build/esm/index-989ab649.js +0 -41
- package/build/esm/index-990d1a26.js +0 -34
- package/build/esm/index-9a6c023e.js +0 -68
- package/build/esm/index-9c428c97.js +0 -36
- package/build/esm/index-9cae369c.js +0 -121
- package/build/esm/index-9d5346ea.js +0 -52
- package/build/esm/index-9ed6924d.js +0 -34
- package/build/esm/index-a1e719a5.js +0 -53
- package/build/esm/index-a21b8051.js +0 -27
- package/build/esm/index-a2341787.js +0 -111
- package/build/esm/index-a2f0bee7.js +0 -88
- package/build/esm/index-a41ddfe1.js +0 -86
- package/build/esm/index-a5b06d0b.js +0 -53
- package/build/esm/index-a6a32ebd.js +0 -64
- package/build/esm/index-a95a2c76.js +0 -40
- package/build/esm/index-aa0d34b9.js +0 -146
- package/build/esm/index-ab6f18e7.js +0 -107
- package/build/esm/index-ab829d63.js +0 -71
- package/build/esm/index-ab9299a9.js +0 -97
- package/build/esm/index-acff910c.js +0 -27
- package/build/esm/index-aecf74ab.js +0 -139
- package/build/esm/index-af5f4e78.js +0 -27
- package/build/esm/index-afaf915c.js +0 -58
- package/build/esm/index-afb53cfd.js +0 -32
- package/build/esm/index-afb5fb5d.js +0 -127
- package/build/esm/index-b14e742e.js +0 -91
- package/build/esm/index-b1d1df6c.js +0 -44
- package/build/esm/index-b29be090.js +0 -68
- package/build/esm/index-b308c220.js +0 -157
- package/build/esm/index-b361e795.js +0 -96
- package/build/esm/index-b37dcde2.js +0 -23
- package/build/esm/index-b3badc96.js +0 -30
- package/build/esm/index-b6bf3333.js +0 -73
- package/build/esm/index-b76eef0f.js +0 -75
- package/build/esm/index-b7d2ad37.js +0 -69
- package/build/esm/index-b7f00826.js +0 -116
- package/build/esm/index-ba10c7a8.js +0 -93
- package/build/esm/index-baceec21.js +0 -65
- package/build/esm/index-bcea3f10.js +0 -108
- package/build/esm/index-bd36055e.js +0 -48
- package/build/esm/index-bf352463.js +0 -63
- package/build/esm/index-c1e0cf86.js +0 -78
- package/build/esm/index-c2584885.js +0 -170
- package/build/esm/index-c333c380.js +0 -132
- package/build/esm/index-c3aeb47b.js +0 -102
- package/build/esm/index-c4775c2e.js +0 -43
- package/build/esm/index-c4a170c0.js +0 -27
- package/build/esm/index-c7339c6a.js +0 -27
- package/build/esm/index-c9c3db8a.js +0 -87
- package/build/esm/index-cb4f9308.js +0 -70
- package/build/esm/index-cc8dbdac.js +0 -38
- package/build/esm/index-ce490cda.js +0 -49
- package/build/esm/index-ceac7152.js +0 -9587
- package/build/esm/index-d00e5b1f.js +0 -43
- package/build/esm/index-d0f28655.js +0 -123
- package/build/esm/index-d27f402e.js +0 -98
- package/build/esm/index-d512573e.js +0 -179
- package/build/esm/index-d53cbefe.js +0 -75
- package/build/esm/index-d5b9eee6.js +0 -148
- package/build/esm/index-d5cf3f49.js +0 -48
- package/build/esm/index-d6085391.js +0 -111
- package/build/esm/index-d6a76043.js +0 -144
- package/build/esm/index-d8078de8.js +0 -53
- package/build/esm/index-d8cb8f3c.js +0 -117
- package/build/esm/index-da820de6.js +0 -175
- package/build/esm/index-dd8dba83.js +0 -27
- package/build/esm/index-dfb7975d.js +0 -42
- package/build/esm/index-e0442a96.js +0 -46
- package/build/esm/index-e24e318e.js +0 -45
- package/build/esm/index-e278d05e.js +0 -121
- package/build/esm/index-e30d972e.js +0 -121
- package/build/esm/index-e54c4a83.js +0 -170
- package/build/esm/index-e610c16a.js +0 -54
- package/build/esm/index-e63eb8cf.js +0 -52
- package/build/esm/index-e8634331.js +0 -62
- package/build/esm/index-e8e48df7.js +0 -151
- package/build/esm/index-ea6e93f1.js +0 -112
- package/build/esm/index-ec549beb.js +0 -59
- package/build/esm/index-ec7a941f.js +0 -129
- package/build/esm/index-ed959987.js +0 -268
- package/build/esm/index-f06d32ec.js +0 -46
- package/build/esm/index-f530765c.js +0 -43
- package/build/esm/index-f53c51df.js +0 -106
- package/build/esm/index-f716b083.js +0 -186
- package/build/esm/index-f735526e.js +0 -113
- package/build/esm/index-f753a21a.js +0 -62
- package/build/esm/index-f7f4ec7b.js +0 -53
- package/build/esm/index-f848f570.js +0 -85
- package/build/esm/index-f9068fcb.js +0 -31
- package/build/esm/index-fb1b65be.js +0 -123
- package/build/esm/index-fba00d25.js +0 -27
- package/build/esm/index-fc7ffbaa.js +0 -40
- package/build/esm/index-fc89b69e.js +0 -86
- package/build/esm/index-fd1d46f0.js +0 -27
- package/build/esm/index-fe442524.js +0 -49
- package/build/esm/index-ff721b9e.js +0 -57
- package/build/esm/index.module-02c9581a.js +0 -24
- package/build/esm/index.module-4b848fc5.js +0 -8
- package/build/esm/index.module-554572ea.js +0 -12
- package/build/esm/index.module-78a0c9bc.js +0 -17
- package/build/esm/index.module-7d5da655.js +0 -13
- package/build/esm/index.module-8a42df78.js +0 -9
- package/build/esm/index.module-92dc1689.js +0 -20
- package/build/esm/index.module-9dd324d1.js +0 -44
- package/build/esm/index.module-b014fcfb.js +0 -10
- package/build/esm/index.module-bb0d9c75.js +0 -10
- package/build/esm/index.module-cfe1950c.js +0 -10
- package/build/esm/index.module-e5c4422b.js +0 -9
- package/build/esm/index.module-eaf26f9e.js +0 -18
- package/build/esm/index.module-f9ed15bf.js +0 -19
- package/build/esm/requestProductForm-e9e88800.js +0 -295
- package/build/umd/109.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/109.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1095.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1095.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1096.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1096.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1120.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1120.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1197.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1197.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1221.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1221.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1240.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1240.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1254.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1254.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1393.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1393.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -10
- package/build/umd/1416.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1416.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/1420.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1420.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1477.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1477.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1500.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1500.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1513.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1513.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1546.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1546.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1573.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1573.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1613.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1613.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/164.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/164.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/175.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/175.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1762.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1762.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1773.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1773.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/1819.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1819.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1840.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1840.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -33
- package/build/umd/1868.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1868.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/1891.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1891.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/1965.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1965.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/1969.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1969.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/1976.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1976.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/1984.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/1984.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/201.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/201.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2032.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2032.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2081.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2081.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2216.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2216.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2256.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2256.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2257.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2257.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2300.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2300.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2309.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2309.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/231.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/231.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2356.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2356.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2424.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2424.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2476.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2476.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2487.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2487.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2508.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2508.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2523.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2523.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2564.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2564.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2596.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2596.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2619.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2619.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/265.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/265.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2674.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2674.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2684.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2684.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2692.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2692.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2731.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2731.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2743.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2743.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2759.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2759.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2785.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2785.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/2993.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/2993.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3010.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3010.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3053.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3053.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3098.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3098.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3112.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3112.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3189.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3189.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/319.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/319.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3193.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3193.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3209.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3209.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3279.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3279.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3289.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3289.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3338.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3338.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3352.diva-web-planner-react.umd.min.js +0 -408
- package/build/umd/3352.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -86
- package/build/umd/3366.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3366.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3367.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3367.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3452.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3452.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3528.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3528.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3563.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3563.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3667.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3667.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3703.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3703.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3715.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3715.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3718.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3718.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3744.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3744.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3802.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3802.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3805.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3805.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/386.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/386.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/3864.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3864.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3865.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3865.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/388.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/388.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3994.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/3994.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/40.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/40.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4004.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4004.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4023.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4023.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/408.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/408.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/409.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/409.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4133.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4133.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/416.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/416.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4168.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4168.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4178.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4178.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4209.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4209.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4215.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4215.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4228.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4228.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4233.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4233.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4300.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4300.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4340.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4340.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4357.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4357.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4435.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4435.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4444.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4444.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/449.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/449.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4515.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4515.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/455.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/455.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4589.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4589.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4611.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4611.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4732.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4732.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4751.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4751.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/48.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/48.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4835.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4835.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4936.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4936.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/494.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/494.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/4991.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/4991.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/506.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/506.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5075.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5075.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5080.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5080.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5117.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5117.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5174.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5174.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5183.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5183.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5221.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5221.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5273.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5273.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5310.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5310.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5374.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5374.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5401.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5401.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5431.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5431.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5434.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5434.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5489.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5489.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5557.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5557.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5565.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5565.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5670.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5670.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5698.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5698.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5770.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5770.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5772.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5772.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5782.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5782.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5803.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5803.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5843.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5843.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5852.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5852.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5860.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5860.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/590.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/590.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5901.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5901.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5914.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5914.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5954.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5954.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/597.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/597.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/5971.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5971.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5982.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/5982.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6030.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6030.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6036.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6036.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -8
- package/build/umd/6088.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6088.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6096.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6096.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6162.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6162.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6215.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6215.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6230.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6230.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/624.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/624.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6265.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6265.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6276.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6276.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6342.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6342.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6392.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6392.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6394.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6394.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/64.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/64.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/644.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/644.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6461.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6461.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -16
- package/build/umd/6472.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6472.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6486.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6486.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6592.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6592.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6595.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6595.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6624.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6624.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/666.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/666.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6665.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6665.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6666.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6666.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6677.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6677.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6715.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6715.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6736.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6736.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6742.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6742.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6753.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6753.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6758.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6758.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/676.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/676.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6761.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6761.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6764.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6764.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6790.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6790.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6929.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6929.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6953.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6953.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/6960.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6960.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -10
- package/build/umd/6973.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/6973.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7035.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7035.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7051.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7051.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7082.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7082.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7094.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7094.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7207.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7207.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7237.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7237.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7270.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7270.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7348.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7348.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7378.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7378.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7422.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7422.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7430.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7430.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7470.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7470.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7493.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7493.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7505.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7505.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7531.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7531.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7559.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7559.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7566.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7566.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/763.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/763.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7692.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7692.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -10
- package/build/umd/7706.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7706.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7736.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7736.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7745.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7745.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7765.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7765.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7781.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7781.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7787.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7787.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7854.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7854.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7868.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7868.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7893.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7893.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7902.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7902.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7905.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7905.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7921.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7921.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7962.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7962.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/7988.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7988.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -10
- package/build/umd/7999.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/7999.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8035.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8035.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8041.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8041.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8071.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8071.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/81.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/81.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/815.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/815.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8177.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8177.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8181.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8181.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8191.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8191.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8232.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8232.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8234.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8234.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8238.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8238.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8295.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8295.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8307.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8307.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8350.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8350.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8417.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8417.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8473.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8473.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8571.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8571.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8577.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8577.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/869.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/869.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8692.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8692.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8739.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8739.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8862.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8862.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8932.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8932.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8988.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8988.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8990.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8990.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/8995.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/8995.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9003.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9003.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/904.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/904.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9062.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9062.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9082.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9082.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9124.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9124.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9146.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9146.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9189.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9189.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9228.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9228.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9289.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9289.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9302.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9302.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9334.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9334.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9336.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9336.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9338.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9338.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9383.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9383.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9435.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9435.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9459.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9459.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9577.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9577.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9645.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9645.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9649.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9649.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9666.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9666.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9674.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9674.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/968.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/968.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9680.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9680.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9692.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9692.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9761.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9761.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9762.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9762.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9770.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9770.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9786.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9786.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9787.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9787.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9825.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9825.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9898.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9898.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9915.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9915.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/993.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/993.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
- package/build/umd/9989.diva-web-planner-react.umd.min.js +0 -2
- package/build/umd/9989.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 1840.diva-web-planner-react.umd.min.js.LICENSE.txt */
|
|
2
|
-
(self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[1840],{61840:(Ce,Ie,ve)=>{var Ae=ve(93e3);self,Ce.exports=function(){return Ce={897:function(Ce,Ie,ve){"use strict";ve.d(Ie,{x:function(){return we}});var Ae=ve(2602),be=ve(9791),ye=ve(7907);function n(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}var we=function(){function l(Ce,Ie){if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");this.dom={};var ve=this,Ae=this.dom,be=((this.anchor=void 0,this.items=Ce,this.eventListeners={},this.selection=void 0,this.onClose=Ie?Ie.close:void 0,this.limitHeight=!!Ie&&Ie.limitHeight,Ie=document.createElement("div")).className="jsoneditor-contextmenu-root",Ae.root=Ie,document.createElement("div"));(be.className="jsoneditor-contextmenu",Ae.menu=be,Ie.appendChild(be),Ie=document.createElement("ul")).className="jsoneditor-menu",be.appendChild(Ie),Ae.list=Ie,Ae.items=[],((be=document.createElement("button")).type="button",Ae.focusButton=be,Ae=document.createElement("li")).style.overflow="hidden",Ae.style.height="0",Ae.appendChild(be),Ie.appendChild(Ae),function a(Ce,Ie,Ae){Ae.forEach((function(Ae){var be,we,Se,xe,ke,Ee;"separator"===Ae.type?((ke=document.createElement("div")).className="jsoneditor-separator",(we=document.createElement("li")).appendChild(ke),Ce.appendChild(we)):(be={},ke=document.createElement("li"),Ce.appendChild(ke),(we=document.createElement("button")).type="button",we.className=Ae.className,be.button=we,Ae.title&&(we.title=Ae.title),Ae.click&&(we.onclick=function(Ce){Ce.preventDefault(),ve.hide(),Ae.click()}),ke.appendChild(we),Ae.submenu?((xe=document.createElement("div")).className="jsoneditor-icon",we.appendChild(xe),(xe=document.createElement("div")).className="jsoneditor-text"+(Ae.click?"":" jsoneditor-right-margin"),xe.appendChild(document.createTextNode(Ae.text)),we.appendChild(xe),(Se=Ae.click?(we.className+=" jsoneditor-default",(xe=document.createElement("button")).type="button",(be.buttonExpand=xe).className="jsoneditor-expand",(Ee=document.createElement("div")).className="jsoneditor-expand",xe.appendChild(Ee),ke.appendChild(xe),Ae.submenuTitle&&(xe.title=Ae.submenuTitle),xe):((Ee=document.createElement("div")).className="jsoneditor-expand",we.appendChild(Ee),we)).onclick=function(Ce){Ce.preventDefault(),ve._onExpandItem(be),Se.focus()},be.subItems=xe=[],Ee=document.createElement("ul"),(be.ul=Ee).className="jsoneditor-menu",Ee.style.height="0",ke.appendChild(Ee),a(Ee,xe,Ae.submenu)):((ke=document.createElement("div")).className="jsoneditor-icon",we.appendChild(ke),(Ee=document.createElement("div")).className="jsoneditor-text",Ee.appendChild(document.createTextNode((0,ye.Iu)(Ae.text))),we.appendChild(Ee)),Ie.push(be))}))}(Ie,this.dom.items,Ce),this.maxHeight=0,Ce.forEach((function(Ie){Ie=24*(Ce.length+(Ie.submenu?Ie.submenu.length:0)),ve.maxHeight=Math.max(ve.maxHeight,Ie)}))}var Ce,Ie,ve;return Ce=l,(Ie=[{key:"_getVisibleButtons",value:function(){var Ce=[],Ie=this;return this.dom.items.forEach((function(ve){Ce.push(ve.button),ve.buttonExpand&&Ce.push(ve.buttonExpand),ve.subItems&&ve===Ie.expandedItem&&ve.subItems.forEach((function(Ie){Ce.push(Ie.button),Ie.buttonExpand&&Ce.push(Ie.buttonExpand)}))})),Ce}},{key:"show",value:function(Ce,Ie,ve){this.hide();var ye=!0,we=Ce.parentNode,Se=Ce.getBoundingClientRect(),xe=(we=we.getBoundingClientRect(),Ie.getBoundingClientRect()),ke=this;this.dom.absoluteAnchor=(0,Ae.w)(Ce,Ie,(function(){ke.hide()})),Se.bottom+this.maxHeight<xe.bottom||Se.top-this.maxHeight>xe.top&&(ye=!1),Ie=ve?0:Se.top-we.top,ye?(ve=Ce.offsetHeight,this.dom.menu.style.left="0",this.dom.menu.style.top=Ie+ve+"px",this.dom.menu.style.bottom=""):(this.dom.menu.style.left="0",this.dom.menu.style.top="",this.dom.menu.style.bottom="0px"),this.limitHeight&&(we=ye?xe.bottom-Se.bottom-10:Se.top-xe.top-10,this.dom.list.style.maxHeight=we+"px",this.dom.list.style.overflowY="auto"),this.dom.absoluteAnchor.appendChild(this.dom.root),this.selection=(0,be.getSelection)(),this.anchor=Ce,setTimeout((function(){ke.dom.focusButton.focus()}),0),l.visibleMenu&&l.visibleMenu.hide(),l.visibleMenu=this}},{key:"hide",value:function(){this.dom.absoluteAnchor&&(this.dom.absoluteAnchor.destroy(),delete this.dom.absoluteAnchor),this.dom.root.parentNode&&(this.dom.root.parentNode.removeChild(this.dom.root),this.onClose&&this.onClose()),l.visibleMenu===this&&(l.visibleMenu=void 0)}},{key:"_onExpandItem",value:function(Ce){var Ie,ve=this,Ae=Ce===this.expandedItem,ye=this.expandedItem;ye&&(ye.ul.style.height="0",ye.ul.style.padding="",setTimeout((function(){ve.expandedItem!==ye&&(ye.ul.style.display="",be.removeClassName)(ye.ul.parentNode,"jsoneditor-selected")}),300),this.expandedItem=void 0),Ae||((Ie=Ce.ul).style.display="block",Ie.clientHeight,setTimeout((function(){if(ve.expandedItem===Ce){for(var Ae=0,be=0;be<Ie.childNodes.length;be++)Ae+=Ie.childNodes[be].clientHeight;Ie.style.height=Ae+"px",Ie.style.padding="5px 10px"}}),0),(0,be.addClassName)(Ie.parentNode,"jsoneditor-selected"),this.expandedItem=Ce)}},{key:"_onKeyDown",value:function(Ce){var Ie,ve,Ae,ye,we=Ce.target,Se=Ce.which,xe=!1;27===Se?(this.selection&&(0,be.setSelection)(this.selection),this.anchor&&this.anchor.focus(),this.hide(),xe=!0):9===Se?Ce.shiftKey?0===(ve=(Ie=this._getVisibleButtons()).indexOf(we))&&(Ie[Ie.length-1].focus(),xe=!0):(ve=(Ie=this._getVisibleButtons()).indexOf(we))===Ie.length-1&&(Ie[0].focus(),xe=!0):37===Se?("jsoneditor-expand"===we.className&&(ve=(Ie=this._getVisibleButtons()).indexOf(we),(Ae=Ie[ve-1])&&Ae.focus()),xe=!0):38===Se?(ve=(Ie=this._getVisibleButtons()).indexOf(we),(Ae=(Ae=(Ae=Ie[ve-1])&&"jsoneditor-expand"===Ae.className?Ie[ve-2]:Ae)||Ie[Ie.length-1])&&Ae.focus(),xe=!0):39===Se?(ve=(Ie=this._getVisibleButtons()).indexOf(we),(ye=Ie[ve+1])&&"jsoneditor-expand"===ye.className&&ye.focus(),xe=!0):40===Se&&(ve=(Ie=this._getVisibleButtons()).indexOf(we),(ye=(ye=(ye=Ie[ve+1])&&"jsoneditor-expand"===ye.className?Ie[ve+2]:ye)||Ie[0])&&(ye.focus(),xe=!0),xe=!0),xe&&(Ce.stopPropagation(),Ce.preventDefault())}}])&&n(Ce.prototype,Ie),ve&&n(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),l}();we.visibleMenu=void 0},6436:function(Ce,Ie,ve){"use strict";function r(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}ve.d(Ie,{Q:function(){return Ae}});var Ae=function(){function i(Ce){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");var Ie;this.errorTableVisible=Ce.errorTableVisible,this.onToggleVisibility=Ce.onToggleVisibility,this.onFocusLine=Ce.onFocusLine||function(){},this.onChangeHeight=Ce.onChangeHeight,this.dom={},((Ce=document.createElement("div")).className="jsoneditor-validation-errors-container",this.dom.validationErrorsContainer=Ce,Ie=document.createElement("div")).style.display="none",Ie.className="jsoneditor-additional-errors fadein",Ie.textContent="Scroll for more ▿",this.dom.additionalErrorsIndication=Ie,Ce.appendChild(Ie),((Ce=document.createElement("span")).className="jsoneditor-validation-error-icon",Ce.style.display="none",this.dom.validationErrorIcon=Ce,Ie=document.createElement("span")).className="jsoneditor-validation-error-count",Ie.style.display="none",this.dom.validationErrorCount=Ie,this.dom.parseErrorIndication=document.createElement("span"),this.dom.parseErrorIndication.className="jsoneditor-parse-error-icon",this.dom.parseErrorIndication.style.display="none"}var Ce,Ie,ve;return Ce=i,(Ie=[{key:"getErrorTable",value:function(){return this.dom.validationErrorsContainer}},{key:"getErrorCounter",value:function(){return this.dom.validationErrorCount}},{key:"getWarningIcon",value:function(){return this.dom.validationErrorIcon}},{key:"getErrorIcon",value:function(){return this.dom.parseErrorIndication}},{key:"toggleTableVisibility",value:function(){this.errorTableVisible=!this.errorTableVisible,this.onToggleVisibility(this.errorTableVisible)}},{key:"setErrors",value:function(Ce,Ie){var ve,Ae,be=this,ye=(this.dom.validationErrors&&(this.dom.validationErrors.parentNode.removeChild(this.dom.validationErrors),this.dom.validationErrors=null,this.dom.additionalErrorsIndication.style.display="none"),this.errorTableVisible&&0<Ce.length?((ye=document.createElement("div")).className="jsoneditor-validation-errors",(Ae=document.createElement("table")).className="jsoneditor-text-errors",ye.appendChild(Ae),ve=document.createElement("tbody"),Ae.appendChild(ve),Ce.forEach((function(Ce){isNaN(Ce.line)?!Ce.dataPath||(we=Ie.find((function(Ie){return Ie.path===Ce.dataPath})))&&(Ae=we.line+1):Ae=Ce.line;var Ae,ye,we=document.createElement("tr"),Se=(we.className=isNaN(Ae)?"":"jump-to-line","error"===Ce.type?we.className+=" parse-error":we.className+=" validation-error",document.createElement("td"));((ye=document.createElement("button")).className="jsoneditor-schema-error",Se.appendChild(ye),we.appendChild(Se),ye=document.createElement("td")).style="white-space: nowrap;",ye.textContent=isNaN(Ae)?"":"Ln "+Ae,we.appendChild(ye),"string"==typeof Ce?((Se=document.createElement("td")).colSpan=2,(ye=document.createElement("pre")).appendChild(document.createTextNode(Ce)),Se.appendChild(ye),we.appendChild(Se)):((ye=document.createElement("td")).appendChild(document.createTextNode(Ce.dataPath||"")),we.appendChild(ye),Se=document.createElement("td"),(ye=document.createElement("pre")).appendChild(document.createTextNode(Ce.message.replace(/<br>/gi,"\n"))),Se.appendChild(ye),we.appendChild(Se)),we.onclick=function(){be.onFocusLine(Ae)},ve.appendChild(we)})),this.dom.validationErrors=ye,this.dom.validationErrorsContainer.appendChild(ye),this.dom.additionalErrorsIndication.title=Ce.length+" errors total",this.dom.validationErrorsContainer.clientHeight<this.dom.validationErrorsContainer.scrollHeight?(this.dom.additionalErrorsIndication.style.display="block",this.dom.validationErrorsContainer.onscroll=function(){be.dom.additionalErrorsIndication.style.display=0<be.dom.validationErrorsContainer.clientHeight&&0===be.dom.validationErrorsContainer.scrollTop?"block":"none"}):this.dom.validationErrorsContainer.onscroll=void 0,Ae=this.dom.validationErrorsContainer.clientHeight+(this.dom.statusBar?this.dom.statusBar.clientHeight:0),this.onChangeHeight(Ae)):this.onChangeHeight(0),Ce.filter((function(Ce){return"error"!==Ce.type})).length);0<ye?(this.dom.validationErrorCount.style.display="inline",this.dom.validationErrorCount.innerText=ye,this.dom.validationErrorCount.onclick=this.toggleTableVisibility.bind(this),this.dom.validationErrorIcon.style.display="inline",this.dom.validationErrorIcon.title=ye+" schema validation error(s) found",this.dom.validationErrorIcon.onclick=this.toggleTableVisibility.bind(this)):(this.dom.validationErrorCount.style.display="none",this.dom.validationErrorIcon.style.display="none"),Ce.some((function(Ce){return"error"===Ce.type}))?(Ae=Ce[0].line,this.dom.parseErrorIndication.style.display="block",this.dom.parseErrorIndication.title=isNaN(Ae)?"parse error - check that the json is valid":"parse error on line "+Ae,this.dom.parseErrorIndication.onclick=this.toggleTableVisibility.bind(this)):this.dom.parseErrorIndication.style.display="none"}}])&&r(Ce.prototype,Ie),ve&&r(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),i}()},2474:function(Ce,Ie,ve){"use strict";function r(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}ve.d(Ie,{R:function(){return Ae}});var Ae=function(){function t(Ce){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function");if(this.target=Ce.target||null,!this.target)throw new Error('FocusTracker constructor called without a "target" to track.');this.onFocus="function"==typeof Ce.onFocus?Ce.onFocus:null,this.onBlur="function"==typeof Ce.onBlur?Ce.onBlur:null,this._onClick=this._onEvent.bind(this),this._onKeyUp=function(Ce){9!==Ce.which&&9!==Ce.keyCode||this._onEvent(Ce)}.bind(this),this.focusFlag=!1,this.firstEventFlag=!0,(this.onFocus||this.onBlur)&&(document.addEventListener("click",this._onClick),document.addEventListener("keyup",this._onKeyUp))}var Ce,Ie,ve;return Ce=t,(Ie=[{key:"destroy",value:function(){document.removeEventListener("click",this._onClick),document.removeEventListener("keyup",this._onKeyUp),this._onEvent({target:document.body})}},{key:"_onEvent",value:function(Ce){(Ce=(Ce=Ce.target)===this.target||!(!this.target.contains(Ce)&&!this.target.contains(document.activeElement)))?this.focusFlag||(this.onFocus&&this.onFocus({type:"focus",target:this.target}),this.focusFlag=!0):(this.focusFlag||this.firstEventFlag)&&(this.onBlur&&this.onBlur({type:"blur",target:this.target}),this.focusFlag=!1,this.firstEventFlag&&(this.firstEventFlag=!1))}}])&&r(Ce.prototype,Ie),ve&&r(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),t}()},3161:function(Ce,Ie,ve){"use strict";var be=ve(8170),ye=ve(8037),we=ve(8038).treeModeMixins,Se=ve(5956).textModeMixins,xe=ve(341).previewModeMixins,ke=(Le=ve(9791)).clear,Ee=Le.extend,Re=Le.getInnerText,_e=Le.getInternetExplorerVersion,$e=Le.parse,Le=ve(2744).tryRequireAjv,Be=ve(2558).showTransformModal,We=ve(6210).showSortModal,Ne=Le();function c(Ce,Ie,ve){if(!(this instanceof c))throw new Error('JSONEditor constructor called without "new".');var be=_e();if(-1!==be&&be<9)throw new Error("Unsupported browser, IE9 or newer required. Please install the newest version of your browser.");Ie&&(Ie.error&&(Ae.warn('Option "error" has been renamed to "onError"'),Ie.onError=Ie.error,delete Ie.error),Ie.change&&(Ae.warn('Option "change" has been renamed to "onChange"'),Ie.onChange=Ie.change,delete Ie.change),Ie.editable&&(Ae.warn('Option "editable" has been renamed to "onEditable"'),Ie.onEditable=Ie.editable,delete Ie.editable),Ie.onChangeJSON&&("text"!==Ie.mode&&"code"!==Ie.mode&&(!Ie.modes||-1===Ie.modes.indexOf("text")&&-1===Ie.modes.indexOf("code"))||Ae.warn('Option "onChangeJSON" is not applicable to modes "text" and "code". Use "onChangeText" or "onChange" instead.')),Ie&&Object.keys(Ie).forEach((function(Ce){-1===c.VALID_OPTIONS.indexOf(Ce)&&Ae.warn('Unknown option "'+Ce+'". This option will be ignored')}))),arguments.length&&this._create(Ce,Ie,ve)}"undefined"==typeof Promise&&Ae.error("Promise undefined. Please load a Promise polyfill in the browser in order to use JSONEditor"),c.modes={},c.prototype.DEBOUNCE_INTERVAL=150,c.VALID_OPTIONS=["ajv","schema","schemaRefs","templates","ace","theme","autocomplete","onChange","onChangeJSON","onChangeText","onEditable","onError","onEvent","onModeChange","onNodeName","onValidate","onCreateMenu","onSelectionChange","onTextSelectionChange","onClassName","onFocus","onBlur","colorPicker","onColorPicker","timestampTag","timestampFormat","escapeUnicode","history","search","mode","modes","name","indentation","sortObjectKeys","navigationBar","statusBar","mainMenuBar","languages","language","enableSort","enableTransform","limitDragging","maxVisibleChilds","onValidationError","modalAnchor","popupAnchor","createQuery","executeQuery","queryDescription"],c.prototype._create=function(Ce,Ie,ve){this.container=Ce,this.options=Ie||{},this.json=ve||{},Ce=this.options.mode||this.options.modes&&this.options.modes[0]||"tree",this.setMode(Ce)},c.prototype.destroy=function(){},c.prototype.set=function(Ce){this.json=Ce},c.prototype.get=function(){return this.json},c.prototype.setText=function(Ce){this.json=$e(Ce)},c.prototype.getText=function(){return JSON.stringify(this.json)},c.prototype.setName=function(Ce){this.options||(this.options={}),this.options.name=Ce},c.prototype.getName=function(){return this.options&&this.options.name},c.prototype.setMode=function(Ce){if(Ce!==this.options.mode||!this.create){var Ie=this.container,ve=Ee({},this.options),be=ve.mode,ye=(ve.mode=Ce,c.modes[Ce]);if(!ye)throw new Error('Unknown mode "'+ve.mode+'"');var we="text"===ye.data,Se=this.getName(),xe=this[we?"getText":"get"]();if(this.destroy(),ke(this),Ee(this,ye.mixin),this.create(Ie,ve),this.setName(Se),this[we?"setText":"set"](xe),"function"==typeof ye.load)try{ye.load.call(this)}catch(Ce){Ae.error(Ce)}if("function"==typeof ve.onModeChange&&Ce!==be)try{ve.onModeChange(Ce,be)}catch(Ce){Ae.error(Ce)}}},c.prototype.getMode=function(){return this.options.mode},c.prototype._onError=function(Ce){this.options&&"function"==typeof this.options.onError?this.options.onError(Ce):alert(Ce.toString())},c.prototype.setSchema=function(Ce,Ie){if(Ce){var be;try{this.options.ajv?be=this.options.ajv:((be=Ne({allErrors:!0,verbose:!0,schemaId:"auto",$data:!0})).addMetaSchema(ve(7171)),be.addMetaSchema(ve(6273)))}catch(Ce){Ae.warn("Failed to create an instance of Ajv, JSON Schema validation is not available. Please use a JSONEditor bundle including Ajv, or pass an instance of Ajv as via the configuration option `ajv`.")}if(be){if(Ie){for(var ye in Ie)be.removeSchema(ye),Ie[ye]&&be.addSchema(Ie[ye],ye);this.options.schemaRefs=Ie}this.validateSchema=be.compile(Ce),this.options.schema=Ce,this.validate()}this.refresh()}else this.validateSchema=null,this.options.schema=null,this.options.schemaRefs=null,this.validate(),this.refresh()},c.prototype.validate=function(){},c.prototype.refresh=function(){},(c.registerMode=function(Ce){var Ie;if(Array.isArray(Ce))for(be=0;be<Ce.length;be++)c.registerMode(Ce[be]);else{if(!("mode"in Ce))throw new Error('Property "mode" missing');if(!("mixin"in Ce))throw new Error('Property "mixin" missing');if(!("data"in Ce))throw new Error('Property "data" missing');var ve=Ce.mode;if(ve in c.modes)throw new Error('Mode "'+ve+'" already registered');if("function"!=typeof Ce.mixin.create)throw new Error('Required function "create" missing on mixin');for(var Ae=["setMode","registerMode","modes"],be=0;be<Ae.length;be++)if((Ie=Ae[be])in Ce.mixin)throw new Error('Reserved property "'+Ie+'" not allowed in mixin');c.modes[ve]=Ce}})(we),c.registerMode(Se),c.registerMode(xe),c.ace=be,c.Ajv=Ne,c.VanillaPicker=ye,c.showTransformModal=Be,c.showSortModal=We,c.getInnerText=Re,Ce.exports=c.default=c},6617:function(Ce,Ie,ve){"use strict";ve.d(Ie,{x:function(){return ye}});var Ae=ve(897),be=ve(7907);function n(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}var ye=function(){function d(Ce,Ie,ve,ye){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");for(var we={code:{text:(0,be.Iu)("modeCodeText"),title:(0,be.Iu)("modeCodeTitle"),click:function(){ye("code")}},form:{text:(0,be.Iu)("modeFormText"),title:(0,be.Iu)("modeFormTitle"),click:function(){ye("form")}},text:{text:(0,be.Iu)("modeTextText"),title:(0,be.Iu)("modeTextTitle"),click:function(){ye("text")}},tree:{text:(0,be.Iu)("modeTreeText"),title:(0,be.Iu)("modeTreeTitle"),click:function(){ye("tree")}},view:{text:(0,be.Iu)("modeViewText"),title:(0,be.Iu)("modeViewTitle"),click:function(){ye("view")}},preview:{text:(0,be.Iu)("modePreviewText"),title:(0,be.Iu)("modePreviewTitle"),click:function(){ye("preview")}}},Se=[],xe=0;xe<Ie.length;xe++){var ke=Ie[xe],Ee=we[ke];if(!Ee)throw new Error('Unknown mode "'+ke+'"');Ee.className="jsoneditor-type-modes"+(ve===ke?" jsoneditor-selected":""),Se.push(Ee)}if(!(Re=we[ve]))throw new Error('Unknown mode "'+ve+'"');var Re=Re.text,_e=document.createElement("button");(_e.type="button",_e.className="jsoneditor-modes jsoneditor-separator",_e.textContent=Re+" ▾",_e.title=(0,be.Iu)("modeEditorTitle"),_e.onclick=function(){new Ae.x(Se).show(_e,Ce)},Re=document.createElement("div")).className="jsoneditor-modes",Re.style.position="relative",Re.appendChild(_e),Ce.appendChild(Re),this.dom={container:Ce,box:_e,frame:Re}}var Ce,Ie,ve;return Ce=d,(Ie=[{key:"focus",value:function(){this.dom.box.focus()}},{key:"destroy",value:function(){this.dom&&this.dom.frame&&this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom=null}}])&&n(Ce.prototype,Ie),ve&&n(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),d}()},8170:function(Ce,Ie,ve){var Ae;if(window.ace)Ae=window.ace;else try{Ae=ve(6225),ve(4091),ve(3330);var be=ve(7923);Ae.config.setModuleUrl("ace/mode/json_worker",be)}catch(Ce){}Ce.exports=Ae},4864:function(){window.ace.define("ace/theme/jsoneditor",["require","exports","module","ace/lib/dom"],(function(Ce,Ie,ve){Ie.isDark=!1,Ie.cssClass="ace-jsoneditor",Ie.cssText='.ace-jsoneditor .ace_gutter {\nbackground: #ebebeb;\ncolor: #333\n}\n\n.ace-jsoneditor.ace_editor {\nline-height: 1.3;\nbackground-color: #fff;\n}\n.ace-jsoneditor .ace_print-margin {\nwidth: 1px;\nbackground: #e8e8e8\n}\n.ace-jsoneditor .ace_scroller {\nbackground-color: #FFFFFF\n}\n.ace-jsoneditor .ace_text-layer {\ncolor: gray\n}\n.ace-jsoneditor .ace_variable {\ncolor: #1a1a1a\n}\n.ace-jsoneditor .ace_cursor {\nborder-left: 2px solid #000000\n}\n.ace-jsoneditor .ace_overwrite-cursors .ace_cursor {\nborder-left: 0px;\nborder-bottom: 1px solid #000000\n}\n.ace-jsoneditor .ace_marker-layer .ace_selection {\nbackground: lightgray\n}\n.ace-jsoneditor.ace_multiselect .ace_selection.ace_start {\nbox-shadow: 0 0 3px 0px #FFFFFF;\nborder-radius: 2px\n}\n.ace-jsoneditor .ace_marker-layer .ace_step {\nbackground: rgb(255, 255, 0)\n}\n.ace-jsoneditor .ace_marker-layer .ace_bracket {\nmargin: -1px 0 0 -1px;\nborder: 1px solid #BFBFBF\n}\n.ace-jsoneditor .ace_marker-layer .ace_active-line {\nbackground: #FFFBD1\n}\n.ace-jsoneditor .ace_gutter-active-line {\nbackground-color : #dcdcdc\n}\n.ace-jsoneditor .ace_marker-layer .ace_selected-word {\nborder: 1px solid lightgray\n}\n.ace-jsoneditor .ace_invisible {\ncolor: #BFBFBF\n}\n.ace-jsoneditor .ace_keyword,\n.ace-jsoneditor .ace_meta,\n.ace-jsoneditor .ace_support.ace_constant.ace_property-value {\ncolor: #AF956F\n}\n.ace-jsoneditor .ace_keyword.ace_operator {\ncolor: #484848\n}\n.ace-jsoneditor .ace_keyword.ace_other.ace_unit {\ncolor: #96DC5F\n}\n.ace-jsoneditor .ace_constant.ace_language {\ncolor: darkorange\n}\n.ace-jsoneditor .ace_constant.ace_numeric {\ncolor: red\n}\n.ace-jsoneditor .ace_constant.ace_character.ace_entity {\ncolor: #BF78CC\n}\n.ace-jsoneditor .ace_invalid {\ncolor: #FFFFFF;\nbackground-color: #FF002A;\n}\n.ace-jsoneditor .ace_fold {\nbackground-color: #AF956F;\nborder-color: #000000\n}\n.ace-jsoneditor .ace_storage,\n.ace-jsoneditor .ace_support.ace_class,\n.ace-jsoneditor .ace_support.ace_function,\n.ace-jsoneditor .ace_support.ace_other,\n.ace-jsoneditor .ace_support.ace_type {\ncolor: #C52727\n}\n.ace-jsoneditor .ace_string {\ncolor: green\n}\n.ace-jsoneditor .ace_comment {\ncolor: #BCC8BA\n}\n.ace-jsoneditor .ace_entity.ace_name.ace_tag,\n.ace-jsoneditor .ace_entity.ace_other.ace_attribute-name {\ncolor: #606060\n}\n.ace-jsoneditor .ace_markup.ace_underline {\ntext-decoration: underline\n}\n.ace-jsoneditor .ace_indent-guide {\nbackground: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y\n}',Ce("../lib/dom").importCssString(Ie.cssText,Ie.cssClass)}))},6589:function(Ce,Ie){var ve=function(){var Ce,Ie={trace:function(){},yy:{},symbols_:{error:2,JSONString:3,STRING:4,JSONNumber:5,NUMBER:6,JSONNullLiteral:7,NULL:8,JSONBooleanLiteral:9,TRUE:10,FALSE:11,JSONText:12,JSONValue:13,EOF:14,JSONObject:15,JSONArray:16,"{":17,"}":18,JSONMemberList:19,JSONMember:20,":":21,",":22,"[":23,"]":24,JSONElementList:25,$accept:0,$end:1},terminals_:{2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"},productions_:[0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],performAction:function(Ce,Ie,ve,Ae,be,ye,we){var Se=ye.length-1;switch(be){case 1:this.$=Ce.replace(/\\(\\|")/g,"$1").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g,"\t").replace(/\\v/g,"\v").replace(/\\f/g,"\f").replace(/\\b/g,"\b");break;case 2:this.$=Number(Ce);break;case 3:this.$=null;break;case 4:this.$=!0;break;case 5:this.$=!1;break;case 6:return this.$=ye[Se-1];case 13:this.$={};break;case 14:case 19:this.$=ye[Se-1];break;case 15:this.$=[ye[Se-2],ye[Se]];break;case 16:this.$={},this.$[ye[Se][0]]=ye[Se][1];break;case 17:this.$=ye[Se-2],ye[Se-2][ye[Se][0]]=ye[Se][1];break;case 18:this.$=[];break;case 20:this.$=[ye[Se]];break;case 21:this.$=ye[Se-2],ye[Se-2].push(ye[Se])}},table:[{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],defaultActions:{16:[2,6]},parseError:function(Ce,Ie){throw new Error(Ce)},parse:function(Ce){var Ie=this,ve=[0],Ae=[null],be=[],ye=this.table,we="",Se=0,xe=0,ke=0,Ee=(this.lexer.setInput(Ce),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,void 0===this.lexer.yylloc&&(this.lexer.yylloc={}),this.lexer.yylloc);function m(){var Ce=Ie.lexer.lex()||1;return"number"!=typeof Ce&&Ie.symbols_[Ce]||Ce}be.push(Ee),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var Re,_e,$e,Le,Be,We,Ne,Ge,Pe,Fe={};;){if($e=ve[ve.length-1],void 0===(Le=this.defaultActions[$e]||(null==Re&&(Re=m()),ye[$e]&&ye[$e][Re]))||!Le.length||!Le[0]){if(!ke){for(Be in Ge=[],ye[$e])this.terminals_[Be]&&2<Be&&Ge.push("'"+this.terminals_[Be]+"'");var He="";He=this.lexer.showPosition?"Parse error on line "+(Se+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+Ge.join(", ")+", got '"+this.terminals_[Re]+"'":"Parse error on line "+(Se+1)+": Unexpected "+(1==Re?"end of input":"'"+(this.terminals_[Re]||Re)+"'"),this.parseError(He,{text:this.lexer.match,token:this.terminals_[Re]||Re,line:this.lexer.yylineno,loc:Ee,expected:Ge})}if(3==ke){if(1==Re)throw new Error(He||"Parsing halted.");xe=this.lexer.yyleng,we=this.lexer.yytext,Se=this.lexer.yylineno,Ee=this.lexer.yylloc,Re=m()}for(;!(2..toString()in ye[$e]);){if(0==$e)throw new Error(He||"Parsing halted.");Pe=1,ve.length=ve.length-2*Pe,Ae.length=Ae.length-Pe,be.length=be.length-Pe,$e=ve[ve.length-1]}_e=Re,Re=2,Le=ye[$e=ve[ve.length-1]]&&ye[$e][2],ke=3}if(Le[0]instanceof Array&&1<Le.length)throw new Error("Parse Error: multiple actions possible at state: "+$e+", token: "+Re);switch(Le[0]){case 1:ve.push(Re),Ae.push(this.lexer.yytext),be.push(this.lexer.yylloc),ve.push(Le[1]),Re=null,_e?(Re=_e,_e=null):(xe=this.lexer.yyleng,we=this.lexer.yytext,Se=this.lexer.yylineno,Ee=this.lexer.yylloc,0<ke&&ke--);break;case 2:if(We=this.productions_[Le[1]][1],Fe.$=Ae[Ae.length-We],Fe._$={first_line:be[be.length-(We||1)].first_line,last_line:be[be.length-1].last_line,first_column:be[be.length-(We||1)].first_column,last_column:be[be.length-1].last_column},void 0!==(Ne=this.performAction.call(Fe,we,xe,Se,this.yy,Le[1],Ae,be)))return Ne;We&&(ve=ve.slice(0,-1*We*2),Ae=Ae.slice(0,-1*We),be=be.slice(0,-1*We)),ve.push(this.productions_[Le[1]][0]),Ae.push(Fe.$),be.push(Fe._$),Ne=ye[ve[ve.length-2]][ve[ve.length-1]],ve.push(Ne);break;case 3:return!0}}return!0}};return Ce={EOF:1,parseError:function(Ce,Ie){if(!this.yy.parseError)throw new Error(Ce);this.yy.parseError(Ce,Ie)},setInput:function(Ce){return this._input=Ce,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var Ce=this._input[0];return this.yytext+=Ce,this.yyleng++,this.match+=Ce,this.matched+=Ce,Ce.match(/\n/)&&this.yylineno++,this._input=this._input.slice(1),Ce},unput:function(Ce){return this._input=Ce+this._input,this},more:function(){return this._more=!0,this},less:function(Ce){this._input=this.match.slice(Ce)+this._input},pastInput:function(){var Ce=this.matched.substr(0,this.matched.length-this.match.length);return(20<Ce.length?"...":"")+Ce.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Ce=this.match;return Ce.length<20&&(Ce+=this._input.substr(0,20-Ce.length)),(Ce.substr(0,20)+(20<Ce.length?"...":"")).replace(/\n/g,"")},showPosition:function(){var Ce=this.pastInput(),Ie=new Array(Ce.length+1).join("-");return Ce+this.upcomingInput()+"\n"+Ie+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var Ce,Ie,ve,Ae,be=this._currentRules(),ye=0;ye<be.length&&(!(Ie=this._input.match(this.rules[be[ye]]))||Ce&&!(Ie[0].length>Ce[0].length)||(Ce=Ie,ve=ye,this.options.flex));ye++);return Ce?((Ae=Ce[0].match(/\n.*/g))&&(this.yylineno+=Ae.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ae?Ae[Ae.length-1].length-1:this.yylloc.last_column+Ce[0].length},this.yytext+=Ce[0],this.match+=Ce[0],this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(Ce[0].length),this.matched+=Ce[0],Ae=this.performAction.call(this,this.yy,this,be[ve],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ae||void 0):""===this._input?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ce=this.next();return void 0!==Ce?Ce:this.lex()},begin:function(Ce){this.conditionStack.push(Ce)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(Ce){this.begin(Ce)},options:{},performAction:function(Ce,Ie,ve,Ae){switch(ve){case 0:break;case 1:return 6;case 2:return Ie.yytext=Ie.yytext.substr(1,Ie.yyleng-2),4;case 3:return 17;case 4:return 18;case 5:return 23;case 6:return 24;case 7:return 22;case 8:return 21;case 9:return 10;case 10:return 11;case 11:return 8;case 12:return 14;case 13:return"INVALID"}},rules:[/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}},Ie.lexer=Ce,Ie}();Ie.parser=ve,Ie.parse=ve.parse.bind(ve)},3879:function(Ce){"use strict";function n(){}var Ie={defaultSelected:!0,width:"auto",disabled:!1,searchable:!0,clearable:!1,sortSelected:!1,allowDeselect:!1,closeOnScroll:!1,nativeDropdown:!1,placeholder:"Select an option...",taggable:!1,tagPlaceholder:"Enter a tag..."},ve=(n.prototype={on:function(Ce,Ie){this._events=this._events||{},this._events[Ce]=this._events[Ce]||[],this._events[Ce].push(Ie)},off:function(Ce,Ie){this._events=this._events||{},Ce in this._events!=0&&this._events[Ce].splice(this._events[Ce].indexOf(Ie),1)},emit:function(Ce){if(this._events=this._events||{},Ce in this._events!=0)for(var Ie=0;Ie<this._events[Ce].length;Ie++)this._events[Ce][Ie].apply(this,Array.prototype.slice.call(arguments,1))}},n.mixin=function(Ce){for(var Ie=["on","off","emit"],ve=0;ve<Ie.length;ve++)"function"==typeof Ce?Ce.prototype[Ie[ve]]=n.prototype[Ie[ve]]:Ce[Ie[ve]]=n.prototype[Ie[ve]];return Ce},{extend:function(Ce,Ie){for(var ve in Ie=Ie||{},Ce)Ce.hasOwnProperty(ve)&&(Ie.hasOwnProperty(ve)||(Ie[ve]=Ce[ve]));return Ie},each:function(Ce,Ie,ve){if("[object Object]"===Object.prototype.toString.call(Ce))for(var Ae in Ce)Object.prototype.hasOwnProperty.call(Ce,Ae)&&Ie.call(ve,Ae,Ce[Ae],Ce);else for(var be=0,ye=Ce.length;be<ye;be++)Ie.call(ve,be,Ce[be],Ce)},createElement:function(Ce,Ie){var ve,Ae,be=document,ye=be.createElement(Ce);if(Ie&&"[object Object]"===Object.prototype.toString.call(Ie))for(ve in Ie)ve in ye?ye[ve]=Ie[ve]:"html"===ve?ye.textContent=Ie[ve]:"text"===ve?(Ae=be.createTextNode(Ie[ve]),ye.appendChild(Ae)):ye.setAttribute(ve,Ie[ve]);return ye},hasClass:function(Ce,Ie){if(Ce)return Ce.classList?Ce.classList.contains(Ie):!!Ce.className&&!!Ce.className.match(new RegExp("(\\s|^)"+Ie+"(\\s|$)"))},addClass:function(Ce,Ie){ve.hasClass(Ce,Ie)||(Ce.classList?Ce.classList.add(Ie):Ce.className=Ce.className.trim()+" "+Ie)},removeClass:function(Ce,Ie){ve.hasClass(Ce,Ie)&&(Ce.classList?Ce.classList.remove(Ie):Ce.className=Ce.className.replace(new RegExp("(^|\\s)"+Ie.split(" ").join("|")+"(\\s|$)","gi")," "))},closest:function(Ce,Ie){return Ce&&Ce!==document.body&&(Ie(Ce)?Ce:ve.closest(Ce.parentNode,Ie))},isInt:function(Ce){return"number"==typeof Ce&&isFinite(Ce)&&Math.floor(Ce)===Ce},debounce:function(Ce,Ie,ve){var Ae;return function(){var be=this,ye=arguments,we=ve&&!Ae;clearTimeout(Ae),Ae=setTimeout((function(){Ae=null,ve||Ce.apply(be,ye)}),Ie),we&&Ce.apply(be,ye)}},rect:function(Ce,Ie){var ve=window,Ae=(Ce=Ce.getBoundingClientRect(),Ie?ve.pageXOffset:0);return Ie=Ie?ve.pageYOffset:0,{bottom:Ce.bottom+Ie,height:Ce.height,left:Ce.left+Ae,right:Ce.right+Ae,top:Ce.top+Ie,width:Ce.width}},includes:function(Ce,Ie){return-1<Ce.indexOf(Ie)},truncate:function(Ce){for(;Ce.firstChild;)Ce.removeChild(Ce.firstChild)}});function l(Ce,Ie){return Ce.hasOwnProperty(Ie)&&(!0===Ce[Ie]||Ce[Ie].length)}function a(Ce,Ie,Ae){Ce.parentNode?Ce.parentNode.parentNode||Ie.appendChild(Ce.parentNode):Ie.appendChild(Ce),ve.removeClass(Ce,"excluded"),Ae||(Ce.textContent=Ce.textContent+"")}function i(){var Ce,Ie;this.items.length&&(Ce=document.createDocumentFragment(),this.config.pagination?(Ie=this.pages.slice(0,this.pageIndex),ve.each(Ie,(function(Ie,Ae){ve.each(Ae,(function(Ie,ve){a(ve,Ce,this.customOption)}),this)}),this)):ve.each(this.items,(function(Ie,ve){a(ve,Ce,this.customOption)}),this),Ce.childElementCount&&(ve.removeClass(this.items[this.navIndex],"active"),this.navIndex=Ce.querySelector(".selectr-option").idx,ve.addClass(this.items[this.navIndex],"active")),this.tree.appendChild(Ce))}function c(Ce,Ie){return Ie=Ie||Ce,Ie=this.customOption?this.config.renderOption(Ie):Ce.textContent,(Ie=ve.createElement("li",{class:"selectr-option",html:Ie,role:"treeitem","aria-selected":!1})).idx=Ce.idx,this.items.push(Ie),Ce.defaultSelected&&this.defaultSelected.push(Ce.idx),Ce.disabled&&(Ie.disabled=!0,ve.addClass(Ie,"disabled")),Ie}function r(){var Ce,Ie=this.tree,Ae=Ie.scrollTop;Ie.scrollHeight-Ie.offsetHeight<=Ae&&this.pageIndex<this.pages.length&&(Ce=document.createDocumentFragment(),ve.each(this.pages[this.pageIndex],(function(Ie,ve){a(ve,Ce,this.customOption)}),this),Ie.appendChild(Ce),this.pageIndex++,this.emit("selectr.paginate",{items:this.items.length,total:this.data.length,page:this.pageIndex,pages:this.pages.length}))}function t(){(this.config.searchable||this.config.taggable)&&(this.input.value=null,this.searching=!1,this.config.searchable&&ve.removeClass(this.inputContainer,"active"),ve.hasClass(this.container,"notice")&&(ve.removeClass(this.container,"notice"),ve.addClass(this.container,"open"),this.input.focus()),ve.each(this.items,(function(Ce,Ie){ve.removeClass(Ie,"excluded"),this.customOption||(Ie.textContent=Ie.textContent+"")}),this))}function o(Ce,Ie){if(Ie=Ie||{},!Ce)throw new Error("You must supply either a HTMLSelectElement or a CSS3 selector string.");if("string"==typeof(this.el=Ce)&&(this.el=document.querySelector(Ce)),null===this.el)throw new Error("The element you passed to Selectr can not be found.");if("select"!==this.el.nodeName.toLowerCase())throw new Error("The element you passed to Selectr is not a HTMLSelectElement.");this.render(Ie)}o.prototype.render=function(Ce){var Ae;this.rendered||(this.config=ve.extend(Ie,Ce),this.originalType=this.el.type,this.originalIndex=this.el.tabIndex,this.defaultSelected=[],this.originalOptionCount=this.el.options.length,(this.config.multiple||this.config.taggable)&&(this.el.multiple=!0),this.disabled=l(this.config,"disabled"),this.opened=!1,this.config.taggable&&(this.config.searchable=!1),this.navigating=!1,this.mobileDevice=!1,/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(navigator.userAgent)&&(this.mobileDevice=!0),this.customOption=this.config.hasOwnProperty("renderOption")&&"function"==typeof this.config.renderOption,this.customSelected=this.config.hasOwnProperty("renderSelection")&&"function"==typeof this.config.renderSelection,n.mixin(this),function(){this.requiresPagination=this.config.pagination&&0<this.config.pagination,l(this.config,"width")&&(ve.isInt(this.config.width)?this.width=this.config.width+"px":"auto"===this.config.width?this.width="100%":ve.includes(this.config.width,"%")&&(this.width=this.config.width)),this.container=ve.createElement("div",{class:"selectr-container"}),this.config.customClass&&ve.addClass(this.container,this.config.customClass),this.mobileDevice?ve.addClass(this.container,"selectr-mobile"):ve.addClass(this.container,"selectr-desktop"),this.el.tabIndex=-1,this.config.nativeDropdown||this.mobileDevice?ve.addClass(this.el,"selectr-visible"):ve.addClass(this.el,"selectr-hidden"),this.selected=ve.createElement("div",{class:"selectr-selected",disabled:this.disabled,tabIndex:1,"aria-expanded":!1}),this.label=ve.createElement(this.el.multiple?"ul":"span",{class:"selectr-label"});var Ce,Ie,Ae,be,ye=ve.createElement("div",{class:"selectr-options-container"}),we=(this.tree=ve.createElement("ul",{class:"selectr-options",role:"tree","aria-hidden":!0,"aria-expanded":!1}),this.notice=ve.createElement("div",{class:"selectr-notice"}),this.el.setAttribute("aria-hidden",!0),this.disabled&&(this.el.disabled=!0),this.el.multiple&&(ve.addClass(this.label,"selectr-tags"),ve.addClass(this.container,"multiple"),this.tags=[],this.selectedValues=this.getSelectedProperties("value"),this.selectedIndexes=this.getSelectedProperties("idx")),this.selected.appendChild(this.label),this.config.clearable&&(this.selectClear=ve.createElement("button",{class:"selectr-clear",type:"button"}),this.container.appendChild(this.selectClear),ve.addClass(this.container,"clearable")),this.config.taggable&&(Ce=ve.createElement("li",{class:"input-tag"}),this.input=ve.createElement("input",{class:"selectr-tag-input",placeholder:this.config.tagPlaceholder,tagIndex:0,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",role:"textbox",type:"search"}),Ce.appendChild(this.input),this.label.appendChild(Ce),ve.addClass(this.container,"taggable"),this.tagSeperators=[","],this.config.tagSeperators&&(this.tagSeperators=this.tagSeperators.concat(this.config.tagSeperators))),this.config.searchable&&(this.input=ve.createElement("input",{class:"selectr-input",tagIndex:-1,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",role:"textbox",type:"search"}),this.inputClear=ve.createElement("button",{class:"selectr-input-clear",type:"button"}),this.inputContainer=ve.createElement("div",{class:"selectr-input-container"}),this.inputContainer.appendChild(this.input),this.inputContainer.appendChild(this.inputClear),ye.appendChild(this.inputContainer)),ye.appendChild(this.notice),ye.appendChild(this.tree),this.items=[],this.options=[],this.el.options.length&&(this.options=[].slice.call(this.el.options)),!1),Se=0;this.el.children.length&&ve.each(this.el.children,(function(Ce,Ie){"OPTGROUP"===Ie.nodeName?(we=ve.createElement("ul",{class:"selectr-optgroup",role:"group",html:"<li class='selectr-optgroup--label'>"+Ie.label+"</li>"}),ve.each(Ie.children,(function(Ce,Ie){Ie.idx=Se,we.appendChild(c.call(this,Ie,we)),Se++}),this)):(Ie.idx=Se,c.call(this,Ie),Se++)}),this),this.config.data&&Array.isArray(this.config.data)&&(Ie=!(this.data=[]),we=!1,Se=0,ve.each(this.config.data,(function(Ce,be){l(be,"children")?(Ie=ve.createElement("optgroup",{label:be.text}),we=ve.createElement("ul",{class:"selectr-optgroup",role:"group",html:"<li class='selectr-optgroup--label'>"+be.text+"</li>"}),ve.each(be.children,(function(Ce,ve){(Ae=new Option(ve.text,ve.value,!1,ve.hasOwnProperty("selected")&&!0===ve.selected)).disabled=l(ve,"disabled"),this.options.push(Ae),Ie.appendChild(Ae),Ae.idx=Se,we.appendChild(c.call(this,Ae,ve)),this.data[Se]=ve,Se++}),this)):((Ae=new Option(be.text,be.value,!1,be.hasOwnProperty("selected")&&!0===be.selected)).disabled=l(be,"disabled"),this.options.push(Ae),Ae.idx=Se,c.call(this,Ae,be),this.data[Se]=be,Se++)}),this)),this.setSelected(!0);for(var xe=this.navIndex=0;xe<this.items.length;xe++)if(be=this.items[xe],!ve.hasClass(be,"disabled")){ve.addClass(be,"active"),this.navIndex=xe;break}this.requiresPagination&&(this.pageIndex=1,this.paginate()),this.container.appendChild(this.selected),this.container.appendChild(ye),this.placeEl=ve.createElement("div",{class:"selectr-placeholder"}),this.setPlaceholder(),this.selected.appendChild(this.placeEl),this.disabled&&this.disable(),this.el.parentNode.insertBefore(this.container,this.el),this.container.appendChild(this.el)}.call(this),this.bindEvents(),this.update(),this.optsRect=ve.rect(this.tree),this.rendered=!0,this.el.multiple||(this.el.selectedIndex=this.selectedIndex),Ae=this,setTimeout((function(){Ae.emit("selectr.init")}),20))},o.prototype.getSelected=function(){return this.el.querySelectorAll("option:checked")},o.prototype.getSelectedProperties=function(Ce){var Ie=this.getSelected();return[].slice.call(Ie).map((function(Ie){return Ie[Ce]})).filter((function(Ce){return null!=Ce}))},o.prototype.bindEvents=function(){var Ce=this;this.events={},this.events.dismiss=function(Ce){Ce=Ce.target,this.container.contains(Ce)||!this.opened&&!ve.hasClass(this.container,"notice")||this.close()}.bind(this),this.events.navigate=function(Ce){if(Ce=Ce||window.event,this.items.length&&this.opened&&ve.includes([13,38,40],Ce.which)){if(Ce.preventDefault(),13===Ce.which)return!(this.config.taggable&&0<this.input.value.length)&&this.change(this.navIndex);var Ie,Ae=this.items[this.navIndex];switch(Ce.which){case 38:(Ie=0)<this.navIndex&&this.navIndex--;break;case 40:this.navIndex<this.items.length-(Ie=1)&&this.navIndex++}for(this.navigating=!0;ve.hasClass(this.items[this.navIndex],"disabled")||ve.hasClass(this.items[this.navIndex],"excluded");)if(Ie?this.navIndex++:this.navIndex--,this.searching){if(this.navIndex>this.tree.lastElementChild.idx){this.navIndex=this.tree.lastElementChild.idx;break}if(this.navIndex<this.tree.firstElementChild.idx){this.navIndex=this.tree.firstElementChild.idx;break}}Ce=ve.rect(this.items[this.navIndex]),Ie?(0===this.navIndex?this.tree.scrollTop=0:Ce.top+Ce.height>this.optsRect.top+this.optsRect.height&&(this.tree.scrollTop=this.tree.scrollTop+(Ce.top+Ce.height-(this.optsRect.top+this.optsRect.height))),this.navIndex===this.tree.childElementCount-1&&this.requiresPagination&&r.call(this)):0===this.navIndex?this.tree.scrollTop=0:Ce.top-this.optsRect.top<0&&(this.tree.scrollTop=this.tree.scrollTop+(Ce.top-this.optsRect.top)),Ae&&ve.removeClass(Ae,"active"),ve.addClass(this.items[this.navIndex],"active")}else this.navigating=!1}.bind(this),this.events.reset=this.reset.bind(this),(this.config.nativeDropdown||this.mobileDevice)&&(this.container.addEventListener("touchstart",(function(Ie){Ie.changedTouches[0].target===Ce.el&&Ce.toggle()})),(this.config.nativeDropdown||this.mobileDevice)&&this.container.addEventListener("click",(function(Ie){Ie.preventDefault(),Ie.stopPropagation(),Ie.target===Ce.el&&Ce.toggle()})),this.el.addEventListener("change",(function(Ie){var Ae;Ce.el.multiple?(Ae=Ce.getSelectedProperties("idx"),Ae=function(Ce,Ie){for(var ve,Ae=[],be=Ce.slice(0),ye=0;ye<Ie.length;ye++)-1<(ve=be.indexOf(Ie[ye]))?be.splice(ve,1):Ae.push(Ie[ye]);return[Ae,be]}(Ce.selectedIndexes,Ae),ve.each(Ae[0],(function(Ie,ve){Ce.select(ve)}),Ce),ve.each(Ae[1],(function(Ie,ve){Ce.deselect(ve)}),Ce)):-1<Ce.el.selectedIndex&&Ce.select(Ce.el.selectedIndex)}))),this.config.nativeDropdown&&this.container.addEventListener("keydown",(function(Ie){"Enter"===Ie.key&&Ce.selected===document.activeElement&&(Ce.toggle(),setTimeout((function(){Ce.el.focus()}),200))})),this.selected.addEventListener("click",(function(Ie){Ce.disabled||Ce.toggle(),Ie.preventDefault(),Ie.stopPropagation()})),this.label.addEventListener("click",(function(Ie){ve.hasClass(Ie.target,"selectr-tag-remove")&&Ce.deselect(Ie.target.parentNode.idx)})),this.selectClear&&this.selectClear.addEventListener("click",this.clear.bind(this)),this.tree.addEventListener("mousedown",(function(Ce){Ce.preventDefault()})),this.tree.addEventListener("click",(function(Ie){Ie.preventDefault(),Ie.stopPropagation(),(Ie=ve.closest(Ie.target,(function(Ce){return Ce&&ve.hasClass(Ce,"selectr-option")})))&&(ve.hasClass(Ie,"disabled")||(ve.hasClass(Ie,"selected")?(Ce.el.multiple||!Ce.el.multiple&&Ce.config.allowDeselect)&&Ce.deselect(Ie.idx):Ce.select(Ie.idx),Ce.opened&&!Ce.el.multiple&&Ce.close()))})),this.tree.addEventListener("mouseover",(function(Ie){ve.hasClass(Ie.target,"selectr-option")&&(ve.hasClass(Ie.target,"disabled")||(ve.removeClass(Ce.items[Ce.navIndex],"active"),ve.addClass(Ie.target,"active"),Ce.navIndex=[].slice.call(Ce.items).indexOf(Ie.target)))})),this.config.searchable&&(this.input.addEventListener("focus",(function(Ie){Ce.searching=!0})),this.input.addEventListener("blur",(function(Ie){Ce.searching=!1})),this.input.addEventListener("keyup",(function(Ie){Ce.search(),Ce.config.taggable||(this.value.length?ve.addClass(this.parentNode,"active"):ve.removeClass(this.parentNode,"active"))})),this.inputClear.addEventListener("click",(function(Ie){Ce.input.value=null,t.call(Ce),Ce.tree.childElementCount||i.call(Ce)}))),this.config.taggable&&this.input.addEventListener("keyup",(function(Ie){var Ae;Ce.search(),Ce.config.taggable&&this.value.length&&(Ae=this.value.trim(),13!==Ie.which&&!ve.includes(Ce.tagSeperators,Ie.key)||(ve.each(Ce.tagSeperators,(function(Ce,Ie){Ae=Ae.replace(Ie,"")})),Ce.add({value:Ae,text:Ae,selected:!0},!0)?(Ce.close(),t.call(Ce)):(this.value="",Ce.setMessage("That tag is already in use."))))})),this.update=ve.debounce((function(){Ce.opened&&Ce.config.closeOnScroll&&Ce.close(),Ce.width&&(Ce.container.style.width=Ce.width),Ce.invert()}),50),this.requiresPagination&&(this.paginateItems=ve.debounce((function(){r.call(this)}),50),this.tree.addEventListener("scroll",this.paginateItems.bind(this))),document.addEventListener("click",this.events.dismiss),window.addEventListener("keydown",this.events.navigate),window.addEventListener("resize",this.update),window.addEventListener("scroll",this.update),this.el.form&&this.el.form.addEventListener("reset",this.events.reset)},o.prototype.setSelected=function(Ce){var Ie;this.config.data||this.el.multiple||!this.el.options.length||(0===this.el.selectedIndex&&(this.el.options[0].defaultSelected||this.config.defaultSelected||(this.el.selectedIndex=-1)),this.selectedIndex=this.el.selectedIndex,-1<this.selectedIndex&&this.select(this.selectedIndex)),this.config.multiple&&"select-one"===this.originalType&&!this.config.data&&this.el.options[0].selected&&!this.el.options[0].defaultSelected&&(this.el.options[0].selected=!1),ve.each(this.options,(function(Ce,Ie){Ie.selected&&Ie.defaultSelected&&this.select(Ie.idx)}),this),this.config.selectedValue&&this.setValue(this.config.selectedValue),this.config.data&&(!this.el.multiple&&this.config.defaultSelected&&this.el.selectedIndex<0&&this.select(0),Ie=0,ve.each(this.config.data,(function(Ce,Ae){l(Ae,"children")?ve.each(Ae.children,(function(Ce,ve){ve.hasOwnProperty("selected")&&!0===ve.selected&&this.select(Ie),Ie++}),this):(Ae.hasOwnProperty("selected")&&!0===Ae.selected&&this.select(Ie),Ie++)}),this))},o.prototype.destroy=function(){this.rendered&&(this.emit("selectr.destroy"),"select-one"===this.originalType&&(this.el.multiple=!1),this.config.data&&(this.el.textContent=""),ve.removeClass(this.el,"selectr-hidden"),this.el.form&&ve.off(this.el.form,"reset",this.events.reset),ve.off(document,"click",this.events.dismiss),ve.off(document,"keydown",this.events.navigate),ve.off(window,"resize",this.update),ve.off(window,"scroll",this.update),this.container.parentNode.replaceChild(this.el,this.container),this.rendered=!1)},o.prototype.change=function(Ce){var Ie=this.items[Ce],Ae=this.options[Ce];Ae.disabled||(Ae.selected&&ve.hasClass(Ie,"selected")?this.deselect(Ce):this.select(Ce),this.opened&&!this.el.multiple&&this.close())},o.prototype.select=function(Ce){var Ie=this.items[Ce],Ae=[].slice.call(this.el.options),be=this.options[Ce];if(this.el.multiple){if(ve.includes(this.selectedIndexes,Ce))return!1;if(this.config.maxSelections&&this.tags.length===this.config.maxSelections)return this.setMessage("A maximum of "+this.config.maxSelections+" items can be selected.",!0),!1;this.selectedValues.push(be.value),this.selectedIndexes.push(Ce),function(Ce){var Ie,Ae=this,be=document.createDocumentFragment(),ye=this.options[Ce.idx],we=this.data?this.data[Ce.idx]:ye,Se=(we=this.customSelected?this.config.renderSelection(we):ye.textContent,we=ve.createElement("li",{class:"selectr-tag",html:we}),ve.createElement("button",{class:"selectr-tag-remove",type:"button"}));we.appendChild(Se),we.idx=Ce.idx,we.tag=ye.value,this.tags.push(we),this.config.sortSelected?(Se=this.tags.slice(),Ie=function(Ce,Ie){Ce.replace(/(\d+)|(\D+)/g,(function(Ce,ve,Ae){Ie.push([ve||1/0,Ae||""])}))},Se.sort((function(Ce,ve){var be,ye,we=[],Se=[];for(!0===Ae.config.sortSelected?(be=Ce.tag,ye=ve.tag):"text"===Ae.config.sortSelected&&(be=Ce.textContent,ye=ve.textContent),Ie(be,we),Ie(ye,Se);we.length&&Se.length;){var xe=we.shift(),ke=Se.shift();if(xe=xe[0]-ke[0]||xe[1].localeCompare(ke[1]))return xe}return we.length-Se.length})),ve.each(Se,(function(Ce,Ie){be.appendChild(Ie)})),this.label.textContent=""):be.appendChild(we),this.config.taggable?this.label.insertBefore(be,this.input.parentNode):this.label.appendChild(be)}.call(this,Ie)}else{var ye=this.data?this.data[Ce]:be;this.label.textContent=this.customSelected?this.config.renderSelection(ye):be.textContent,this.selectedValue=be.value,this.selectedIndex=Ce,ve.each(this.options,(function(Ie,Ae){var be=this.items[Ie];Ie!==Ce&&(be&&ve.removeClass(be,"selected"),Ae.selected=!1,Ae.removeAttribute("selected"))}),this)}ve.includes(Ae,be)||this.el.add(be),Ie.setAttribute("aria-selected",!0),ve.addClass(Ie,"selected"),ve.addClass(this.container,"has-selected"),be.selected=!0,be.setAttribute("selected",""),this.emit("selectr.change",be),this.emit("selectr.select",be)},o.prototype.deselect=function(Ce,Ie){var Ae=this.items[Ce],be=this.options[Ce];if(this.el.multiple){var ye=this.selectedIndexes.indexOf(Ce);this.selectedIndexes.splice(ye,1),ye=this.selectedValues.indexOf(be.value),this.selectedValues.splice(ye,1),function(Ce){var Ie=!1;ve.each(this.tags,(function(ve,Ae){Ae.idx===Ce.idx&&(Ie=Ae)}),this),Ie&&(this.label.removeChild(Ie),this.tags.splice(this.tags.indexOf(Ie),1))}.call(this,Ae),this.tags.length||ve.removeClass(this.container,"has-selected")}else{if(!Ie&&!this.config.clearable&&!this.config.allowDeselect)return!1;this.label.textContent="",this.selectedValue=null,this.el.selectedIndex=this.selectedIndex=-1,ve.removeClass(this.container,"has-selected")}this.items[Ce].setAttribute("aria-selected",!1),ve.removeClass(this.items[Ce],"selected"),be.selected=!1,be.removeAttribute("selected"),this.emit("selectr.change",null),this.emit("selectr.deselect",be)},o.prototype.setValue=function(Ce){var Ie=Array.isArray(Ce);if(Ie||(Ce=Ce.toString().trim()),!this.el.multiple&&Ie)return!1;ve.each(this.options,(function(Ae,be){(Ie&&ve.includes(Ce.toString(),be.value)||be.value===Ce)&&this.change(be.idx)}),this)},o.prototype.getValue=function(Ce,Ie){var Ae,be;return this.el.multiple?Ce?this.selectedIndexes.length&&(be={values:[]},ve.each(this.selectedIndexes,(function(Ce,Ie){Ie=this.options[Ie],be.values[Ce]={value:Ie.value,text:Ie.textContent}}),this)):be=this.selectedValues.slice():be=Ce?{value:(Ae=this.options[this.selectedIndex]).value,text:Ae.textContent}:this.selectedValue,be=Ce&&Ie?JSON.stringify(be):be},o.prototype.add=function(Ce,Ie){if(Ce){if(this.data=this.data||[],this.items=this.items||[],this.options=this.options||[],Array.isArray(Ce))ve.each(Ce,(function(Ce,ve){this.add(ve,Ie)}),this);else if("[object Object]"===Object.prototype.toString.call(Ce)){if(Ie){var Ae=!1;if(ve.each(this.options,(function(Ie,ve){ve.value.toLowerCase()===Ce.value.toLowerCase()&&(Ae=!0)})),Ae)return!1}var be=ve.createElement("option",Ce);return this.data.push(Ce),this.options.push(be),be.idx=0<this.options.length?this.options.length-1:0,c.call(this,be),Ce.selected&&this.select(be.idx),be}return this.setPlaceholder(),this.config.pagination&&this.paginate(),!0}},o.prototype.remove=function(Ce){var Ie,Ae=[];Array.isArray(Ce)?ve.each(Ce,(function(Ie,be){ve.isInt(be)?Ae.push(this.getOptionByIndex(be)):"string"==typeof Ce&&Ae.push(this.getOptionByValue(be))}),this):ve.isInt(Ce)?Ae.push(this.getOptionByIndex(Ce)):"string"==typeof Ce&&Ae.push(this.getOptionByValue(Ce)),Ae.length&&(ve.each(Ae,(function(Ce,Ae){Ie=Ae.idx,this.el.remove(Ae),this.options.splice(Ie,1),(Ae=this.items[Ie].parentNode)&&Ae.removeChild(this.items[Ie]),this.items.splice(Ie,1),ve.each(this.options,(function(Ce,Ie){Ie.idx=Ce,this.items[Ce].idx=Ce}),this)}),this),this.setPlaceholder(),this.config.pagination&&this.paginate())},o.prototype.removeAll=function(){this.clear(!0),ve.each(this.el.options,(function(Ce,Ie){this.el.remove(Ie)}),this),ve.truncate(this.tree),this.items=[],this.options=[],this.data=[],this.navIndex=0,this.requiresPagination&&(this.requiresPagination=!1,this.pageIndex=1,this.pages=[]),this.setPlaceholder()},o.prototype.search=function(Ce){var Ie,Ae,be;this.navigating||(Ce=Ce||this.input.value,Ie=document.createDocumentFragment(),this.removeMessage(),ve.truncate(this.tree),1<Ce.length?(ve.each(this.options,(function(Ae,be){var ye,we,Se=this.items[be.idx];ve.includes(be.textContent.toLowerCase(),Ce.toLowerCase())&&!be.disabled?(a(Se,Ie,this.customOption),ve.removeClass(Se,"excluded"),this.customOption||(Se.textContent="",ye=Ce,be=be.textContent,(we=(ye=new RegExp(ye,"i").exec(be))?(we=ye.index,ye=ye.index+ye[0].length,{before:be.substring(0,we),match:be.substring(we,ye),after:be.substring(ye)}):null)&&(Se.appendChild(document.createTextNode(we.before)),(be=document.createElement("span")).className="selectr-match",be.appendChild(document.createTextNode(we.match)),Se.appendChild(be),Se.appendChild(document.createTextNode(we.after))))):ve.addClass(Se,"excluded")}),this),Ie.childElementCount?(Ae=this.items[this.navIndex],be=Ie.firstElementChild,ve.removeClass(Ae,"active"),this.navIndex=be.idx,ve.addClass(be,"active")):this.config.taggable||this.setMessage("no results.")):i.call(this),this.tree.appendChild(Ie))},o.prototype.toggle=function(){this.disabled||(this.opened?this.close():this.open())},o.prototype.open=function(){var Ce=this;return!!this.options.length&&(this.opened||this.emit("selectr.open"),this.opened=!0,this.mobileDevice||this.config.nativeDropdown?(ve.addClass(this.container,"native-open"),void(this.config.data&&ve.each(this.options,(function(Ce,Ie){this.el.add(Ie)}),this))):(ve.addClass(this.container,"open"),i.call(this),this.invert(),this.tree.scrollTop=0,ve.removeClass(this.container,"notice"),this.selected.setAttribute("aria-expanded",!0),this.tree.setAttribute("aria-hidden",!1),this.tree.setAttribute("aria-expanded",!0),void(this.config.searchable&&!this.config.taggable&&setTimeout((function(){Ce.input.focus(),Ce.input.tabIndex=0}),10))))},o.prototype.close=function(){var Ce;this.opened&&this.emit("selectr.close"),this.opened=!1,this.mobileDevice||this.config.nativeDropdown?ve.removeClass(this.container,"native-open"):(Ce=ve.hasClass(this.container,"notice"),this.config.searchable&&!Ce&&(this.input.blur(),this.input.tabIndex=-1,this.searching=!1),Ce&&(ve.removeClass(this.container,"notice"),this.notice.textContent=""),ve.removeClass(this.container,"open"),ve.removeClass(this.container,"native-open"),this.selected.setAttribute("aria-expanded",!1),this.tree.setAttribute("aria-hidden",!0),this.tree.setAttribute("aria-expanded",!1),ve.truncate(this.tree),t.call(this))},o.prototype.enable=function(){this.disabled=!1,this.el.disabled=!1,this.selected.tabIndex=this.originalIndex,this.el.multiple&&ve.each(this.tags,(function(Ce,Ie){Ie.lastElementChild.tabIndex=0})),ve.removeClass(this.container,"selectr-disabled")},o.prototype.disable=function(Ce){Ce||(this.el.disabled=!0),this.selected.tabIndex=-1,this.el.multiple&&ve.each(this.tags,(function(Ce,Ie){Ie.lastElementChild.tabIndex=-1})),this.disabled=!0,ve.addClass(this.container,"selectr-disabled")},o.prototype.reset=function(){this.disabled||(this.clear(),this.setSelected(!0),ve.each(this.defaultSelected,(function(Ce,Ie){this.select(Ie)}),this),this.emit("selectr.reset"))},o.prototype.clear=function(Ce){var Ie;this.el.multiple?this.selectedIndexes.length&&(Ie=this.selectedIndexes.slice(),ve.each(Ie,(function(Ce,Ie){this.deselect(Ie)}),this)):-1<this.selectedIndex&&this.deselect(this.selectedIndex,Ce),this.emit("selectr.clear")},o.prototype.serialise=function(Ce){var Ie=[];return ve.each(this.options,(function(Ce,ve){var Ae={value:ve.value,text:ve.textContent};ve.selected&&(Ae.selected=!0),ve.disabled&&(Ae.disabled=!0),Ie[Ce]=Ae})),Ce?JSON.stringify(Ie):Ie},o.prototype.serialize=function(Ce){return this.serialise(Ce)},o.prototype.setPlaceholder=function(Ce){Ce=Ce||this.config.placeholder||this.el.getAttribute("placeholder"),this.options.length||(Ce="No options available"),this.placeEl.textContent=Ce},o.prototype.paginate=function(){var Ce;if(this.items.length)return(Ce=this).pages=this.items.map((function(Ie,ve){return ve%Ce.config.pagination==0?Ce.items.slice(ve,ve+Ce.config.pagination):null})).filter((function(Ce){return Ce})),this.pages},o.prototype.setMessage=function(Ce,Ie){Ie&&this.close(),ve.addClass(this.container,"notice"),this.notice.textContent=Ce},o.prototype.removeMessage=function(){ve.removeClass(this.container,"notice"),this.notice.textContent=""},o.prototype.invert=function(){var Ce=ve.rect(this.selected),Ie=this.tree.parentNode.offsetHeight,Ae=window.innerHeight;Ce.top+Ce.height+Ie>Ae?(ve.addClass(this.container,"inverted"),this.isInverted=!0):(ve.removeClass(this.container,"inverted"),this.isInverted=!1),this.optsRect=ve.rect(this.tree)},o.prototype.getOptionByIndex=function(Ce){return this.options[Ce]},o.prototype.getOptionByValue=function(Ce){for(var Ie=!1,ve=0,Ae=this.options.length;ve<Ae;ve++)if(this.options[ve].value.trim()===Ce.toString().trim()){Ie=this.options[ve];break}return Ie},Ce.exports=o},4188:function(Ce,Ie,ve){"use strict";ve.d(Ie,{qD:function(){return Ae},EX:function(){return be},WF:function(){return ye},oW:function(){return we}});var Ae=document.body,be=10485760,ye=2e4,we=2147483648},2602:function(Ce,Ie,ve){"use strict";ve.d(Ie,{w:function(){return n}});var Ae=ve(9791);function n(Ce,Ie,ve){var be,ye=3<arguments.length&&void 0!==arguments[3]&&arguments[3],we="function"==typeof(xe=Ce).getRootNode?xe.getRootNode():window,Se={},xe=Ce.getBoundingClientRect(),ke=Ie.getBoundingClientRect(),Ee=document.createElement("div");function l(){if(Ee&&Ee.parentNode){for(var Ie in Ee.parentNode.removeChild(Ee),Se)be=Ie,Object.prototype.hasOwnProperty.call(Se,be)&&((be=Se[Ie])&&(0,Ae.removeEventListener)(we,Ie,be),delete Se[Ie]);"function"==typeof ve&&ve(Ce)}var be}function d(Ce){(Ce=Ce.target)===Ee||(0,Ae.isChildOf)(Ce,Ee)||l()}return Ee.className="jsoneditor-anchor",Ee.style.position="absolute",Ee.style.left=xe.left-ke.left+"px",Ee.style.top=xe.top-ke.top+"px",Ee.style.width=xe.width-2+"px",Ee.style.height=xe.height-2+"px",Ee.style.boxSizing="border-box",Ie.appendChild(Ee),Se.mousedown=(0,Ae.addEventListener)(we,"mousedown",d),Se.mousewheel=(0,Ae.addEventListener)(we,"mousewheel",d),ye&&(be=null,Ee.onmouseover=function(){clearTimeout(be),be=null},Ee.onmouseout=function(){be=be||setTimeout(l,200)}),Ee.destroy=l,Ee}},7923:function(Ce){Ce.exports="data:application/javascript;base64,Im5vIHVzZSBzdHJpY3QiOwohKGZ1bmN0aW9uKHdpbmRvdykgewppZiAodHlwZW9mIHdpbmRvdy53aW5kb3cgIT0gInVuZGVmaW5lZCIgJiYgd2luZG93LmRvY3VtZW50KQogICAgcmV0dXJuOwppZiAod2luZG93LnJlcXVpcmUgJiYgd2luZG93LmRlZmluZSkKICAgIHJldHVybjsKCmlmICghd2luZG93LmNvbnNvbGUpIHsKICAgIHdpbmRvdy5jb25zb2xlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIG1zZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDApOwogICAgICAgIHBvc3RNZXNzYWdlKHt0eXBlOiAibG9nIiwgZGF0YTogbXNnc30pOwogICAgfTsKICAgIHdpbmRvdy5jb25zb2xlLmVycm9yID0KICAgIHdpbmRvdy5jb25zb2xlLndhcm4gPSAKICAgIHdpbmRvdy5jb25zb2xlLmxvZyA9CiAgICB3aW5kb3cuY29uc29sZS50cmFjZSA9IHdpbmRvdy5jb25zb2xlOwp9CndpbmRvdy53aW5kb3cgPSB3aW5kb3c7CndpbmRvdy5hY2UgPSB3aW5kb3c7Cgp3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1lc3NhZ2UsIGZpbGUsIGxpbmUsIGNvbCwgZXJyKSB7CiAgICBwb3N0TWVzc2FnZSh7dHlwZTogImVycm9yIiwgZGF0YTogewogICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsCiAgICAgICAgZGF0YTogZXJyLmRhdGEsCiAgICAgICAgZmlsZTogZmlsZSwKICAgICAgICBsaW5lOiBsaW5lLCAKICAgICAgICBjb2w6IGNvbCwKICAgICAgICBzdGFjazogZXJyLnN0YWNrCiAgICB9fSk7Cn07Cgp3aW5kb3cubm9ybWFsaXplTW9kdWxlID0gZnVuY3Rpb24ocGFyZW50SWQsIG1vZHVsZU5hbWUpIHsKICAgIC8vIG5vcm1hbGl6ZSBwbHVnaW4gcmVxdWlyZXMKICAgIGlmIChtb2R1bGVOYW1lLmluZGV4T2YoIiEiKSAhPT0gLTEpIHsKICAgICAgICB2YXIgY2h1bmtzID0gbW9kdWxlTmFtZS5zcGxpdCgiISIpOwogICAgICAgIHJldHVybiB3aW5kb3cubm9ybWFsaXplTW9kdWxlKHBhcmVudElkLCBjaHVua3NbMF0pICsgIiEiICsgd2luZG93Lm5vcm1hbGl6ZU1vZHVsZShwYXJlbnRJZCwgY2h1bmtzWzFdKTsKICAgIH0KICAgIC8vIG5vcm1hbGl6ZSByZWxhdGl2ZSByZXF1aXJlcwogICAgaWYgKG1vZHVsZU5hbWUuY2hhckF0KDApID09ICIuIikgewogICAgICAgIHZhciBiYXNlID0gcGFyZW50SWQuc3BsaXQoIi8iKS5zbGljZSgwLCAtMSkuam9pbigiLyIpOwogICAgICAgIG1vZHVsZU5hbWUgPSAoYmFzZSA/IGJhc2UgKyAiLyIgOiAiIikgKyBtb2R1bGVOYW1lOwogICAgICAgIAogICAgICAgIHdoaWxlIChtb2R1bGVOYW1lLmluZGV4T2YoIi4iKSAhPT0gLTEgJiYgcHJldmlvdXMgIT0gbW9kdWxlTmFtZSkgewogICAgICAgICAgICB2YXIgcHJldmlvdXMgPSBtb2R1bGVOYW1lOwogICAgICAgICAgICBtb2R1bGVOYW1lID0gbW9kdWxlTmFtZS5yZXBsYWNlKC9eXC5cLy8sICIiKS5yZXBsYWNlKC9cL1wuXC8vLCAiLyIpLnJlcGxhY2UoL1teXC9dK1wvXC5cLlwvLywgIiIpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIG1vZHVsZU5hbWU7Cn07Cgp3aW5kb3cucmVxdWlyZSA9IGZ1bmN0aW9uIHJlcXVpcmUocGFyZW50SWQsIGlkKSB7CiAgICBpZiAoIWlkKSB7CiAgICAgICAgaWQgPSBwYXJlbnRJZDsKICAgICAgICBwYXJlbnRJZCA9IG51bGw7CiAgICB9CiAgICBpZiAoIWlkLmNoYXJBdCkKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIndvcmtlci5qcyByZXF1aXJlKCkgYWNjZXB0cyBvbmx5IChwYXJlbnRJZCwgaWQpIGFzIGFyZ3VtZW50cyIpOwoKICAgIGlkID0gd2luZG93Lm5vcm1hbGl6ZU1vZHVsZShwYXJlbnRJZCwgaWQpOwoKICAgIHZhciBtb2R1bGUgPSB3aW5kb3cucmVxdWlyZS5tb2R1bGVzW2lkXTsKICAgIGlmIChtb2R1bGUpIHsKICAgICAgICBpZiAoIW1vZHVsZS5pbml0aWFsaXplZCkgewogICAgICAgICAgICBtb2R1bGUuaW5pdGlhbGl6ZWQgPSB0cnVlOwogICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IG1vZHVsZS5mYWN0b3J5KCkuZXhwb3J0czsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG1vZHVsZS5leHBvcnRzOwogICAgfQogICAKICAgIGlmICghd2luZG93LnJlcXVpcmUudGxucykKICAgICAgICByZXR1cm4gY29uc29sZS5sb2coInVuYWJsZSB0byBsb2FkICIgKyBpZCk7CiAgICAKICAgIHZhciBwYXRoID0gcmVzb2x2ZU1vZHVsZUlkKGlkLCB3aW5kb3cucmVxdWlyZS50bG5zKTsKICAgIGlmIChwYXRoLnNsaWNlKC0zKSAhPSAiLmpzIikgcGF0aCArPSAiLmpzIjsKICAgIAogICAgd2luZG93LnJlcXVpcmUuaWQgPSBpZDsKICAgIHdpbmRvdy5yZXF1aXJlLm1vZHVsZXNbaWRdID0ge307IC8vIHByZXZlbnQgaW5maW5pdGUgbG9vcCBvbiBicm9rZW4gbW9kdWxlcwogICAgaW1wb3J0U2NyaXB0cyhwYXRoKTsKICAgIHJldHVybiB3aW5kb3cucmVxdWlyZShwYXJlbnRJZCwgaWQpOwp9OwpmdW5jdGlvbiByZXNvbHZlTW9kdWxlSWQoaWQsIHBhdGhzKSB7CiAgICB2YXIgdGVzdFBhdGggPSBpZCwgdGFpbCA9ICIiOwogICAgd2hpbGUgKHRlc3RQYXRoKSB7CiAgICAgICAgdmFyIGFsaWFzID0gcGF0aHNbdGVzdFBhdGhdOwogICAgICAgIGlmICh0eXBlb2YgYWxpYXMgPT0gInN0cmluZyIpIHsKICAgICAgICAgICAgcmV0dXJuIGFsaWFzICsgdGFpbDsKICAgICAgICB9IGVsc2UgaWYgKGFsaWFzKSB7CiAgICAgICAgICAgIHJldHVybiAgYWxpYXMubG9jYXRpb24ucmVwbGFjZSgvXC8qJC8sICIvIikgKyAodGFpbCB8fCBhbGlhcy5tYWluIHx8IGFsaWFzLm5hbWUpOwogICAgICAgIH0gZWxzZSBpZiAoYWxpYXMgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHJldHVybiAiIjsKICAgICAgICB9CiAgICAgICAgdmFyIGkgPSB0ZXN0UGF0aC5sYXN0SW5kZXhPZigiLyIpOwogICAgICAgIGlmIChpID09PSAtMSkgYnJlYWs7CiAgICAgICAgdGFpbCA9IHRlc3RQYXRoLnN1YnN0cihpKSArIHRhaWw7CiAgICAgICAgdGVzdFBhdGggPSB0ZXN0UGF0aC5zbGljZSgwLCBpKTsKICAgIH0KICAgIHJldHVybiBpZDsKfQp3aW5kb3cucmVxdWlyZS5tb2R1bGVzID0ge307CndpbmRvdy5yZXF1aXJlLnRsbnMgPSB7fTsKCndpbmRvdy5kZWZpbmUgPSBmdW5jdGlvbihpZCwgZGVwcywgZmFjdG9yeSkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikgewogICAgICAgIGZhY3RvcnkgPSBkZXBzOwogICAgICAgIGlmICh0eXBlb2YgaWQgIT0gInN0cmluZyIpIHsKICAgICAgICAgICAgZGVwcyA9IGlkOwogICAgICAgICAgICBpZCA9IHdpbmRvdy5yZXF1aXJlLmlkOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgZmFjdG9yeSA9IGlkOwogICAgICAgIGRlcHMgPSBbXTsKICAgICAgICBpZCA9IHdpbmRvdy5yZXF1aXJlLmlkOwogICAgfQogICAgCiAgICBpZiAodHlwZW9mIGZhY3RvcnkgIT0gImZ1bmN0aW9uIikgewogICAgICAgIHdpbmRvdy5yZXF1aXJlLm1vZHVsZXNbaWRdID0gewogICAgICAgICAgICBleHBvcnRzOiBmYWN0b3J5LAogICAgICAgICAgICBpbml0aWFsaXplZDogdHJ1ZQogICAgICAgIH07CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmICghZGVwcy5sZW5ndGgpCiAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gZGVwZW5kZW5jaWVzLCB3ZSBpbmplY3QgInJlcXVpcmUiLCAiZXhwb3J0cyIgYW5kCiAgICAgICAgLy8gIm1vZHVsZSIgYXMgZGVwZW5kZW5jaWVzLCB0byBwcm92aWRlIENvbW1vbkpTIGNvbXBhdGliaWxpdHkuCiAgICAgICAgZGVwcyA9IFsicmVxdWlyZSIsICJleHBvcnRzIiwgIm1vZHVsZSJdOwoKICAgIHZhciByZXEgPSBmdW5jdGlvbihjaGlsZElkKSB7CiAgICAgICAgcmV0dXJuIHdpbmRvdy5yZXF1aXJlKGlkLCBjaGlsZElkKTsKICAgIH07CgogICAgd2luZG93LnJlcXVpcmUubW9kdWxlc1tpZF0gPSB7CiAgICAgICAgZXhwb3J0czoge30sCiAgICAgICAgZmFjdG9yeTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBtb2R1bGUgPSB0aGlzOwogICAgICAgICAgICB2YXIgcmV0dXJuRXhwb3J0cyA9IGZhY3RvcnkuYXBwbHkodGhpcywgZGVwcy5zbGljZSgwLCBmYWN0b3J5Lmxlbmd0aCkubWFwKGZ1bmN0aW9uKGRlcCkgewogICAgICAgICAgICAgICAgc3dpdGNoIChkZXApIHsKICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlICJyZXF1aXJlIiwgImV4cG9ydHMiIGFuZCAibW9kdWxlIiBhcmVuJ3QgYWN0dWFsCiAgICAgICAgICAgICAgICAgICAgLy8gZGVwZW5kZW5jaWVzLCB3ZSBtdXN0IGhhbmRsZSB0aGVtIHNlcGVyYXRlbHkuCiAgICAgICAgICAgICAgICAgICAgY2FzZSAicmVxdWlyZSI6IHJldHVybiByZXE7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiZXhwb3J0cyI6IHJldHVybiBtb2R1bGUuZXhwb3J0czsKICAgICAgICAgICAgICAgICAgICBjYXNlICJtb2R1bGUiOiAgcmV0dXJuIG1vZHVsZTsKICAgICAgICAgICAgICAgICAgICAvLyBCdXQgZm9yIGFsbCBvdGhlciBkZXBlbmRlbmNpZXMsIHdlIGNhbiBqdXN0IGdvIGFoZWFkIGFuZAogICAgICAgICAgICAgICAgICAgIC8vIHJlcXVpcmUgdGhlbS4KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiAgICAgICAgcmV0dXJuIHJlcShkZXApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIGlmIChyZXR1cm5FeHBvcnRzKQogICAgICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXR1cm5FeHBvcnRzOwogICAgICAgICAgICByZXR1cm4gbW9kdWxlOwogICAgICAgIH0KICAgIH07Cn07CndpbmRvdy5kZWZpbmUuYW1kID0ge307CnJlcXVpcmUudGxucyA9IHt9Owp3aW5kb3cuaW5pdEJhc2VVcmxzICA9IGZ1bmN0aW9uIGluaXRCYXNlVXJscyh0b3BMZXZlbE5hbWVzcGFjZXMpIHsKICAgIGZvciAodmFyIGkgaW4gdG9wTGV2ZWxOYW1lc3BhY2VzKQogICAgICAgIHJlcXVpcmUudGxuc1tpXSA9IHRvcExldmVsTmFtZXNwYWNlc1tpXTsKfTsKCndpbmRvdy5pbml0U2VuZGVyID0gZnVuY3Rpb24gaW5pdFNlbmRlcigpIHsKCiAgICB2YXIgRXZlbnRFbWl0dGVyID0gd2luZG93LnJlcXVpcmUoImFjZS9saWIvZXZlbnRfZW1pdHRlciIpLkV2ZW50RW1pdHRlcjsKICAgIHZhciBvb3AgPSB3aW5kb3cucmVxdWlyZSgiYWNlL2xpYi9vb3AiKTsKICAgIAogICAgdmFyIFNlbmRlciA9IGZ1bmN0aW9uKCkge307CiAgICAKICAgIChmdW5jdGlvbigpIHsKICAgICAgICAKICAgICAgICBvb3AuaW1wbGVtZW50KHRoaXMsIEV2ZW50RW1pdHRlcik7CiAgICAgICAgICAgICAgICAKICAgICAgICB0aGlzLmNhbGxiYWNrID0gZnVuY3Rpb24oZGF0YSwgY2FsbGJhY2tJZCkgewogICAgICAgICAgICBwb3N0TWVzc2FnZSh7CiAgICAgICAgICAgICAgICB0eXBlOiAiY2FsbCIsCiAgICAgICAgICAgICAgICBpZDogY2FsbGJhY2tJZCwKICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEKICAgICAgICAgICAgfSk7CiAgICAgICAgfTsKICAgIAogICAgICAgIHRoaXMuZW1pdCA9IGZ1bmN0aW9uKG5hbWUsIGRhdGEpIHsKICAgICAgICAgICAgcG9zdE1lc3NhZ2UoewogICAgICAgICAgICAgICAgdHlwZTogImV2ZW50IiwKICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsCiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhCiAgICAgICAgICAgIH0pOwogICAgICAgIH07CiAgICAgICAgCiAgICB9KS5jYWxsKFNlbmRlci5wcm90b3R5cGUpOwogICAgCiAgICByZXR1cm4gbmV3IFNlbmRlcigpOwp9OwoKdmFyIG1haW4gPSB3aW5kb3cubWFpbiA9IG51bGw7CnZhciBzZW5kZXIgPSB3aW5kb3cuc2VuZGVyID0gbnVsbDsKCndpbmRvdy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CiAgICB2YXIgbXNnID0gZS5kYXRhOwogICAgaWYgKG1zZy5ldmVudCAmJiBzZW5kZXIpIHsKICAgICAgICBzZW5kZXIuX3NpZ25hbChtc2cuZXZlbnQsIG1zZy5kYXRhKTsKICAgIH0KICAgIGVsc2UgaWYgKG1zZy5jb21tYW5kKSB7CiAgICAgICAgaWYgKG1haW5bbXNnLmNvbW1hbmRdKQogICAgICAgICAgICBtYWluW21zZy5jb21tYW5kXS5hcHBseShtYWluLCBtc2cuYXJncyk7CiAgICAgICAgZWxzZSBpZiAod2luZG93W21zZy5jb21tYW5kXSkKICAgICAgICAgICAgd2luZG93W21zZy5jb21tYW5kXS5hcHBseSh3aW5kb3csIG1zZy5hcmdzKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiVW5rbm93biBjb21tYW5kOiIgKyBtc2cuY29tbWFuZCk7CiAgICB9CiAgICBlbHNlIGlmIChtc2cuaW5pdCkgewogICAgICAgIHdpbmRvdy5pbml0QmFzZVVybHMobXNnLnRsbnMpOwogICAgICAgIHNlbmRlciA9IHdpbmRvdy5zZW5kZXIgPSB3aW5kb3cuaW5pdFNlbmRlcigpOwogICAgICAgIHZhciBjbGF6eiA9IHJlcXVpcmUobXNnLm1vZHVsZSlbbXNnLmNsYXNzbmFtZV07CiAgICAgICAgbWFpbiA9IHdpbmRvdy5tYWluID0gbmV3IGNsYXp6KHNlbmRlcik7CiAgICB9Cn07Cn0pKHRoaXMpOwoKYWNlLmRlZmluZSgiYWNlL2xpYi9vb3AiLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpIHsKInVzZSBzdHJpY3QiOwoKZXhwb3J0cy5pbmhlcml0cyA9IGZ1bmN0aW9uKGN0b3IsIHN1cGVyQ3RvcikgewogICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7CiAgICBjdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDdG9yLnByb3RvdHlwZSwgewogICAgICAgIGNvbnN0cnVjdG9yOiB7CiAgICAgICAgICAgIHZhbHVlOiBjdG9yLAogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0KICAgIH0pOwp9OwoKZXhwb3J0cy5taXhpbiA9IGZ1bmN0aW9uKG9iaiwgbWl4aW4pIHsKICAgIGZvciAodmFyIGtleSBpbiBtaXhpbikgewogICAgICAgIG9ialtrZXldID0gbWl4aW5ba2V5XTsKICAgIH0KICAgIHJldHVybiBvYmo7Cn07CgpleHBvcnRzLmltcGxlbWVudCA9IGZ1bmN0aW9uKHByb3RvLCBtaXhpbikgewogICAgZXhwb3J0cy5taXhpbihwcm90bywgbWl4aW4pOwp9OwoKfSk7CgphY2UuZGVmaW5lKCJhY2UvcmFuZ2UiLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpIHsKInVzZSBzdHJpY3QiOwp2YXIgY29tcGFyZVBvaW50cyA9IGZ1bmN0aW9uKHAxLCBwMikgewogICAgcmV0dXJuIHAxLnJvdyAtIHAyLnJvdyB8fCBwMS5jb2x1bW4gLSBwMi5jb2x1bW47Cn07CnZhciBSYW5nZSA9IGZ1bmN0aW9uKHN0YXJ0Um93LCBzdGFydENvbHVtbiwgZW5kUm93LCBlbmRDb2x1bW4pIHsKICAgIHRoaXMuc3RhcnQgPSB7CiAgICAgICAgcm93OiBzdGFydFJvdywKICAgICAgICBjb2x1bW46IHN0YXJ0Q29sdW1uCiAgICB9OwoKICAgIHRoaXMuZW5kID0gewogICAgICAgIHJvdzogZW5kUm93LAogICAgICAgIGNvbHVtbjogZW5kQ29sdW1uCiAgICB9Owp9OwoKKGZ1bmN0aW9uKCkgewogICAgdGhpcy5pc0VxdWFsID0gZnVuY3Rpb24ocmFuZ2UpIHsKICAgICAgICByZXR1cm4gdGhpcy5zdGFydC5yb3cgPT09IHJhbmdlLnN0YXJ0LnJvdyAmJgogICAgICAgICAgICB0aGlzLmVuZC5yb3cgPT09IHJhbmdlLmVuZC5yb3cgJiYKICAgICAgICAgICAgdGhpcy5zdGFydC5jb2x1bW4gPT09IHJhbmdlLnN0YXJ0LmNvbHVtbiAmJgogICAgICAgICAgICB0aGlzLmVuZC5jb2x1bW4gPT09IHJhbmdlLmVuZC5jb2x1bW47CiAgICB9OwogICAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiAoIlJhbmdlOiBbIiArIHRoaXMuc3RhcnQucm93ICsgIi8iICsgdGhpcy5zdGFydC5jb2x1bW4gKwogICAgICAgICAgICAiXSAtPiBbIiArIHRoaXMuZW5kLnJvdyArICIvIiArIHRoaXMuZW5kLmNvbHVtbiArICJdIik7CiAgICB9OwoKICAgIHRoaXMuY29udGFpbnMgPSBmdW5jdGlvbihyb3csIGNvbHVtbikgewogICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUocm93LCBjb2x1bW4pID09IDA7CiAgICB9OwogICAgdGhpcy5jb21wYXJlUmFuZ2UgPSBmdW5jdGlvbihyYW5nZSkgewogICAgICAgIHZhciBjbXAsCiAgICAgICAgICAgIGVuZCA9IHJhbmdlLmVuZCwKICAgICAgICAgICAgc3RhcnQgPSByYW5nZS5zdGFydDsKCiAgICAgICAgY21wID0gdGhpcy5jb21wYXJlKGVuZC5yb3csIGVuZC5jb2x1bW4pOwogICAgICAgIGlmIChjbXAgPT0gMSkgewogICAgICAgICAgICBjbXAgPSB0aGlzLmNvbXBhcmUoc3RhcnQucm93LCBzdGFydC5jb2x1bW4pOwogICAgICAgICAgICBpZiAoY21wID09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9IGVsc2UgaWYgKGNtcCA9PSAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChjbXAgPT0gLTEpIHsKICAgICAgICAgICAgcmV0dXJuIC0yOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNtcCA9IHRoaXMuY29tcGFyZShzdGFydC5yb3csIHN0YXJ0LmNvbHVtbik7CiAgICAgICAgICAgIGlmIChjbXAgPT0gLTEpIHsKICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgfSBlbHNlIGlmIChjbXAgPT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIDQyOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwogICAgdGhpcy5jb21wYXJlUG9pbnQgPSBmdW5jdGlvbihwKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShwLnJvdywgcC5jb2x1bW4pOwogICAgfTsKICAgIHRoaXMuY29udGFpbnNSYW5nZSA9IGZ1bmN0aW9uKHJhbmdlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZVBvaW50KHJhbmdlLnN0YXJ0KSA9PSAwICYmIHRoaXMuY29tcGFyZVBvaW50KHJhbmdlLmVuZCkgPT0gMDsKICAgIH07CiAgICB0aGlzLmludGVyc2VjdHMgPSBmdW5jdGlvbihyYW5nZSkgewogICAgICAgIHZhciBjbXAgPSB0aGlzLmNvbXBhcmVSYW5nZShyYW5nZSk7CiAgICAgICAgcmV0dXJuIChjbXAgPT0gLTEgfHwgY21wID09IDAgfHwgY21wID09IDEpOwogICAgfTsKICAgIHRoaXMuaXNFbmQgPSBmdW5jdGlvbihyb3csIGNvbHVtbikgewogICAgICAgIHJldHVybiB0aGlzLmVuZC5yb3cgPT0gcm93ICYmIHRoaXMuZW5kLmNvbHVtbiA9PSBjb2x1bW47CiAgICB9OwogICAgdGhpcy5pc1N0YXJ0ID0gZnVuY3Rpb24ocm93LCBjb2x1bW4pIHsKICAgICAgICByZXR1cm4gdGhpcy5zdGFydC5yb3cgPT0gcm93ICYmIHRoaXMuc3RhcnQuY29sdW1uID09IGNvbHVtbjsKICAgIH07CiAgICB0aGlzLnNldFN0YXJ0ID0gZnVuY3Rpb24ocm93LCBjb2x1bW4pIHsKICAgICAgICBpZiAodHlwZW9mIHJvdyA9PSAib2JqZWN0IikgewogICAgICAgICAgICB0aGlzLnN0YXJ0LmNvbHVtbiA9IHJvdy5jb2x1bW47CiAgICAgICAgICAgIHRoaXMuc3RhcnQucm93ID0gcm93LnJvdzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLnN0YXJ0LnJvdyA9IHJvdzsKICAgICAgICAgICAgdGhpcy5zdGFydC5jb2x1bW4gPSBjb2x1bW47CiAgICAgICAgfQogICAgfTsKICAgIHRoaXMuc2V0RW5kID0gZnVuY3Rpb24ocm93LCBjb2x1bW4pIHsKICAgICAgICBpZiAodHlwZW9mIHJvdyA9PSAib2JqZWN0IikgewogICAgICAgICAgICB0aGlzLmVuZC5jb2x1bW4gPSByb3cuY29sdW1uOwogICAgICAgICAgICB0aGlzLmVuZC5yb3cgPSByb3cucm93OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRoaXMuZW5kLnJvdyA9IHJvdzsKICAgICAgICAgICAgdGhpcy5lbmQuY29sdW1uID0gY29sdW1uOwogICAgICAgIH0KICAgIH07CiAgICB0aGlzLmluc2lkZSA9IGZ1bmN0aW9uKHJvdywgY29sdW1uKSB7CiAgICAgICAgaWYgKHRoaXMuY29tcGFyZShyb3csIGNvbHVtbikgPT0gMCkgewogICAgICAgICAgICBpZiAodGhpcy5pc0VuZChyb3csIGNvbHVtbikgfHwgdGhpcy5pc1N0YXJ0KHJvdywgY29sdW1uKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfTsKICAgIHRoaXMuaW5zaWRlU3RhcnQgPSBmdW5jdGlvbihyb3csIGNvbHVtbikgewogICAgICAgIGlmICh0aGlzLmNvbXBhcmUocm93LCBjb2x1bW4pID09IDApIHsKICAgICAgICAgICAgaWYgKHRoaXMuaXNFbmQocm93LCBjb2x1bW4pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9OwogICAgdGhpcy5pbnNpZGVFbmQgPSBmdW5jdGlvbihyb3csIGNvbHVtbikgewogICAgICAgIGlmICh0aGlzLmNvbXBhcmUocm93LCBjb2x1bW4pID09IDApIHsKICAgICAgICAgICAgaWYgKHRoaXMuaXNTdGFydChyb3csIGNvbHVtbikpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH07CiAgICB0aGlzLmNvbXBhcmUgPSBmdW5jdGlvbihyb3csIGNvbHVtbikgewogICAgICAgIGlmICghdGhpcy5pc011bHRpTGluZSgpKSB7CiAgICAgICAgICAgIGlmIChyb3cgPT09IHRoaXMuc3RhcnQucm93KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY29sdW1uIDwgdGhpcy5zdGFydC5jb2x1bW4gPyAtMSA6IChjb2x1bW4gPiB0aGlzLmVuZC5jb2x1bW4gPyAxIDogMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChyb3cgPCB0aGlzLnN0YXJ0LnJvdykKICAgICAgICAgICAgcmV0dXJuIC0xOwoKICAgICAgICBpZiAocm93ID4gdGhpcy5lbmQucm93KQogICAgICAgICAgICByZXR1cm4gMTsKCiAgICAgICAgaWYgKHRoaXMuc3RhcnQucm93ID09PSByb3cpCiAgICAgICAgICAgIHJldHVybiBjb2x1bW4gPj0gdGhpcy5zdGFydC5jb2x1bW4gPyAwIDogLTE7CgogICAgICAgIGlmICh0aGlzLmVuZC5yb3cgPT09IHJvdykKICAgICAgICAgICAgcmV0dXJuIGNvbHVtbiA8PSB0aGlzLmVuZC5jb2x1bW4gPyAwIDogMTsKCiAgICAgICAgcmV0dXJuIDA7CiAgICB9OwogICAgdGhpcy5jb21wYXJlU3RhcnQgPSBmdW5jdGlvbihyb3csIGNvbHVtbikgewogICAgICAgIGlmICh0aGlzLnN0YXJ0LnJvdyA9PSByb3cgJiYgdGhpcy5zdGFydC5jb2x1bW4gPT0gY29sdW1uKSB7CiAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKHJvdywgY29sdW1uKTsKICAgICAgICB9CiAgICB9OwogICAgdGhpcy5jb21wYXJlRW5kID0gZnVuY3Rpb24ocm93LCBjb2x1bW4pIHsKICAgICAgICBpZiAodGhpcy5lbmQucm93ID09IHJvdyAmJiB0aGlzLmVuZC5jb2x1bW4gPT0gY29sdW1uKSB7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUocm93LCBjb2x1bW4pOwogICAgICAgIH0KICAgIH07CiAgICB0aGlzLmNvbXBhcmVJbnNpZGUgPSBmdW5jdGlvbihyb3csIGNvbHVtbikgewogICAgICAgIGlmICh0aGlzLmVuZC5yb3cgPT0gcm93ICYmIHRoaXMuZW5kLmNvbHVtbiA9PSBjb2x1bW4pIHsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0LnJvdyA9PSByb3cgJiYgdGhpcy5zdGFydC5jb2x1bW4gPT0gY29sdW1uKSB7CiAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKHJvdywgY29sdW1uKTsKICAgICAgICB9CiAgICB9OwogICAgdGhpcy5jbGlwUm93cyA9IGZ1bmN0aW9uKGZpcnN0Um93LCBsYXN0Um93KSB7CiAgICAgICAgaWYgKHRoaXMuZW5kLnJvdyA+IGxhc3RSb3cpCiAgICAgICAgICAgIHZhciBlbmQgPSB7cm93OiBsYXN0Um93ICsgMSwgY29sdW1uOiAwfTsKICAgICAgICBlbHNlIGlmICh0aGlzLmVuZC5yb3cgPCBmaXJzdFJvdykKICAgICAgICAgICAgdmFyIGVuZCA9IHtyb3c6IGZpcnN0Um93LCBjb2x1bW46IDB9OwoKICAgICAgICBpZiAodGhpcy5zdGFydC5yb3cgPiBsYXN0Um93KQogICAgICAgICAgICB2YXIgc3RhcnQgPSB7cm93OiBsYXN0Um93ICsgMSwgY29sdW1uOiAwfTsKICAgICAgICBlbHNlIGlmICh0aGlzLnN0YXJ0LnJvdyA8IGZpcnN0Um93KQogICAgICAgICAgICB2YXIgc3RhcnQgPSB7cm93OiBmaXJzdFJvdywgY29sdW1uOiAwfTsKCiAgICAgICAgcmV0dXJuIFJhbmdlLmZyb21Qb2ludHMoc3RhcnQgfHwgdGhpcy5zdGFydCwgZW5kIHx8IHRoaXMuZW5kKTsKICAgIH07CiAgICB0aGlzLmV4dGVuZCA9IGZ1bmN0aW9uKHJvdywgY29sdW1uKSB7CiAgICAgICAgdmFyIGNtcCA9IHRoaXMuY29tcGFyZShyb3csIGNvbHVtbik7CgogICAgICAgIGlmIChjbXAgPT0gMCkKICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgZWxzZSBpZiAoY21wID09IC0xKQogICAgICAgICAgICB2YXIgc3RhcnQgPSB7cm93OiByb3csIGNvbHVtbjogY29sdW1ufTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHZhciBlbmQgPSB7cm93OiByb3csIGNvbHVtbjogY29sdW1ufTsKCiAgICAgICAgcmV0dXJuIFJhbmdlLmZyb21Qb2ludHMoc3RhcnQgfHwgdGhpcy5zdGFydCwgZW5kIHx8IHRoaXMuZW5kKTsKICAgIH07CgogICAgdGhpcy5pc0VtcHR5ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuICh0aGlzLnN0YXJ0LnJvdyA9PT0gdGhpcy5lbmQucm93ICYmIHRoaXMuc3RhcnQuY29sdW1uID09PSB0aGlzLmVuZC5jb2x1bW4pOwogICAgfTsKICAgIHRoaXMuaXNNdWx0aUxpbmUgPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gKHRoaXMuc3RhcnQucm93ICE9PSB0aGlzLmVuZC5yb3cpOwogICAgfTsKICAgIHRoaXMuY2xvbmUgPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gUmFuZ2UuZnJvbVBvaW50cyh0aGlzLnN0YXJ0LCB0aGlzLmVuZCk7CiAgICB9OwogICAgdGhpcy5jb2xsYXBzZVJvd3MgPSBmdW5jdGlvbigpIHsKICAgICAgICBpZiAodGhpcy5lbmQuY29sdW1uID09IDApCiAgICAgICAgICAgIHJldHVybiBuZXcgUmFuZ2UodGhpcy5zdGFydC5yb3csIDAsIE1hdGgubWF4KHRoaXMuc3RhcnQucm93LCB0aGlzLmVuZC5yb3ctMSksIDApOwogICAgICAgIGVsc2UKICAgICAgICAgICAgcmV0dXJuIG5ldyBSYW5nZSh0aGlzLnN0YXJ0LnJvdywgMCwgdGhpcy5lbmQucm93LCAwKTsKICAgIH07CiAgICB0aGlzLnRvU2NyZWVuUmFuZ2UgPSBmdW5jdGlvbihzZXNzaW9uKSB7CiAgICAgICAgdmFyIHNjcmVlblBvc1N0YXJ0ID0gc2Vzc2lvbi5kb2N1bWVudFRvU2NyZWVuUG9zaXRpb24odGhpcy5zdGFydCk7CiAgICAgICAgdmFyIHNjcmVlblBvc0VuZCA9IHNlc3Npb24uZG9jdW1lbnRUb1NjcmVlblBvc2l0aW9uKHRoaXMuZW5kKTsKCiAgICAgICAgcmV0dXJuIG5ldyBSYW5nZSgKICAgICAgICAgICAgc2NyZWVuUG9zU3RhcnQucm93LCBzY3JlZW5Qb3NTdGFydC5jb2x1bW4sCiAgICAgICAgICAgIHNjcmVlblBvc0VuZC5yb3csIHNjcmVlblBvc0VuZC5jb2x1bW4KICAgICAgICApOwogICAgfTsKICAgIHRoaXMubW92ZUJ5ID0gZnVuY3Rpb24ocm93LCBjb2x1bW4pIHsKICAgICAgICB0aGlzLnN0YXJ0LnJvdyArPSByb3c7CiAgICAgICAgdGhpcy5zdGFydC5jb2x1bW4gKz0gY29sdW1uOwogICAgICAgIHRoaXMuZW5kLnJvdyArPSByb3c7CiAgICAgICAgdGhpcy5lbmQuY29sdW1uICs9IGNvbHVtbjsKICAgIH07Cgp9KS5jYWxsKFJhbmdlLnByb3RvdHlwZSk7ClJhbmdlLmZyb21Qb2ludHMgPSBmdW5jdGlvbihzdGFydCwgZW5kKSB7CiAgICByZXR1cm4gbmV3IFJhbmdlKHN0YXJ0LnJvdywgc3RhcnQuY29sdW1uLCBlbmQucm93LCBlbmQuY29sdW1uKTsKfTsKUmFuZ2UuY29tcGFyZVBvaW50cyA9IGNvbXBhcmVQb2ludHM7CgpSYW5nZS5jb21wYXJlUG9pbnRzID0gZnVuY3Rpb24ocDEsIHAyKSB7CiAgICByZXR1cm4gcDEucm93IC0gcDIucm93IHx8IHAxLmNvbHVtbiAtIHAyLmNvbHVtbjsKfTsKCgpleHBvcnRzLlJhbmdlID0gUmFuZ2U7Cn0pOwoKYWNlLmRlZmluZSgiYWNlL2FwcGx5X2RlbHRhIixbXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKSB7CiJ1c2Ugc3RyaWN0IjsKCmZ1bmN0aW9uIHRocm93RGVsdGFFcnJvcihkZWx0YSwgZXJyb3JUZXh0KXsKICAgIGNvbnNvbGUubG9nKCJJbnZhbGlkIERlbHRhOiIsIGRlbHRhKTsKICAgIHRocm93ICJJbnZhbGlkIERlbHRhOiAiICsgZXJyb3JUZXh0Owp9CgpmdW5jdGlvbiBwb3NpdGlvbkluRG9jdW1lbnQoZG9jTGluZXMsIHBvc2l0aW9uKSB7CiAgICByZXR1cm4gcG9zaXRpb24ucm93ICAgID49IDAgJiYgcG9zaXRpb24ucm93ICAgIDwgIGRvY0xpbmVzLmxlbmd0aCAmJgogICAgICAgICAgIHBvc2l0aW9uLmNvbHVtbiA+PSAwICYmIHBvc2l0aW9uLmNvbHVtbiA8PSBkb2NMaW5lc1twb3NpdGlvbi5yb3ddLmxlbmd0aDsKfQoKZnVuY3Rpb24gdmFsaWRhdGVEZWx0YShkb2NMaW5lcywgZGVsdGEpIHsKICAgIGlmIChkZWx0YS5hY3Rpb24gIT0gImluc2VydCIgJiYgZGVsdGEuYWN0aW9uICE9ICJyZW1vdmUiKQogICAgICAgIHRocm93RGVsdGFFcnJvcihkZWx0YSwgImRlbHRhLmFjdGlvbiBtdXN0IGJlICdpbnNlcnQnIG9yICdyZW1vdmUnIik7CiAgICBpZiAoIShkZWx0YS5saW5lcyBpbnN0YW5jZW9mIEFycmF5KSkKICAgICAgICB0aHJvd0RlbHRhRXJyb3IoZGVsdGEsICJkZWx0YS5saW5lcyBtdXN0IGJlIGFuIEFycmF5Iik7CiAgICBpZiAoIWRlbHRhLnN0YXJ0IHx8ICFkZWx0YS5lbmQpCiAgICAgICB0aHJvd0RlbHRhRXJyb3IoZGVsdGEsICJkZWx0YS5zdGFydC9lbmQgbXVzdCBiZSBhbiBwcmVzZW50Iik7CiAgICB2YXIgc3RhcnQgPSBkZWx0YS5zdGFydDsKICAgIGlmICghcG9zaXRpb25JbkRvY3VtZW50KGRvY0xpbmVzLCBkZWx0YS5zdGFydCkpCiAgICAgICAgdGhyb3dEZWx0YUVycm9yKGRlbHRhLCAiZGVsdGEuc3RhcnQgbXVzdCBiZSBjb250YWluZWQgaW4gZG9jdW1lbnQiKTsKICAgIHZhciBlbmQgPSBkZWx0YS5lbmQ7CiAgICBpZiAoZGVsdGEuYWN0aW9uID09ICJyZW1vdmUiICYmICFwb3NpdGlvbkluRG9jdW1lbnQoZG9jTGluZXMsIGVuZCkpCiAgICAgICAgdGhyb3dEZWx0YUVycm9yKGRlbHRhLCAiZGVsdGEuZW5kIG11c3QgY29udGFpbmVkIGluIGRvY3VtZW50IGZvciAncmVtb3ZlJyBhY3Rpb25zIik7CiAgICB2YXIgbnVtUmFuZ2VSb3dzID0gZW5kLnJvdyAtIHN0YXJ0LnJvdzsKICAgIHZhciBudW1SYW5nZUxhc3RMaW5lQ2hhcnMgPSAoZW5kLmNvbHVtbiAtIChudW1SYW5nZVJvd3MgPT0gMCA/IHN0YXJ0LmNvbHVtbiA6IDApKTsKICAgIGlmIChudW1SYW5nZVJvd3MgIT0gZGVsdGEubGluZXMubGVuZ3RoIC0gMSB8fCBkZWx0YS5saW5lc1tudW1SYW5nZVJvd3NdLmxlbmd0aCAhPSBudW1SYW5nZUxhc3RMaW5lQ2hhcnMpCiAgICAgICAgdGhyb3dEZWx0YUVycm9yKGRlbHRhLCAiZGVsdGEucmFuZ2UgbXVzdCBtYXRjaCBkZWx0YSBsaW5lcyIpOwp9CgpleHBvcnRzLmFwcGx5RGVsdGEgPSBmdW5jdGlvbihkb2NMaW5lcywgZGVsdGEsIGRvTm90VmFsaWRhdGUpIHsKICAgIAogICAgdmFyIHJvdyA9IGRlbHRhLnN0YXJ0LnJvdzsKICAgIHZhciBzdGFydENvbHVtbiA9IGRlbHRhLnN0YXJ0LmNvbHVtbjsKICAgIHZhciBsaW5lID0gZG9jTGluZXNbcm93XSB8fCAiIjsKICAgIHN3aXRjaCAoZGVsdGEuYWN0aW9uKSB7CiAgICAgICAgY2FzZSAiaW5zZXJ0IjoKICAgICAgICAgICAgdmFyIGxpbmVzID0gZGVsdGEubGluZXM7CiAgICAgICAgICAgIGlmIChsaW5lcy5sZW5ndGggPT09IDEpIHsKICAgICAgICAgICAgICAgIGRvY0xpbmVzW3Jvd10gPSBsaW5lLnN1YnN0cmluZygwLCBzdGFydENvbHVtbikgKyBkZWx0YS5saW5lc1swXSArIGxpbmUuc3Vic3RyaW5nKHN0YXJ0Q29sdW1uKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBhcmdzID0gW3JvdywgMV0uY29uY2F0KGRlbHRhLmxpbmVzKTsKICAgICAgICAgICAgICAgIGRvY0xpbmVzLnNwbGljZS5hcHBseShkb2NMaW5lcywgYXJncyk7CiAgICAgICAgICAgICAgICBkb2NMaW5lc1tyb3ddID0gbGluZS5zdWJzdHJpbmcoMCwgc3RhcnRDb2x1bW4pICsgZG9jTGluZXNbcm93XTsKICAgICAgICAgICAgICAgIGRvY0xpbmVzW3JvdyArIGRlbHRhLmxpbmVzLmxlbmd0aCAtIDFdICs9IGxpbmUuc3Vic3RyaW5nKHN0YXJ0Q29sdW1uKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICJyZW1vdmUiOgogICAgICAgICAgICB2YXIgZW5kQ29sdW1uID0gZGVsdGEuZW5kLmNvbHVtbjsKICAgICAgICAgICAgdmFyIGVuZFJvdyA9IGRlbHRhLmVuZC5yb3c7CiAgICAgICAgICAgIGlmIChyb3cgPT09IGVuZFJvdykgewogICAgICAgICAgICAgICAgZG9jTGluZXNbcm93XSA9IGxpbmUuc3Vic3RyaW5nKDAsIHN0YXJ0Q29sdW1uKSArIGxpbmUuc3Vic3RyaW5nKGVuZENvbHVtbik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkb2NMaW5lcy5zcGxpY2UoCiAgICAgICAgICAgICAgICAgICAgcm93LCBlbmRSb3cgLSByb3cgKyAxLAogICAgICAgICAgICAgICAgICAgIGxpbmUuc3Vic3RyaW5nKDAsIHN0YXJ0Q29sdW1uKSArIGRvY0xpbmVzW2VuZFJvd10uc3Vic3RyaW5nKGVuZENvbHVtbikKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICB9Cn07Cn0pOwoKYWNlLmRlZmluZSgiYWNlL2xpYi9ldmVudF9lbWl0dGVyIixbXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKSB7CiJ1c2Ugc3RyaWN0IjsKCnZhciBFdmVudEVtaXR0ZXIgPSB7fTsKdmFyIHN0b3BQcm9wYWdhdGlvbiA9IGZ1bmN0aW9uKCkgeyB0aGlzLnByb3BhZ2F0aW9uU3RvcHBlZCA9IHRydWU7IH07CnZhciBwcmV2ZW50RGVmYXVsdCA9IGZ1bmN0aW9uKCkgeyB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlOyB9OwoKRXZlbnRFbWl0dGVyLl9lbWl0ID0KRXZlbnRFbWl0dGVyLl9kaXNwYXRjaEV2ZW50ID0gZnVuY3Rpb24oZXZlbnROYW1lLCBlKSB7CiAgICB0aGlzLl9ldmVudFJlZ2lzdHJ5IHx8ICh0aGlzLl9ldmVudFJlZ2lzdHJ5ID0ge30pOwogICAgdGhpcy5fZGVmYXVsdEhhbmRsZXJzIHx8ICh0aGlzLl9kZWZhdWx0SGFuZGxlcnMgPSB7fSk7CgogICAgdmFyIGxpc3RlbmVycyA9IHRoaXMuX2V2ZW50UmVnaXN0cnlbZXZlbnROYW1lXSB8fCBbXTsKICAgIHZhciBkZWZhdWx0SGFuZGxlciA9IHRoaXMuX2RlZmF1bHRIYW5kbGVyc1tldmVudE5hbWVdOwogICAgaWYgKCFsaXN0ZW5lcnMubGVuZ3RoICYmICFkZWZhdWx0SGFuZGxlcikKICAgICAgICByZXR1cm47CgogICAgaWYgKHR5cGVvZiBlICE9ICJvYmplY3QiIHx8ICFlKQogICAgICAgIGUgPSB7fTsKCiAgICBpZiAoIWUudHlwZSkKICAgICAgICBlLnR5cGUgPSBldmVudE5hbWU7CiAgICBpZiAoIWUuc3RvcFByb3BhZ2F0aW9uKQogICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uID0gc3RvcFByb3BhZ2F0aW9uOwogICAgaWYgKCFlLnByZXZlbnREZWZhdWx0KQogICAgICAgIGUucHJldmVudERlZmF1bHQgPSBwcmV2ZW50RGVmYXVsdDsKCiAgICBsaXN0ZW5lcnMgPSBsaXN0ZW5lcnMuc2xpY2UoKTsKICAgIGZvciAodmFyIGk9MDsgaTxsaXN0ZW5lcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICBsaXN0ZW5lcnNbaV0oZSwgdGhpcyk7CiAgICAgICAgaWYgKGUucHJvcGFnYXRpb25TdG9wcGVkKQogICAgICAgICAgICBicmVhazsKICAgIH0KICAgIAogICAgaWYgKGRlZmF1bHRIYW5kbGVyICYmICFlLmRlZmF1bHRQcmV2ZW50ZWQpCiAgICAgICAgcmV0dXJuIGRlZmF1bHRIYW5kbGVyKGUsIHRoaXMpOwp9OwoKCkV2ZW50RW1pdHRlci5fc2lnbmFsID0gZnVuY3Rpb24oZXZlbnROYW1lLCBlKSB7CiAgICB2YXIgbGlzdGVuZXJzID0gKHRoaXMuX2V2ZW50UmVnaXN0cnkgfHwge30pW2V2ZW50TmFtZV07CiAgICBpZiAoIWxpc3RlbmVycykKICAgICAgICByZXR1cm47CiAgICBsaXN0ZW5lcnMgPSBsaXN0ZW5lcnMuc2xpY2UoKTsKICAgIGZvciAodmFyIGk9MDsgaTxsaXN0ZW5lcnMubGVuZ3RoOyBpKyspCiAgICAgICAgbGlzdGVuZXJzW2ldKGUsIHRoaXMpOwp9OwoKRXZlbnRFbWl0dGVyLm9uY2UgPSBmdW5jdGlvbihldmVudE5hbWUsIGNhbGxiYWNrKSB7CiAgICB2YXIgX3NlbGYgPSB0aGlzOwogICAgdGhpcy5vbihldmVudE5hbWUsIGZ1bmN0aW9uIG5ld0NhbGxiYWNrKCkgewogICAgICAgIF9zZWxmLm9mZihldmVudE5hbWUsIG5ld0NhbGxiYWNrKTsKICAgICAgICBjYWxsYmFjay5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSk7CiAgICBpZiAoIWNhbGxiYWNrKSB7CiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKICAgICAgICAgICAgY2FsbGJhY2sgPSByZXNvbHZlOwogICAgICAgIH0pOwogICAgfQp9OwoKCkV2ZW50RW1pdHRlci5zZXREZWZhdWx0SGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHsKICAgIHZhciBoYW5kbGVycyA9IHRoaXMuX2RlZmF1bHRIYW5kbGVyczsKICAgIGlmICghaGFuZGxlcnMpCiAgICAgICAgaGFuZGxlcnMgPSB0aGlzLl9kZWZhdWx0SGFuZGxlcnMgPSB7X2Rpc2FibGVkXzoge319OwogICAgCiAgICBpZiAoaGFuZGxlcnNbZXZlbnROYW1lXSkgewogICAgICAgIHZhciBvbGQgPSBoYW5kbGVyc1tldmVudE5hbWVdOwogICAgICAgIHZhciBkaXNhYmxlZCA9IGhhbmRsZXJzLl9kaXNhYmxlZF9bZXZlbnROYW1lXTsKICAgICAgICBpZiAoIWRpc2FibGVkKQogICAgICAgICAgICBoYW5kbGVycy5fZGlzYWJsZWRfW2V2ZW50TmFtZV0gPSBkaXNhYmxlZCA9IFtdOwogICAgICAgIGRpc2FibGVkLnB1c2gob2xkKTsKICAgICAgICB2YXIgaSA9IGRpc2FibGVkLmluZGV4T2YoY2FsbGJhY2spOwogICAgICAgIGlmIChpICE9IC0xKSAKICAgICAgICAgICAgZGlzYWJsZWQuc3BsaWNlKGksIDEpOwogICAgfQogICAgaGFuZGxlcnNbZXZlbnROYW1lXSA9IGNhbGxiYWNrOwp9OwpFdmVudEVtaXR0ZXIucmVtb3ZlRGVmYXVsdEhhbmRsZXIgPSBmdW5jdGlvbihldmVudE5hbWUsIGNhbGxiYWNrKSB7CiAgICB2YXIgaGFuZGxlcnMgPSB0aGlzLl9kZWZhdWx0SGFuZGxlcnM7CiAgICBpZiAoIWhhbmRsZXJzKQogICAgICAgIHJldHVybjsKICAgIHZhciBkaXNhYmxlZCA9IGhhbmRsZXJzLl9kaXNhYmxlZF9bZXZlbnROYW1lXTsKICAgIAogICAgaWYgKGhhbmRsZXJzW2V2ZW50TmFtZV0gPT0gY2FsbGJhY2spIHsKICAgICAgICBpZiAoZGlzYWJsZWQpCiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEhhbmRsZXIoZXZlbnROYW1lLCBkaXNhYmxlZC5wb3AoKSk7CiAgICB9IGVsc2UgaWYgKGRpc2FibGVkKSB7CiAgICAgICAgdmFyIGkgPSBkaXNhYmxlZC5pbmRleE9mKGNhbGxiYWNrKTsKICAgICAgICBpZiAoaSAhPSAtMSkKICAgICAgICAgICAgZGlzYWJsZWQuc3BsaWNlKGksIDEpOwogICAgfQp9OwoKRXZlbnRFbWl0dGVyLm9uID0KRXZlbnRFbWl0dGVyLmFkZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbihldmVudE5hbWUsIGNhbGxiYWNrLCBjYXB0dXJpbmcpIHsKICAgIHRoaXMuX2V2ZW50UmVnaXN0cnkgPSB0aGlzLl9ldmVudFJlZ2lzdHJ5IHx8IHt9OwoKICAgIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudFJlZ2lzdHJ5W2V2ZW50TmFtZV07CiAgICBpZiAoIWxpc3RlbmVycykKICAgICAgICBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudFJlZ2lzdHJ5W2V2ZW50TmFtZV0gPSBbXTsKCiAgICBpZiAobGlzdGVuZXJzLmluZGV4T2YoY2FsbGJhY2spID09IC0xKQogICAgICAgIGxpc3RlbmVyc1tjYXB0dXJpbmcgPyAidW5zaGlmdCIgOiAicHVzaCJdKGNhbGxiYWNrKTsKICAgIHJldHVybiBjYWxsYmFjazsKfTsKCkV2ZW50RW1pdHRlci5vZmYgPQpFdmVudEVtaXR0ZXIucmVtb3ZlTGlzdGVuZXIgPQpFdmVudEVtaXR0ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uKGV2ZW50TmFtZSwgY2FsbGJhY2spIHsKICAgIHRoaXMuX2V2ZW50UmVnaXN0cnkgPSB0aGlzLl9ldmVudFJlZ2lzdHJ5IHx8IHt9OwoKICAgIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudFJlZ2lzdHJ5W2V2ZW50TmFtZV07CiAgICBpZiAoIWxpc3RlbmVycykKICAgICAgICByZXR1cm47CgogICAgdmFyIGluZGV4ID0gbGlzdGVuZXJzLmluZGV4T2YoY2FsbGJhY2spOwogICAgaWYgKGluZGV4ICE9PSAtMSkKICAgICAgICBsaXN0ZW5lcnMuc3BsaWNlKGluZGV4LCAxKTsKfTsKCkV2ZW50RW1pdHRlci5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBmdW5jdGlvbihldmVudE5hbWUpIHsKICAgIGlmICghZXZlbnROYW1lKSB0aGlzLl9ldmVudFJlZ2lzdHJ5ID0gdGhpcy5fZGVmYXVsdEhhbmRsZXJzID0gdW5kZWZpbmVkOwogICAgaWYgKHRoaXMuX2V2ZW50UmVnaXN0cnkpIHRoaXMuX2V2ZW50UmVnaXN0cnlbZXZlbnROYW1lXSA9IHVuZGVmaW5lZDsKICAgIGlmICh0aGlzLl9kZWZhdWx0SGFuZGxlcnMpIHRoaXMuX2RlZmF1bHRIYW5kbGVyc1tldmVudE5hbWVdID0gdW5kZWZpbmVkOwp9OwoKZXhwb3J0cy5FdmVudEVtaXR0ZXIgPSBFdmVudEVtaXR0ZXI7Cgp9KTsKCmFjZS5kZWZpbmUoImFjZS9hbmNob3IiLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpIHsKInVzZSBzdHJpY3QiOwoKdmFyIG9vcCA9IHJlcXVpcmUoIi4vbGliL29vcCIpOwp2YXIgRXZlbnRFbWl0dGVyID0gcmVxdWlyZSgiLi9saWIvZXZlbnRfZW1pdHRlciIpLkV2ZW50RW1pdHRlcjsKCnZhciBBbmNob3IgPSBleHBvcnRzLkFuY2hvciA9IGZ1bmN0aW9uKGRvYywgcm93LCBjb2x1bW4pIHsKICAgIHRoaXMuJG9uQ2hhbmdlID0gdGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpOwogICAgdGhpcy5hdHRhY2goZG9jKTsKICAgIAogICAgaWYgKHR5cGVvZiBjb2x1bW4gPT0gInVuZGVmaW5lZCIpCiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbihyb3cucm93LCByb3cuY29sdW1uKTsKICAgIGVsc2UKICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHJvdywgY29sdW1uKTsKfTsKCihmdW5jdGlvbigpIHsKCiAgICBvb3AuaW1wbGVtZW50KHRoaXMsIEV2ZW50RW1pdHRlcik7CiAgICB0aGlzLmdldFBvc2l0aW9uID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJGNsaXBQb3NpdGlvblRvRG9jdW1lbnQodGhpcy5yb3csIHRoaXMuY29sdW1uKTsKICAgIH07CiAgICB0aGlzLmdldERvY3VtZW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQ7CiAgICB9OwogICAgdGhpcy4kaW5zZXJ0UmlnaHQgPSBmYWxzZTsKICAgIHRoaXMub25DaGFuZ2UgPSBmdW5jdGlvbihkZWx0YSkgewogICAgICAgIGlmIChkZWx0YS5zdGFydC5yb3cgPT0gZGVsdGEuZW5kLnJvdyAmJiBkZWx0YS5zdGFydC5yb3cgIT0gdGhpcy5yb3cpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgaWYgKGRlbHRhLnN0YXJ0LnJvdyA+IHRoaXMucm93KQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIAogICAgICAgIHZhciBwb2ludCA9ICRnZXRUcmFuc2Zvcm1lZFBvaW50KGRlbHRhLCB7cm93OiB0aGlzLnJvdywgY29sdW1uOiB0aGlzLmNvbHVtbn0sIHRoaXMuJGluc2VydFJpZ2h0KTsKICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHBvaW50LnJvdywgcG9pbnQuY29sdW1uLCB0cnVlKTsKICAgIH07CiAgICAKICAgIGZ1bmN0aW9uICRwb2ludHNJbk9yZGVyKHBvaW50MSwgcG9pbnQyLCBlcXVhbFBvaW50c0luT3JkZXIpIHsKICAgICAgICB2YXIgYkNvbElzQWZ0ZXIgPSBlcXVhbFBvaW50c0luT3JkZXIgPyBwb2ludDEuY29sdW1uIDw9IHBvaW50Mi5jb2x1bW4gOiBwb2ludDEuY29sdW1uIDwgcG9pbnQyLmNvbHVtbjsKICAgICAgICByZXR1cm4gKHBvaW50MS5yb3cgPCBwb2ludDIucm93KSB8fCAocG9pbnQxLnJvdyA9PSBwb2ludDIucm93ICYmIGJDb2xJc0FmdGVyKTsKICAgIH0KICAgICAgICAgICAgCiAgICBmdW5jdGlvbiAkZ2V0VHJhbnNmb3JtZWRQb2ludChkZWx0YSwgcG9pbnQsIG1vdmVJZkVxdWFsKSB7CiAgICAgICAgdmFyIGRlbHRhSXNJbnNlcnQgPSBkZWx0YS5hY3Rpb24gPT0gImluc2VydCI7CiAgICAgICAgdmFyIGRlbHRhUm93U2hpZnQgPSAoZGVsdGFJc0luc2VydCA/IDEgOiAtMSkgKiAoZGVsdGEuZW5kLnJvdyAgICAtIGRlbHRhLnN0YXJ0LnJvdyk7CiAgICAgICAgdmFyIGRlbHRhQ29sU2hpZnQgPSAoZGVsdGFJc0luc2VydCA/IDEgOiAtMSkgKiAoZGVsdGEuZW5kLmNvbHVtbiAtIGRlbHRhLnN0YXJ0LmNvbHVtbik7CiAgICAgICAgdmFyIGRlbHRhU3RhcnQgPSBkZWx0YS5zdGFydDsKICAgICAgICB2YXIgZGVsdGFFbmQgPSBkZWx0YUlzSW5zZXJ0ID8gZGVsdGFTdGFydCA6IGRlbHRhLmVuZDsgLy8gQ29sbGFwc2UgaW5zZXJ0IHJhbmdlLgogICAgICAgIGlmICgkcG9pbnRzSW5PcmRlcihwb2ludCwgZGVsdGFTdGFydCwgbW92ZUlmRXF1YWwpKSB7CiAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICByb3c6IHBvaW50LnJvdywKICAgICAgICAgICAgICAgIGNvbHVtbjogcG9pbnQuY29sdW1uCiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIGlmICgkcG9pbnRzSW5PcmRlcihkZWx0YUVuZCwgcG9pbnQsICFtb3ZlSWZFcXVhbCkpIHsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIHJvdzogcG9pbnQucm93ICsgZGVsdGFSb3dTaGlmdCwKICAgICAgICAgICAgICAgIGNvbHVtbjogcG9pbnQuY29sdW1uICsgKHBvaW50LnJvdyA9PSBkZWx0YUVuZC5yb3cgPyBkZWx0YUNvbFNoaWZ0IDogMCkKICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgcm93OiBkZWx0YVN0YXJ0LnJvdywKICAgICAgICAgICAgY29sdW1uOiBkZWx0YVN0YXJ0LmNvbHVtbgogICAgICAgIH07CiAgICB9CiAgICB0aGlzLnNldFBvc2l0aW9uID0gZnVuY3Rpb24ocm93LCBjb2x1bW4sIG5vQ2xpcCkgewogICAgICAgIHZhciBwb3M7CiAgICAgICAgaWYgKG5vQ2xpcCkgewogICAgICAgICAgICBwb3MgPSB7CiAgICAgICAgICAgICAgICByb3c6IHJvdywKICAgICAgICAgICAgICAgIGNvbHVtbjogY29sdW1uCiAgICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcG9zID0gdGhpcy4kY2xpcFBvc2l0aW9uVG9Eb2N1bWVudChyb3csIGNvbHVtbik7CiAgICAgICAgfQoKICAgICAgICBpZiAodGhpcy5yb3cgPT0gcG9zLnJvdyAmJiB0aGlzLmNvbHVtbiA9PSBwb3MuY29sdW1uKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIHZhciBvbGQgPSB7CiAgICAgICAgICAgIHJvdzogdGhpcy5yb3csCiAgICAgICAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW4KICAgICAgICB9OwoKICAgICAgICB0aGlzLnJvdyA9IHBvcy5yb3c7CiAgICAgICAgdGhpcy5jb2x1bW4gPSBwb3MuY29sdW1uOwogICAgICAgIHRoaXMuX3NpZ25hbCgiY2hhbmdlIiwgewogICAgICAgICAgICBvbGQ6IG9sZCwKICAgICAgICAgICAgdmFsdWU6IHBvcwogICAgICAgIH0pOwogICAgfTsKICAgIHRoaXMuZGV0YWNoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5kb2N1bWVudC5vZmYoImNoYW5nZSIsIHRoaXMuJG9uQ2hhbmdlKTsKICAgIH07CiAgICB0aGlzLmF0dGFjaCA9IGZ1bmN0aW9uKGRvYykgewogICAgICAgIHRoaXMuZG9jdW1lbnQgPSBkb2MgfHwgdGhpcy5kb2N1bWVudDsKICAgICAgICB0aGlzLmRvY3VtZW50Lm9uKCJjaGFuZ2UiLCB0aGlzLiRvbkNoYW5nZSk7CiAgICB9OwogICAgdGhpcy4kY2xpcFBvc2l0aW9uVG9Eb2N1bWVudCA9IGZ1bmN0aW9uKHJvdywgY29sdW1uKSB7CiAgICAgICAgdmFyIHBvcyA9IHt9OwoKICAgICAgICBpZiAocm93ID49IHRoaXMuZG9jdW1lbnQuZ2V0TGVuZ3RoKCkpIHsKICAgICAgICAgICAgcG9zLnJvdyA9IE1hdGgubWF4KDAsIHRoaXMuZG9jdW1lbnQuZ2V0TGVuZ3RoKCkgLSAxKTsKICAgICAgICAgICAgcG9zLmNvbHVtbiA9IHRoaXMuZG9jdW1lbnQuZ2V0TGluZShwb3Mucm93KS5sZW5ndGg7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKHJvdyA8IDApIHsKICAgICAgICAgICAgcG9zLnJvdyA9IDA7CiAgICAgICAgICAgIHBvcy5jb2x1bW4gPSAwOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcG9zLnJvdyA9IHJvdzsKICAgICAgICAgICAgcG9zLmNvbHVtbiA9IE1hdGgubWluKHRoaXMuZG9jdW1lbnQuZ2V0TGluZShwb3Mucm93KS5sZW5ndGgsIE1hdGgubWF4KDAsIGNvbHVtbikpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvbHVtbiA8IDApCiAgICAgICAgICAgIHBvcy5jb2x1bW4gPSAwOwoKICAgICAgICByZXR1cm4gcG9zOwogICAgfTsKCn0pLmNhbGwoQW5jaG9yLnByb3RvdHlwZSk7Cgp9KTsKCmFjZS5kZWZpbmUoImFjZS9kb2N1bWVudCIsW10sIGZ1bmN0aW9uKHJlcXVpcmUsIGV4cG9ydHMsIG1vZHVsZSkgewoidXNlIHN0cmljdCI7Cgp2YXIgb29wID0gcmVxdWlyZSgiLi9saWIvb29wIik7CnZhciBhcHBseURlbHRhID0gcmVxdWlyZSgiLi9hcHBseV9kZWx0YSIpLmFwcGx5RGVsdGE7CnZhciBFdmVudEVtaXR0ZXIgPSByZXF1aXJlKCIuL2xpYi9ldmVudF9lbWl0dGVyIikuRXZlbnRFbWl0dGVyOwp2YXIgUmFuZ2UgPSByZXF1aXJlKCIuL3JhbmdlIikuUmFuZ2U7CnZhciBBbmNob3IgPSByZXF1aXJlKCIuL2FuY2hvciIpLkFuY2hvcjsKCnZhciBEb2N1bWVudCA9IGZ1bmN0aW9uKHRleHRPckxpbmVzKSB7CiAgICB0aGlzLiRsaW5lcyA9IFsiIl07CiAgICBpZiAodGV4dE9yTGluZXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgdGhpcy4kbGluZXMgPSBbIiJdOwogICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRleHRPckxpbmVzKSkgewogICAgICAgIHRoaXMuaW5zZXJ0TWVyZ2VkTGluZXMoe3JvdzogMCwgY29sdW1uOiAwfSwgdGV4dE9yTGluZXMpOwogICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmluc2VydCh7cm93OiAwLCBjb2x1bW46MH0sIHRleHRPckxpbmVzKTsKICAgIH0KfTsKCihmdW5jdGlvbigpIHsKCiAgICBvb3AuaW1wbGVtZW50KHRoaXMsIEV2ZW50RW1pdHRlcik7CiAgICB0aGlzLnNldFZhbHVlID0gZnVuY3Rpb24odGV4dCkgewogICAgICAgIHZhciBsZW4gPSB0aGlzLmdldExlbmd0aCgpIC0gMTsKICAgICAgICB0aGlzLnJlbW92ZShuZXcgUmFuZ2UoMCwgMCwgbGVuLCB0aGlzLmdldExpbmUobGVuKS5sZW5ndGgpKTsKICAgICAgICB0aGlzLmluc2VydCh7cm93OiAwLCBjb2x1bW46IDB9LCB0ZXh0KTsKICAgIH07CiAgICB0aGlzLmdldFZhbHVlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsTGluZXMoKS5qb2luKHRoaXMuZ2V0TmV3TGluZUNoYXJhY3RlcigpKTsKICAgIH07CiAgICB0aGlzLmNyZWF0ZUFuY2hvciA9IGZ1bmN0aW9uKHJvdywgY29sdW1uKSB7CiAgICAgICAgcmV0dXJuIG5ldyBBbmNob3IodGhpcywgcm93LCBjb2x1bW4pOwogICAgfTsKICAgIGlmICgiYWFhIi5zcGxpdCgvYS8pLmxlbmd0aCA9PT0gMCkgewogICAgICAgIHRoaXMuJHNwbGl0ID0gZnVuY3Rpb24odGV4dCkgewogICAgICAgICAgICByZXR1cm4gdGV4dC5yZXBsYWNlKC9cclxufFxyL2csICJcbiIpLnNwbGl0KCJcbiIpOwogICAgICAgIH07CiAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJHNwbGl0ID0gZnVuY3Rpb24odGV4dCkgewogICAgICAgICAgICByZXR1cm4gdGV4dC5zcGxpdCgvXHJcbnxccnxcbi8pOwogICAgICAgIH07CiAgICB9CgoKICAgIHRoaXMuJGRldGVjdE5ld0xpbmUgPSBmdW5jdGlvbih0ZXh0KSB7CiAgICAgICAgdmFyIG1hdGNoID0gdGV4dC5tYXRjaCgvXi4qPyhcclxufFxyfFxuKS9tKTsKICAgICAgICB0aGlzLiRhdXRvTmV3TGluZSA9IG1hdGNoID8gbWF0Y2hbMV0gOiAiXG4iOwogICAgICAgIHRoaXMuX3NpZ25hbCgiY2hhbmdlTmV3TGluZU1vZGUiKTsKICAgIH07CiAgICB0aGlzLmdldE5ld0xpbmVDaGFyYWN0ZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICBzd2l0Y2ggKHRoaXMuJG5ld0xpbmVNb2RlKSB7CiAgICAgICAgICBjYXNlICJ3aW5kb3dzIjoKICAgICAgICAgICAgcmV0dXJuICJcclxuIjsKICAgICAgICAgIGNhc2UgInVuaXgiOgogICAgICAgICAgICByZXR1cm4gIlxuIjsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHJldHVybiB0aGlzLiRhdXRvTmV3TGluZSB8fCAiXG4iOwogICAgICAgIH0KICAgIH07CgogICAgdGhpcy4kYXV0b05ld0xpbmUgPSAiIjsKICAgIHRoaXMuJG5ld0xpbmVNb2RlID0gImF1dG8iOwogICAgdGhpcy5zZXROZXdMaW5lTW9kZSA9IGZ1bmN0aW9uKG5ld0xpbmVNb2RlKSB7CiAgICAgICAgaWYgKHRoaXMuJG5ld0xpbmVNb2RlID09PSBuZXdMaW5lTW9kZSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICB0aGlzLiRuZXdMaW5lTW9kZSA9IG5ld0xpbmVNb2RlOwogICAgICAgIHRoaXMuX3NpZ25hbCgiY2hhbmdlTmV3TGluZU1vZGUiKTsKICAgIH07CiAgICB0aGlzLmdldE5ld0xpbmVNb2RlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJG5ld0xpbmVNb2RlOwogICAgfTsKICAgIHRoaXMuaXNOZXdMaW5lID0gZnVuY3Rpb24odGV4dCkgewogICAgICAgIHJldHVybiAodGV4dCA9PSAiXHJcbiIgfHwgdGV4dCA9PSAiXHIiIHx8IHRleHQgPT0gIlxuIik7CiAgICB9OwogICAgdGhpcy5nZXRMaW5lID0gZnVuY3Rpb24ocm93KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJGxpbmVzW3Jvd10gfHwgIiI7CiAgICB9OwogICAgdGhpcy5nZXRMaW5lcyA9IGZ1bmN0aW9uKGZpcnN0Um93LCBsYXN0Um93KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJGxpbmVzLnNsaWNlKGZpcnN0Um93LCBsYXN0Um93ICsgMSk7CiAgICB9OwogICAgdGhpcy5nZXRBbGxMaW5lcyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLmdldExpbmVzKDAsIHRoaXMuZ2V0TGVuZ3RoKCkpOwogICAgfTsKICAgIHRoaXMuZ2V0TGVuZ3RoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJGxpbmVzLmxlbmd0aDsKICAgIH07CiAgICB0aGlzLmdldFRleHRSYW5nZSA9IGZ1bmN0aW9uKHJhbmdlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGluZXNGb3JSYW5nZShyYW5nZSkuam9pbih0aGlzLmdldE5ld0xpbmVDaGFyYWN0ZXIoKSk7CiAgICB9OwogICAgdGhpcy5nZXRMaW5lc0ZvclJhbmdlID0gZnVuY3Rpb24ocmFuZ2UpIHsKICAgICAgICB2YXIgbGluZXM7CiAgICAgICAgaWYgKHJhbmdlLnN0YXJ0LnJvdyA9PT0gcmFuZ2UuZW5kLnJvdykgewogICAgICAgICAgICBsaW5lcyA9IFt0aGlzLmdldExpbmUocmFuZ2Uuc3RhcnQucm93KS5zdWJzdHJpbmcocmFuZ2Uuc3RhcnQuY29sdW1uLCByYW5nZS5lbmQuY29sdW1uKV07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbGluZXMgPSB0aGlzLmdldExpbmVzKHJhbmdlLnN0YXJ0LnJvdywgcmFuZ2UuZW5kLnJvdyk7CiAgICAgICAgICAgIGxpbmVzWzBdID0gKGxpbmVzWzBdIHx8ICIiKS5zdWJzdHJpbmcocmFuZ2Uuc3RhcnQuY29sdW1uKTsKICAgICAgICAgICAgdmFyIGwgPSBsaW5lcy5sZW5ndGggLSAxOwogICAgICAgICAgICBpZiAocmFuZ2UuZW5kLnJvdyAtIHJhbmdlLnN0YXJ0LnJvdyA9PSBsKQogICAgICAgICAgICAgICAgbGluZXNbbF0gPSBsaW5lc1tsXS5zdWJzdHJpbmcoMCwgcmFuZ2UuZW5kLmNvbHVtbik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBsaW5lczsKICAgIH07CiAgICB0aGlzLmluc2VydExpbmVzID0gZnVuY3Rpb24ocm93LCBsaW5lcykgewogICAgICAgIGNvbnNvbGUud2FybigiVXNlIG9mIGRvY3VtZW50Lmluc2VydExpbmVzIGlzIGRlcHJlY2F0ZWQuIFVzZSB0aGUgaW5zZXJ0RnVsbExpbmVzIG1ldGhvZCBpbnN0ZWFkLiIpOwogICAgICAgIHJldHVybiB0aGlzLmluc2VydEZ1bGxMaW5lcyhyb3csIGxpbmVzKTsKICAgIH07CiAgICB0aGlzLnJlbW92ZUxpbmVzID0gZnVuY3Rpb24oZmlyc3RSb3csIGxhc3RSb3cpIHsKICAgICAgICBjb25zb2xlLndhcm4oIlVzZSBvZiBkb2N1bWVudC5yZW1vdmVMaW5lcyBpcyBkZXByZWNhdGVkLiBVc2UgdGhlIHJlbW92ZUZ1bGxMaW5lcyBtZXRob2QgaW5zdGVhZC4iKTsKICAgICAgICByZXR1cm4gdGhpcy5yZW1vdmVGdWxsTGluZXMoZmlyc3RSb3csIGxhc3RSb3cpOwogICAgfTsKICAgIHRoaXMuaW5zZXJ0TmV3TGluZSA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CiAgICAgICAgY29uc29sZS53YXJuKCJVc2Ugb2YgZG9jdW1lbnQuaW5zZXJ0TmV3TGluZSBpcyBkZXByZWNhdGVkLiBVc2UgaW5zZXJ0TWVyZ2VkTGluZXMocG9zaXRpb24sIFsnJywgJyddKSBpbnN0ZWFkLiIpOwogICAgICAgIHJldHVybiB0aGlzLmluc2VydE1lcmdlZExpbmVzKHBvc2l0aW9uLCBbIiIsICIiXSk7CiAgICB9OwogICAgdGhpcy5pbnNlcnQgPSBmdW5jdGlvbihwb3NpdGlvbiwgdGV4dCkgewogICAgICAgIGlmICh0aGlzLmdldExlbmd0aCgpIDw9IDEpCiAgICAgICAgICAgIHRoaXMuJGRldGVjdE5ld0xpbmUodGV4dCk7CiAgICAgICAgCiAgICAgICAgcmV0dXJuIHRoaXMuaW5zZXJ0TWVyZ2VkTGluZXMocG9zaXRpb24sIHRoaXMuJHNwbGl0KHRleHQpKTsKICAgIH07CiAgICB0aGlzLmluc2VydEluTGluZSA9IGZ1bmN0aW9uKHBvc2l0aW9uLCB0ZXh0KSB7CiAgICAgICAgdmFyIHN0YXJ0ID0gdGhpcy5jbGlwcGVkUG9zKHBvc2l0aW9uLnJvdywgcG9zaXRpb24uY29sdW1uKTsKICAgICAgICB2YXIgZW5kID0gdGhpcy5wb3MocG9zaXRpb24ucm93LCBwb3NpdGlvbi5jb2x1bW4gKyB0ZXh0Lmxlbmd0aCk7CiAgICAgICAgCiAgICAgICAgdGhpcy5hcHBseURlbHRhKHsKICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LAogICAgICAgICAgICBlbmQ6IGVuZCwKICAgICAgICAgICAgYWN0aW9uOiAiaW5zZXJ0IiwKICAgICAgICAgICAgbGluZXM6IFt0ZXh0XQogICAgICAgIH0sIHRydWUpOwogICAgICAgIAogICAgICAgIHJldHVybiB0aGlzLmNsb25lUG9zKGVuZCk7CiAgICB9OwogICAgCiAgICB0aGlzLmNsaXBwZWRQb3MgPSBmdW5jdGlvbihyb3csIGNvbHVtbikgewogICAgICAgIHZhciBsZW5ndGggPSB0aGlzLmdldExlbmd0aCgpOwogICAgICAgIGlmIChyb3cgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICByb3cgPSBsZW5ndGg7CiAgICAgICAgfSBlbHNlIGlmIChyb3cgPCAwKSB7CiAgICAgICAgICAgIHJvdyA9IDA7CiAgICAgICAgfSBlbHNlIGlmIChyb3cgPj0gbGVuZ3RoKSB7CiAgICAgICAgICAgIHJvdyA9IGxlbmd0aCAtIDE7CiAgICAgICAgICAgIGNvbHVtbiA9IHVuZGVmaW5lZDsKICAgICAgICB9CiAgICAgICAgdmFyIGxpbmUgPSB0aGlzLmdldExpbmUocm93KTsKICAgICAgICBpZiAoY29sdW1uID09IHVuZGVmaW5lZCkKICAgICAgICAgICAgY29sdW1uID0gbGluZS5sZW5ndGg7CiAgICAgICAgY29sdW1uID0gTWF0aC5taW4oTWF0aC5tYXgoY29sdW1uLCAwKSwgbGluZS5sZW5ndGgpOwogICAgICAgIHJldHVybiB7cm93OiByb3csIGNvbHVtbjogY29sdW1ufTsKICAgIH07CiAgICAKICAgIHRoaXMuY2xvbmVQb3MgPSBmdW5jdGlvbihwb3MpIHsKICAgICAgICByZXR1cm4ge3JvdzogcG9zLnJvdywgY29sdW1uOiBwb3MuY29sdW1ufTsKICAgIH07CiAgICAKICAgIHRoaXMucG9zID0gZnVuY3Rpb24ocm93LCBjb2x1bW4pIHsKICAgICAgICByZXR1cm4ge3Jvdzogcm93LCBjb2x1bW46IGNvbHVtbn07CiAgICB9OwogICAgCiAgICB0aGlzLiRjbGlwUG9zaXRpb24gPSBmdW5jdGlvbihwb3NpdGlvbikgewogICAgICAgIHZhciBsZW5ndGggPSB0aGlzLmdldExlbmd0aCgpOwogICAgICAgIGlmIChwb3NpdGlvbi5yb3cgPj0gbGVuZ3RoKSB7CiAgICAgICAgICAgIHBvc2l0aW9uLnJvdyA9IE1hdGgubWF4KDAsIGxlbmd0aCAtIDEpOwogICAgICAgICAgICBwb3NpdGlvbi5jb2x1bW4gPSB0aGlzLmdldExpbmUobGVuZ3RoIC0gMSkubGVuZ3RoOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHBvc2l0aW9uLnJvdyA9IE1hdGgubWF4KDAsIHBvc2l0aW9uLnJvdyk7CiAgICAgICAgICAgIHBvc2l0aW9uLmNvbHVtbiA9IE1hdGgubWluKE1hdGgubWF4KHBvc2l0aW9uLmNvbHVtbiwgMCksIHRoaXMuZ2V0TGluZShwb3NpdGlvbi5yb3cpLmxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBwb3NpdGlvbjsKICAgIH07CiAgICB0aGlzLmluc2VydEZ1bGxMaW5lcyA9IGZ1bmN0aW9uKHJvdywgbGluZXMpIHsKICAgICAgICByb3cgPSBNYXRoLm1pbihNYXRoLm1heChyb3csIDApLCB0aGlzLmdldExlbmd0aCgpKTsKICAgICAgICB2YXIgY29sdW1uID0gMDsKICAgICAgICBpZiAocm93IDwgdGhpcy5nZXRMZW5ndGgoKSkgewogICAgICAgICAgICBsaW5lcyA9IGxpbmVzLmNvbmNhdChbIiJdKTsKICAgICAgICAgICAgY29sdW1uID0gMDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsaW5lcyA9IFsiIl0uY29uY2F0KGxpbmVzKTsKICAgICAgICAgICAgcm93LS07CiAgICAgICAgICAgIGNvbHVtbiA9IHRoaXMuJGxpbmVzW3Jvd10ubGVuZ3RoOwogICAgICAgIH0KICAgICAgICB0aGlzLmluc2VydE1lcmdlZExpbmVzKHtyb3c6IHJvdywgY29sdW1uOiBjb2x1bW59LCBsaW5lcyk7CiAgICB9OyAgICAKICAgIHRoaXMuaW5zZXJ0TWVyZ2VkTGluZXMgPSBmdW5jdGlvbihwb3NpdGlvbiwgbGluZXMpIHsKICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLmNsaXBwZWRQb3MocG9zaXRpb24ucm93LCBwb3NpdGlvbi5jb2x1bW4pOwogICAgICAgIHZhciBlbmQgPSB7CiAgICAgICAgICAgIHJvdzogc3RhcnQucm93ICsgbGluZXMubGVuZ3RoIC0gMSwKICAgICAgICAgICAgY29sdW1uOiAobGluZXMubGVuZ3RoID09IDEgPyBzdGFydC5jb2x1bW4gOiAwKSArIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdLmxlbmd0aAogICAgICAgIH07CiAgICAgICAgCiAgICAgICAgdGhpcy5hcHBseURlbHRhKHsKICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LAogICAgICAgICAgICBlbmQ6IGVuZCwKICAgICAgICAgICAgYWN0aW9uOiAiaW5zZXJ0IiwKICAgICAgICAgICAgbGluZXM6IGxpbmVzCiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgcmV0dXJuIHRoaXMuY2xvbmVQb3MoZW5kKTsKICAgIH07CiAgICB0aGlzLnJlbW92ZSA9IGZ1bmN0aW9uKHJhbmdlKSB7CiAgICAgICAgdmFyIHN0YXJ0ID0gdGhpcy5jbGlwcGVkUG9zKHJhbmdlLnN0YXJ0LnJvdywgcmFuZ2Uuc3RhcnQuY29sdW1uKTsKICAgICAgICB2YXIgZW5kID0gdGhpcy5jbGlwcGVkUG9zKHJhbmdlLmVuZC5yb3csIHJhbmdlLmVuZC5jb2x1bW4pOwogICAgICAgIHRoaXMuYXBwbHlEZWx0YSh7CiAgICAgICAgICAgIHN0YXJ0OiBzdGFydCwKICAgICAgICAgICAgZW5kOiBlbmQsCiAgICAgICAgICAgIGFjdGlvbjogInJlbW92ZSIsCiAgICAgICAgICAgIGxpbmVzOiB0aGlzLmdldExpbmVzRm9yUmFuZ2Uoe3N0YXJ0OiBzdGFydCwgZW5kOiBlbmR9KQogICAgICAgIH0pOwogICAgICAgIHJldHVybiB0aGlzLmNsb25lUG9zKHN0YXJ0KTsKICAgIH07CiAgICB0aGlzLnJlbW92ZUluTGluZSA9IGZ1bmN0aW9uKHJvdywgc3RhcnRDb2x1bW4sIGVuZENvbHVtbikgewogICAgICAgIHZhciBzdGFydCA9IHRoaXMuY2xpcHBlZFBvcyhyb3csIHN0YXJ0Q29sdW1uKTsKICAgICAgICB2YXIgZW5kID0gdGhpcy5jbGlwcGVkUG9zKHJvdywgZW5kQ29sdW1uKTsKICAgICAgICAKICAgICAgICB0aGlzLmFwcGx5RGVsdGEoewogICAgICAgICAgICBzdGFydDogc3RhcnQsCiAgICAgICAgICAgIGVuZDogZW5kLAogICAgICAgICAgICBhY3Rpb246ICJyZW1vdmUiLAogICAgICAgICAgICBsaW5lczogdGhpcy5nZXRMaW5lc0ZvclJhbmdlKHtzdGFydDogc3RhcnQsIGVuZDogZW5kfSkKICAgICAgICB9LCB0cnVlKTsKICAgICAgICAKICAgICAgICByZXR1cm4gdGhpcy5jbG9uZVBvcyhzdGFydCk7CiAgICB9OwogICAgdGhpcy5yZW1vdmVGdWxsTGluZXMgPSBmdW5jdGlvbihmaXJzdFJvdywgbGFzdFJvdykgewogICAgICAgIGZpcnN0Um93ID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgZmlyc3RSb3cpLCB0aGlzLmdldExlbmd0aCgpIC0gMSk7CiAgICAgICAgbGFzdFJvdyAgPSBNYXRoLm1pbihNYXRoLm1heCgwLCBsYXN0Um93ICksIHRoaXMuZ2V0TGVuZ3RoKCkgLSAxKTsKICAgICAgICB2YXIgZGVsZXRlRmlyc3ROZXdMaW5lID0gbGFzdFJvdyA9PSB0aGlzLmdldExlbmd0aCgpIC0gMSAmJiBmaXJzdFJvdyA+IDA7CiAgICAgICAgdmFyIGRlbGV0ZUxhc3ROZXdMaW5lICA9IGxhc3RSb3cgIDwgdGhpcy5nZXRMZW5ndGgoKSAtIDE7CiAgICAgICAgdmFyIHN0YXJ0Um93ID0gKCBkZWxldGVGaXJzdE5ld0xpbmUgPyBmaXJzdFJvdyAtIDEgICAgICAgICAgICAgICAgICA6IGZpcnN0Um93ICAgICAgICAgICAgICAgICAgICApOwogICAgICAgIHZhciBzdGFydENvbCA9ICggZGVsZXRlRmlyc3ROZXdMaW5lID8gdGhpcy5nZXRMaW5lKHN0YXJ0Um93KS5sZW5ndGggOiAwICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICB2YXIgZW5kUm93ICAgPSAoIGRlbGV0ZUxhc3ROZXdMaW5lICA/IGxhc3RSb3cgKyAxICAgICAgICAgICAgICAgICAgIDogbGFzdFJvdyAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgdmFyIGVuZENvbCAgID0gKCBkZWxldGVMYXN0TmV3TGluZSAgPyAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuZ2V0TGluZShlbmRSb3cpLmxlbmd0aCApOyAKICAgICAgICB2YXIgcmFuZ2UgPSBuZXcgUmFuZ2Uoc3RhcnRSb3csIHN0YXJ0Q29sLCBlbmRSb3csIGVuZENvbCk7CiAgICAgICAgdmFyIGRlbGV0ZWRMaW5lcyA9IHRoaXMuJGxpbmVzLnNsaWNlKGZpcnN0Um93LCBsYXN0Um93ICsgMSk7CiAgICAgICAgCiAgICAgICAgdGhpcy5hcHBseURlbHRhKHsKICAgICAgICAgICAgc3RhcnQ6IHJhbmdlLnN0YXJ0LAogICAgICAgICAgICBlbmQ6IHJhbmdlLmVuZCwKICAgICAgICAgICAgYWN0aW9uOiAicmVtb3ZlIiwKICAgICAgICAgICAgbGluZXM6IHRoaXMuZ2V0TGluZXNGb3JSYW5nZShyYW5nZSkKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gZGVsZXRlZExpbmVzOwogICAgfTsKICAgIHRoaXMucmVtb3ZlTmV3TGluZSA9IGZ1bmN0aW9uKHJvdykgewogICAgICAgIGlmIChyb3cgPCB0aGlzLmdldExlbmd0aCgpIC0gMSAmJiByb3cgPj0gMCkgewogICAgICAgICAgICB0aGlzLmFwcGx5RGVsdGEoewogICAgICAgICAgICAgICAgc3RhcnQ6IHRoaXMucG9zKHJvdywgdGhpcy5nZXRMaW5lKHJvdykubGVuZ3RoKSwKICAgICAgICAgICAgICAgIGVuZDogdGhpcy5wb3Mocm93ICsgMSwgMCksCiAgICAgICAgICAgICAgICBhY3Rpb246ICJyZW1vdmUiLAogICAgICAgICAgICAgICAgbGluZXM6IFsiIiwgIiJdCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH07CiAgICB0aGlzLnJlcGxhY2UgPSBmdW5jdGlvbihyYW5nZSwgdGV4dCkgewogICAgICAgIGlmICghKHJhbmdlIGluc3RhbmNlb2YgUmFuZ2UpKQogICAgICAgICAgICByYW5nZSA9IFJhbmdlLmZyb21Qb2ludHMocmFuZ2Uuc3RhcnQsIHJhbmdlLmVuZCk7CiAgICAgICAgaWYgKHRleHQubGVuZ3RoID09PSAwICYmIHJhbmdlLmlzRW1wdHkoKSkKICAgICAgICAgICAgcmV0dXJuIHJhbmdlLnN0YXJ0OwogICAgICAgIGlmICh0ZXh0ID09IHRoaXMuZ2V0VGV4dFJhbmdlKHJhbmdlKSkKICAgICAgICAgICAgcmV0dXJuIHJhbmdlLmVuZDsKCiAgICAgICAgdGhpcy5yZW1vdmUocmFuZ2UpOwogICAgICAgIHZhciBlbmQ7CiAgICAgICAgaWYgKHRleHQpIHsKICAgICAgICAgICAgZW5kID0gdGhpcy5pbnNlcnQocmFuZ2Uuc3RhcnQsIHRleHQpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZW5kID0gcmFuZ2Uuc3RhcnQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBlbmQ7CiAgICB9OwogICAgdGhpcy5hcHBseURlbHRhcyA9IGZ1bmN0aW9uKGRlbHRhcykgewogICAgICAgIGZvciAodmFyIGk9MDsgaTxkZWx0YXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdGhpcy5hcHBseURlbHRhKGRlbHRhc1tpXSk7CiAgICAgICAgfQogICAgfTsKICAgIHRoaXMucmV2ZXJ0RGVsdGFzID0gZnVuY3Rpb24oZGVsdGFzKSB7CiAgICAgICAgZm9yICh2YXIgaT1kZWx0YXMubGVuZ3RoLTE7IGk+PTA7IGktLSkgewogICAgICAgICAgICB0aGlzLnJldmVydERlbHRhKGRlbHRhc1tpXSk7CiAgICAgICAgfQogICAgfTsKICAgIHRoaXMuYXBwbHlEZWx0YSA9IGZ1bmN0aW9uKGRlbHRhLCBkb05vdFZhbGlkYXRlKSB7CiAgICAgICAgdmFyIGlzSW5zZXJ0ID0gZGVsdGEuYWN0aW9uID09ICJpbnNlcnQiOwogICAgICAgIGlmIChpc0luc2VydCA/IGRlbHRhLmxpbmVzLmxlbmd0aCA8PSAxICYmICFkZWx0YS5saW5lc1swXQogICAgICAgICAgICA6ICFSYW5nZS5jb21wYXJlUG9pbnRzKGRlbHRhLnN0YXJ0LCBkZWx0YS5lbmQpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYgKGlzSW5zZXJ0ICYmIGRlbHRhLmxpbmVzLmxlbmd0aCA+IDIwMDAwKSB7CiAgICAgICAgICAgIHRoaXMuJHNwbGl0QW5kYXBwbHlMYXJnZURlbHRhKGRlbHRhLCAyMDAwMCk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBhcHBseURlbHRhKHRoaXMuJGxpbmVzLCBkZWx0YSwgZG9Ob3RWYWxpZGF0ZSk7CiAgICAgICAgICAgIHRoaXMuX3NpZ25hbCgiY2hhbmdlIiwgZGVsdGEpOwogICAgICAgIH0KICAgIH07CiAgICAKICAgIHRoaXMuJHNhZmVBcHBseURlbHRhID0gZnVuY3Rpb24oZGVsdGEpIHsKICAgICAgICB2YXIgZG9jTGVuZ3RoID0gdGhpcy4kbGluZXMubGVuZ3RoOwogICAgICAgIGlmICgKICAgICAgICAgICAgZGVsdGEuYWN0aW9uID09ICJyZW1vdmUiICYmIGRlbHRhLnN0YXJ0LnJvdyA8IGRvY0xlbmd0aCAmJiBkZWx0YS5lbmQucm93IDwgZG9jTGVuZ3RoCiAgICAgICAgICAgIHx8IGRlbHRhLmFjdGlvbiA9PSAiaW5zZXJ0IiAmJiBkZWx0YS5zdGFydC5yb3cgPD0gZG9jTGVuZ3RoCiAgICAgICAgKSB7CiAgICAgICAgICAgIHRoaXMuYXBwbHlEZWx0YShkZWx0YSk7CiAgICAgICAgfQogICAgfTsKICAgIAogICAgdGhpcy4kc3BsaXRBbmRhcHBseUxhcmdlRGVsdGEgPSBmdW5jdGlvbihkZWx0YSwgTUFYKSB7CiAgICAgICAgdmFyIGxpbmVzID0gZGVsdGEubGluZXM7CiAgICAgICAgdmFyIGwgPSBsaW5lcy5sZW5ndGggLSBNQVggKyAxOwogICAgICAgIHZhciByb3cgPSBkZWx0YS5zdGFydC5yb3c7IAogICAgICAgIHZhciBjb2x1bW4gPSBkZWx0YS5zdGFydC5jb2x1bW47CiAgICAgICAgZm9yICh2YXIgZnJvbSA9IDAsIHRvID0gMDsgZnJvbSA8IGw7IGZyb20gPSB0bykgewogICAgICAgICAgICB0byArPSBNQVggLSAxOwogICAgICAgICAgICB2YXIgY2h1bmsgPSBsaW5lcy5zbGljZShmcm9tLCB0byk7CiAgICAgICAgICAgIGNodW5rLnB1c2goIiIpOwogICAgICAgICAgICB0aGlzLmFwcGx5RGVsdGEoewogICAgICAgICAgICAgICAgc3RhcnQ6IHRoaXMucG9zKHJvdyArIGZyb20sIGNvbHVtbiksCiAgICAgICAgICAgICAgICBlbmQ6IHRoaXMucG9zKHJvdyArIHRvLCBjb2x1bW4gPSAwKSwKICAgICAgICAgICAgICAgIGFjdGlvbjogZGVsdGEuYWN0aW9uLAogICAgICAgICAgICAgICAgbGluZXM6IGNodW5rCiAgICAgICAgICAgIH0sIHRydWUpOwogICAgICAgIH0KICAgICAgICBkZWx0YS5saW5lcyA9IGxpbmVzLnNsaWNlKGZyb20pOwogICAgICAgIGRlbHRhLnN0YXJ0LnJvdyA9IHJvdyArIGZyb207CiAgICAgICAgZGVsdGEuc3RhcnQuY29sdW1uID0gY29sdW1uOwogICAgICAgIHRoaXMuYXBwbHlEZWx0YShkZWx0YSwgdHJ1ZSk7CiAgICB9OwogICAgdGhpcy5yZXZlcnREZWx0YSA9IGZ1bmN0aW9uKGRlbHRhKSB7CiAgICAgICAgdGhpcy4kc2FmZUFwcGx5RGVsdGEoewogICAgICAgICAgICBzdGFydDogdGhpcy5jbG9uZVBvcyhkZWx0YS5zdGFydCksCiAgICAgICAgICAgIGVuZDogdGhpcy5jbG9uZVBvcyhkZWx0YS5lbmQpLAogICAgICAgICAgICBhY3Rpb246IChkZWx0YS5hY3Rpb24gPT0gImluc2VydCIgPyAicmVtb3ZlIiA6ICJpbnNlcnQiKSwKICAgICAgICAgICAgbGluZXM6IGRlbHRhLmxpbmVzLnNsaWNlKCkKICAgICAgICB9KTsKICAgIH07CiAgICB0aGlzLmluZGV4VG9Qb3NpdGlvbiA9IGZ1bmN0aW9uKGluZGV4LCBzdGFydFJvdykgewogICAgICAgIHZhciBsaW5lcyA9IHRoaXMuJGxpbmVzIHx8IHRoaXMuZ2V0QWxsTGluZXMoKTsKICAgICAgICB2YXIgbmV3bGluZUxlbmd0aCA9IHRoaXMuZ2V0TmV3TGluZUNoYXJhY3RlcigpLmxlbmd0aDsKICAgICAgICBmb3IgKHZhciBpID0gc3RhcnRSb3cgfHwgMCwgbCA9IGxpbmVzLmxlbmd0aDsgaSA8IGw7IGkrKykgewogICAgICAgICAgICBpbmRleCAtPSBsaW5lc1tpXS5sZW5ndGggKyBuZXdsaW5lTGVuZ3RoOwogICAgICAgICAgICBpZiAoaW5kZXggPCAwKQogICAgICAgICAgICAgICAgcmV0dXJuIHtyb3c6IGksIGNvbHVtbjogaW5kZXggKyBsaW5lc1tpXS5sZW5ndGggKyBuZXdsaW5lTGVuZ3RofTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHtyb3c6IGwtMSwgY29sdW1uOiBpbmRleCArIGxpbmVzW2wtMV0ubGVuZ3RoICsgbmV3bGluZUxlbmd0aH07CiAgICB9OwogICAgdGhpcy5wb3NpdGlvblRvSW5kZXggPSBmdW5jdGlvbihwb3MsIHN0YXJ0Um93KSB7CiAgICAgICAgdmFyIGxpbmVzID0gdGhpcy4kbGluZXMgfHwgdGhpcy5nZXRBbGxMaW5lcygpOwogICAgICAgIHZhciBuZXdsaW5lTGVuZ3RoID0gdGhpcy5nZXROZXdMaW5lQ2hhcmFjdGVyKCkubGVuZ3RoOwogICAgICAgIHZhciBpbmRleCA9IDA7CiAgICAgICAgdmFyIHJvdyA9IE1hdGgubWluKHBvcy5yb3csIGxpbmVzLmxlbmd0aCk7CiAgICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0Um93IHx8IDA7IGkgPCByb3c7ICsraSkKICAgICAgICAgICAgaW5kZXggKz0gbGluZXNbaV0ubGVuZ3RoICsgbmV3bGluZUxlbmd0aDsKCiAgICAgICAgcmV0dXJuIGluZGV4ICsgcG9zLmNvbHVtbjsKICAgIH07Cgp9KS5jYWxsKERvY3VtZW50LnByb3RvdHlwZSk7CgpleHBvcnRzLkRvY3VtZW50ID0gRG9jdW1lbnQ7Cn0pOwoKYWNlLmRlZmluZSgiYWNlL2xpYi9sYW5nIixbXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKSB7CiJ1c2Ugc3RyaWN0IjsKCmV4cG9ydHMubGFzdCA9IGZ1bmN0aW9uKGEpIHsKICAgIHJldHVybiBhW2EubGVuZ3RoIC0gMV07Cn07CgpleHBvcnRzLnN0cmluZ1JldmVyc2UgPSBmdW5jdGlvbihzdHJpbmcpIHsKICAgIHJldHVybiBzdHJpbmcuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKTsKfTsKCmV4cG9ydHMuc3RyaW5nUmVwZWF0ID0gZnVuY3Rpb24gKHN0cmluZywgY291bnQpIHsKICAgIHZhciByZXN1bHQgPSAnJzsKICAgIHdoaWxlIChjb3VudCA+IDApIHsKICAgICAgICBpZiAoY291bnQgJiAxKQogICAgICAgICAgICByZXN1bHQgKz0gc3RyaW5nOwoKICAgICAgICBpZiAoY291bnQgPj49IDEpCiAgICAgICAgICAgIHN0cmluZyArPSBzdHJpbmc7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0Owp9OwoKdmFyIHRyaW1CZWdpblJlZ2V4cCA9IC9eXHNccyovOwp2YXIgdHJpbUVuZFJlZ2V4cCA9IC9cc1xzKiQvOwoKZXhwb3J0cy5zdHJpbmdUcmltTGVmdCA9IGZ1bmN0aW9uIChzdHJpbmcpIHsKICAgIHJldHVybiBzdHJpbmcucmVwbGFjZSh0cmltQmVnaW5SZWdleHAsICcnKTsKfTsKCmV4cG9ydHMuc3RyaW5nVHJpbVJpZ2h0ID0gZnVuY3Rpb24gKHN0cmluZykgewogICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKHRyaW1FbmRSZWdleHAsICcnKTsKfTsKCmV4cG9ydHMuY29weU9iamVjdCA9IGZ1bmN0aW9uKG9iaikgewogICAgdmFyIGNvcHkgPSB7fTsKICAgIGZvciAodmFyIGtleSBpbiBvYmopIHsKICAgICAgICBjb3B5W2tleV0gPSBvYmpba2V5XTsKICAgIH0KICAgIHJldHVybiBjb3B5Owp9OwoKZXhwb3J0cy5jb3B5QXJyYXkgPSBmdW5jdGlvbihhcnJheSl7CiAgICB2YXIgY29weSA9IFtdOwogICAgZm9yICh2YXIgaT0wLCBsPWFycmF5Lmxlbmd0aDsgaTxsOyBpKyspIHsKICAgICAgICBpZiAoYXJyYXlbaV0gJiYgdHlwZW9mIGFycmF5W2ldID09ICJvYmplY3QiKQogICAgICAgICAgICBjb3B5W2ldID0gdGhpcy5jb3B5T2JqZWN0KGFycmF5W2ldKTsKICAgICAgICBlbHNlIAogICAgICAgICAgICBjb3B5W2ldID0gYXJyYXlbaV07CiAgICB9CiAgICByZXR1cm4gY29weTsKfTsKCmV4cG9ydHMuZGVlcENvcHkgPSBmdW5jdGlvbiBkZWVwQ29weShvYmopIHsKICAgIGlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IiB8fCAhb2JqKQogICAgICAgIHJldHVybiBvYmo7CiAgICB2YXIgY29weTsKICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHsKICAgICAgICBjb3B5ID0gW107CiAgICAgICAgZm9yICh2YXIga2V5ID0gMDsga2V5IDwgb2JqLmxlbmd0aDsga2V5KyspIHsKICAgICAgICAgICAgY29weVtrZXldID0gZGVlcENvcHkob2JqW2tleV0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gY29weTsKICAgIH0KICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSAhPT0gIltvYmplY3QgT2JqZWN0XSIpCiAgICAgICAgcmV0dXJuIG9iajsKICAgIAogICAgY29weSA9IHt9OwogICAgZm9yICh2YXIga2V5IGluIG9iaikKICAgICAgICBjb3B5W2tleV0gPSBkZWVwQ29weShvYmpba2V5XSk7CiAgICByZXR1cm4gY29weTsKfTsKCmV4cG9ydHMuYXJyYXlUb01hcCA9IGZ1bmN0aW9uKGFycikgewogICAgdmFyIG1hcCA9IHt9OwogICAgZm9yICh2YXIgaT0wOyBpPGFyci5sZW5ndGg7IGkrKykgewogICAgICAgIG1hcFthcnJbaV1dID0gMTsKICAgIH0KICAgIHJldHVybiBtYXA7Cgp9OwoKZXhwb3J0cy5jcmVhdGVNYXAgPSBmdW5jdGlvbihwcm9wcykgewogICAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICBmb3IgKHZhciBpIGluIHByb3BzKSB7CiAgICAgICAgbWFwW2ldID0gcHJvcHNbaV07CiAgICB9CiAgICByZXR1cm4gbWFwOwp9OwpleHBvcnRzLmFycmF5UmVtb3ZlID0gZnVuY3Rpb24oYXJyYXksIHZhbHVlKSB7CiAgZm9yICh2YXIgaSA9IDA7IGkgPD0gYXJyYXkubGVuZ3RoOyBpKyspIHsKICAgIGlmICh2YWx1ZSA9PT0gYXJyYXlbaV0pIHsKICAgICAgYXJyYXkuc3BsaWNlKGksIDEpOwogICAgfQogIH0KfTsKCmV4cG9ydHMuZXNjYXBlUmVnRXhwID0gZnVuY3Rpb24oc3RyKSB7CiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbLiorP14ke30oKXxbXF1cL1xcXSkvZywgJ1xcJDEnKTsKfTsKCmV4cG9ydHMuZXNjYXBlSFRNTCA9IGZ1bmN0aW9uKHN0cikgewogICAgcmV0dXJuICgiIiArIHN0cikucmVwbGFjZSgvJi9nLCAiJiMzODsiKS5yZXBsYWNlKC8iL2csICImIzM0OyIpLnJlcGxhY2UoLycvZywgIiYjMzk7IikucmVwbGFjZSgvPC9nLCAiJiM2MDsiKTsKfTsKCmV4cG9ydHMuZ2V0TWF0Y2hPZmZzZXRzID0gZnVuY3Rpb24oc3RyaW5nLCByZWdFeHApIHsKICAgIHZhciBtYXRjaGVzID0gW107CgogICAgc3RyaW5nLnJlcGxhY2UocmVnRXhwLCBmdW5jdGlvbihzdHIpIHsKICAgICAgICBtYXRjaGVzLnB1c2goewogICAgICAgICAgICBvZmZzZXQ6IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoLTJdLAogICAgICAgICAgICBsZW5ndGg6IHN0ci5sZW5ndGgKICAgICAgICB9KTsKICAgIH0pOwoKICAgIHJldHVybiBtYXRjaGVzOwp9OwpleHBvcnRzLmRlZmVycmVkQ2FsbCA9IGZ1bmN0aW9uKGZjbikgewogICAgdmFyIHRpbWVyID0gbnVsbDsKICAgIHZhciBjYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgIHRpbWVyID0gbnVsbDsKICAgICAgICBmY24oKTsKICAgIH07CgogICAgdmFyIGRlZmVycmVkID0gZnVuY3Rpb24odGltZW91dCkgewogICAgICAgIGRlZmVycmVkLmNhbmNlbCgpOwogICAgICAgIHRpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgdGltZW91dCB8fCAwKTsKICAgICAgICByZXR1cm4gZGVmZXJyZWQ7CiAgICB9OwoKICAgIGRlZmVycmVkLnNjaGVkdWxlID0gZGVmZXJyZWQ7CgogICAgZGVmZXJyZWQuY2FsbCA9IGZ1bmN0aW9uKCkgewogICAgICAgIHRoaXMuY2FuY2VsKCk7CiAgICAgICAgZmNuKCk7CiAgICAgICAgcmV0dXJuIGRlZmVycmVkOwogICAgfTsKCiAgICBkZWZlcnJlZC5jYW5jZWwgPSBmdW5jdGlvbigpIHsKICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpOwogICAgICAgIHRpbWVyID0gbnVsbDsKICAgICAgICByZXR1cm4gZGVmZXJyZWQ7CiAgICB9OwogICAgCiAgICBkZWZlcnJlZC5pc1BlbmRpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gdGltZXI7CiAgICB9OwoKICAgIHJldHVybiBkZWZlcnJlZDsKfTsKCgpleHBvcnRzLmRlbGF5ZWRDYWxsID0gZnVuY3Rpb24oZmNuLCBkZWZhdWx0VGltZW91dCkgewogICAgdmFyIHRpbWVyID0gbnVsbDsKICAgIHZhciBjYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgIHRpbWVyID0gbnVsbDsKICAgICAgICBmY24oKTsKICAgIH07CgogICAgdmFyIF9zZWxmID0gZnVuY3Rpb24odGltZW91dCkgewogICAgICAgIGlmICh0aW1lciA9PSBudWxsKQogICAgICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoY2FsbGJhY2ssIHRpbWVvdXQgfHwgZGVmYXVsdFRpbWVvdXQpOwogICAgfTsKCiAgICBfc2VsZi5kZWxheSA9IGZ1bmN0aW9uKHRpbWVvdXQpIHsKICAgICAgICB0aW1lciAmJiBjbGVhclRpbWVvdXQodGltZXIpOwogICAgICAgIHRpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgdGltZW91dCB8fCBkZWZhdWx0VGltZW91dCk7CiAgICB9OwogICAgX3NlbGYuc2NoZWR1bGUgPSBfc2VsZjsKCiAgICBfc2VsZi5jYWxsID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5jYW5jZWwoKTsKICAgICAgICBmY24oKTsKICAgIH07CgogICAgX3NlbGYuY2FuY2VsID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGltZXIgJiYgY2xlYXJUaW1lb3V0KHRpbWVyKTsKICAgICAgICB0aW1lciA9IG51bGw7CiAgICB9OwoKICAgIF9zZWxmLmlzUGVuZGluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aW1lcjsKICAgIH07CgogICAgcmV0dXJuIF9zZWxmOwp9Owp9KTsKCmFjZS5kZWZpbmUoImFjZS93b3JrZXIvbWlycm9yIixbXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKSB7CiJ1c2Ugc3RyaWN0IjsKCnZhciBSYW5nZSA9IHJlcXVpcmUoIi4uL3JhbmdlIikuUmFuZ2U7CnZhciBEb2N1bWVudCA9IHJlcXVpcmUoIi4uL2RvY3VtZW50IikuRG9jdW1lbnQ7CnZhciBsYW5nID0gcmVxdWlyZSgiLi4vbGliL2xhbmciKTsKICAgIAp2YXIgTWlycm9yID0gZXhwb3J0cy5NaXJyb3IgPSBmdW5jdGlvbihzZW5kZXIpIHsKICAgIHRoaXMuc2VuZGVyID0gc2VuZGVyOwogICAgdmFyIGRvYyA9IHRoaXMuZG9jID0gbmV3IERvY3VtZW50KCIiKTsKICAgIAogICAgdmFyIGRlZmVycmVkVXBkYXRlID0gdGhpcy5kZWZlcnJlZFVwZGF0ZSA9IGxhbmcuZGVsYXllZENhbGwodGhpcy5vblVwZGF0ZS5iaW5kKHRoaXMpKTsKICAgIAogICAgdmFyIF9zZWxmID0gdGhpczsKICAgIHNlbmRlci5vbigiY2hhbmdlIiwgZnVuY3Rpb24oZSkgewogICAgICAgIHZhciBkYXRhID0gZS5kYXRhOwogICAgICAgIGlmIChkYXRhWzBdLnN0YXJ0KSB7CiAgICAgICAgICAgIGRvYy5hcHBseURlbHRhcyhkYXRhKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpICs9IDIpIHsKICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFbaSsxXSkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IHthY3Rpb246ICJpbnNlcnQiLCBzdGFydDogZGF0YVtpXSwgbGluZXM6IGRhdGFbaSsxXX07CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHZhciBkID0ge2FjdGlvbjogInJlbW92ZSIsIHN0YXJ0OiBkYXRhW2ldLCBlbmQ6IGRhdGFbaSsxXX07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBkb2MuYXBwbHlEZWx0YShkLCB0cnVlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoX3NlbGYuJHRpbWVvdXQpCiAgICAgICAgICAgIHJldHVybiBkZWZlcnJlZFVwZGF0ZS5zY2hlZHVsZShfc2VsZi4kdGltZW91dCk7CiAgICAgICAgX3NlbGYub25VcGRhdGUoKTsKICAgIH0pOwp9OwoKKGZ1bmN0aW9uKCkgewogICAgCiAgICB0aGlzLiR0aW1lb3V0ID0gNTAwOwogICAgCiAgICB0aGlzLnNldFRpbWVvdXQgPSBmdW5jdGlvbih0aW1lb3V0KSB7CiAgICAgICAgdGhpcy4kdGltZW91dCA9IHRpbWVvdXQ7CiAgICB9OwogICAgCiAgICB0aGlzLnNldFZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICB0aGlzLmRvYy5zZXRWYWx1ZSh2YWx1ZSk7CiAgICAgICAgdGhpcy5kZWZlcnJlZFVwZGF0ZS5zY2hlZHVsZSh0aGlzLiR0aW1lb3V0KTsKICAgIH07CiAgICAKICAgIHRoaXMuZ2V0VmFsdWUgPSBmdW5jdGlvbihjYWxsYmFja0lkKSB7CiAgICAgICAgdGhpcy5zZW5kZXIuY2FsbGJhY2sodGhpcy5kb2MuZ2V0VmFsdWUoKSwgY2FsbGJhY2tJZCk7CiAgICB9OwogICAgCiAgICB0aGlzLm9uVXBkYXRlID0gZnVuY3Rpb24oKSB7CiAgICB9OwogICAgCiAgICB0aGlzLmlzUGVuZGluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLmRlZmVycmVkVXBkYXRlLmlzUGVuZGluZygpOwogICAgfTsKICAgIAp9KS5jYWxsKE1pcnJvci5wcm90b3R5cGUpOwoKfSk7CgphY2UuZGVmaW5lKCJhY2UvbW9kZS9qc29uL2pzb25fcGFyc2UiLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpIHsKInVzZSBzdHJpY3QiOwoKICAgIHZhciBhdCwgICAgIC8vIFRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIKICAgICAgICBjaCwgICAgIC8vIFRoZSBjdXJyZW50IGNoYXJhY3RlcgogICAgICAgIGVzY2FwZWUgPSB7CiAgICAgICAgICAgICciJzogICciJywKICAgICAgICAgICAgJ1xcJzogJ1xcJywKICAgICAgICAgICAgJy8nOiAgJy8nLAogICAgICAgICAgICBiOiAgICAnXGInLAogICAgICAgICAgICBmOiAgICAnXGYnLAogICAgICAgICAgICBuOiAgICAnXG4nLAogICAgICAgICAgICByOiAgICAnXHInLAogICAgICAgICAgICB0OiAgICAnXHQnCiAgICAgICAgfSwKICAgICAgICB0ZXh0LAoKICAgICAgICBlcnJvciA9IGZ1bmN0aW9uIChtKSB7CgogICAgICAgICAgICB0aHJvdyB7CiAgICAgICAgICAgICAgICBuYW1lOiAgICAnU3ludGF4RXJyb3InLAogICAgICAgICAgICAgICAgbWVzc2FnZTogbSwKICAgICAgICAgICAgICAgIGF0OiAgICAgIGF0LAogICAgICAgICAgICAgICAgdGV4dDogICAgdGV4dAogICAgICAgICAgICB9OwogICAgICAgIH0sCgogICAgICAgIG5leHQgPSBmdW5jdGlvbiAoYykgewoKICAgICAgICAgICAgaWYgKGMgJiYgYyAhPT0gY2gpIHsKICAgICAgICAgICAgICAgIGVycm9yKCJFeHBlY3RlZCAnIiArIGMgKyAiJyBpbnN0ZWFkIG9mICciICsgY2ggKyAiJyIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBjaCA9IHRleHQuY2hhckF0KGF0KTsKICAgICAgICAgICAgYXQgKz0gMTsKICAgICAgICAgICAgcmV0dXJuIGNoOwogICAgICAgIH0sCgogICAgICAgIG51bWJlciA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgICAgIHZhciBudW1iZXIsCiAgICAgICAgICAgICAgICBzdHJpbmcgPSAnJzsKCiAgICAgICAgICAgIGlmIChjaCA9PT0gJy0nKSB7CiAgICAgICAgICAgICAgICBzdHJpbmcgPSAnLSc7CiAgICAgICAgICAgICAgICBuZXh0KCctJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgd2hpbGUgKGNoID49ICcwJyAmJiBjaCA8PSAnOScpIHsKICAgICAgICAgICAgICAgIHN0cmluZyArPSBjaDsKICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY2ggPT09ICcuJykgewogICAgICAgICAgICAgICAgc3RyaW5nICs9ICcuJzsKICAgICAgICAgICAgICAgIHdoaWxlIChuZXh0KCkgJiYgY2ggPj0gJzAnICYmIGNoIDw9ICc5JykgewogICAgICAgICAgICAgICAgICAgIHN0cmluZyArPSBjaDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY2ggPT09ICdlJyB8fCBjaCA9PT0gJ0UnKSB7CiAgICAgICAgICAgICAgICBzdHJpbmcgKz0gY2g7CiAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICctJyB8fCBjaCA9PT0gJysnKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nICs9IGNoOwogICAgICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdoaWxlIChjaCA+PSAnMCcgJiYgY2ggPD0gJzknKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nICs9IGNoOwogICAgICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBudW1iZXIgPSArc3RyaW5nOwogICAgICAgICAgICBpZiAoaXNOYU4obnVtYmVyKSkgewogICAgICAgICAgICAgICAgZXJyb3IoIkJhZCBudW1iZXIiKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBudW1iZXI7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBzdHJpbmcgPSBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICB2YXIgaGV4LAogICAgICAgICAgICAgICAgaSwKICAgICAgICAgICAgICAgIHN0cmluZyA9ICcnLAogICAgICAgICAgICAgICAgdWZmZmY7CgogICAgICAgICAgICBpZiAoY2ggPT09ICciJykgewogICAgICAgICAgICAgICAgd2hpbGUgKG5leHQoKSkgewogICAgICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJyInKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoID09PSAnXFwnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoID09PSAndScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVmZmZmID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpICs9IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXggPSBwYXJzZUludChuZXh0KCksIDE2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRmluaXRlKGhleCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVmZmZmID0gdWZmZmYgKiAxNiArIGhleDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHVmZmZmKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXNjYXBlZVtjaF0gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcgKz0gZXNjYXBlZVtjaF07CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2ggPT0gIlxuIiB8fCBjaCA9PSAiXHIiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZyArPSBjaDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZXJyb3IoIkJhZCBzdHJpbmciKTsKICAgICAgICB9LAoKICAgICAgICB3aGl0ZSA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgICAgIHdoaWxlIChjaCAmJiBjaCA8PSAnICcpIHsKICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIHdvcmQgPSBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICBzd2l0Y2ggKGNoKSB7CiAgICAgICAgICAgIGNhc2UgJ3QnOgogICAgICAgICAgICAgICAgbmV4dCgndCcpOwogICAgICAgICAgICAgICAgbmV4dCgncicpOwogICAgICAgICAgICAgICAgbmV4dCgndScpOwogICAgICAgICAgICAgICAgbmV4dCgnZScpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIGNhc2UgJ2YnOgogICAgICAgICAgICAgICAgbmV4dCgnZicpOwogICAgICAgICAgICAgICAgbmV4dCgnYScpOwogICAgICAgICAgICAgICAgbmV4dCgnbCcpOwogICAgICAgICAgICAgICAgbmV4dCgncycpOwogICAgICAgICAgICAgICAgbmV4dCgnZScpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICBjYXNlICduJzoKICAgICAgICAgICAgICAgIG5leHQoJ24nKTsKICAgICAgICAgICAgICAgIG5leHQoJ3UnKTsKICAgICAgICAgICAgICAgIG5leHQoJ2wnKTsKICAgICAgICAgICAgICAgIG5leHQoJ2wnKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVycm9yKCJVbmV4cGVjdGVkICciICsgY2ggKyAiJyIpOwogICAgICAgIH0sCgogICAgICAgIHZhbHVlLCAgLy8gUGxhY2UgaG9sZGVyIGZvciB0aGUgdmFsdWUgZnVuY3Rpb24uCgogICAgICAgIGFycmF5ID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgdmFyIGFycmF5ID0gW107CgogICAgICAgICAgICBpZiAoY2ggPT09ICdbJykgewogICAgICAgICAgICAgICAgbmV4dCgnWycpOwogICAgICAgICAgICAgICAgd2hpdGUoKTsKICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ10nKSB7CiAgICAgICAgICAgICAgICAgICAgbmV4dCgnXScpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBhcnJheTsgICAvLyBlbXB0eSBhcnJheQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgd2hpbGUgKGNoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyYXkucHVzaCh2YWx1ZSgpKTsKICAgICAgICAgICAgICAgICAgICB3aGl0ZSgpOwogICAgICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ10nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoJ10nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFycmF5OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBuZXh0KCcsJyk7CiAgICAgICAgICAgICAgICAgICAgd2hpdGUoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlcnJvcigiQmFkIGFycmF5Iik7CiAgICAgICAgfSwKCiAgICAgICAgb2JqZWN0ID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgdmFyIGtleSwKICAgICAgICAgICAgICAgIG9iamVjdCA9IHt9OwoKICAgICAgICAgICAgaWYgKGNoID09PSAneycpIHsKICAgICAgICAgICAgICAgIG5leHQoJ3snKTsKICAgICAgICAgICAgICAgIHdoaXRlKCk7CiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICd9JykgewogICAgICAgICAgICAgICAgICAgIG5leHQoJ30nKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqZWN0OyAgIC8vIGVtcHR5IG9iamVjdAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgd2hpbGUgKGNoKSB7CiAgICAgICAgICAgICAgICAgICAga2V5ID0gc3RyaW5nKCk7CiAgICAgICAgICAgICAgICAgICAgd2hpdGUoKTsKICAgICAgICAgICAgICAgICAgICBuZXh0KCc6Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRHVwbGljYXRlIGtleSAiJyArIGtleSArICciJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIG9iamVjdFtrZXldID0gdmFsdWUoKTsKICAgICAgICAgICAgICAgICAgICB3aGl0ZSgpOwogICAgICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ30nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoJ30nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgbmV4dCgnLCcpOwogICAgICAgICAgICAgICAgICAgIHdoaXRlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZXJyb3IoIkJhZCBvYmplY3QiKTsKICAgICAgICB9OwoKICAgIHZhbHVlID0gZnVuY3Rpb24gKCkgewoKICAgICAgICB3aGl0ZSgpOwogICAgICAgIHN3aXRjaCAoY2gpIHsKICAgICAgICBjYXNlICd7JzoKICAgICAgICAgICAgcmV0dXJuIG9iamVjdCgpOwogICAgICAgIGNhc2UgJ1snOgogICAgICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgICAgICBjYXNlICciJzoKICAgICAgICAgICAgcmV0dXJuIHN0cmluZygpOwogICAgICAgIGNhc2UgJy0nOgogICAgICAgICAgICByZXR1cm4gbnVtYmVyKCk7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuIGNoID49ICcwJyAmJiBjaCA8PSAnOScgPyBudW1iZXIoKSA6IHdvcmQoKTsKICAgICAgICB9CiAgICB9OwoKICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlLCByZXZpdmVyKSB7CiAgICAgICAgdmFyIHJlc3VsdDsKCiAgICAgICAgdGV4dCA9IHNvdXJjZTsKICAgICAgICBhdCA9IDA7CiAgICAgICAgY2ggPSAnICc7CiAgICAgICAgcmVzdWx0ID0gdmFsdWUoKTsKICAgICAgICB3aGl0ZSgpOwogICAgICAgIGlmIChjaCkgewogICAgICAgICAgICBlcnJvcigiU3ludGF4IGVycm9yIik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdHlwZW9mIHJldml2ZXIgPT09ICdmdW5jdGlvbicgPyBmdW5jdGlvbiB3YWxrKGhvbGRlciwga2V5KSB7CiAgICAgICAgICAgIHZhciBrLCB2LCB2YWx1ZSA9IGhvbGRlcltrZXldOwogICAgICAgICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JykgewogICAgICAgICAgICAgICAgZm9yIChrIGluIHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrKSkgewogICAgICAgICAgICAgICAgICAgICAgICB2ID0gd2Fsayh2YWx1ZSwgayk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlW2tdID0gdjsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2YWx1ZVtrXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcmV2aXZlci5jYWxsKGhvbGRlciwga2V5LCB2YWx1ZSk7CiAgICAgICAgfSh7Jyc6IHJlc3VsdH0sICcnKSA6IHJlc3VsdDsKICAgIH07Cn0pOwoKYWNlLmRlZmluZSgiYWNlL21vZGUvanNvbl93b3JrZXIiLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpIHsKInVzZSBzdHJpY3QiOwoKdmFyIG9vcCA9IHJlcXVpcmUoIi4uL2xpYi9vb3AiKTsKdmFyIE1pcnJvciA9IHJlcXVpcmUoIi4uL3dvcmtlci9taXJyb3IiKS5NaXJyb3I7CnZhciBwYXJzZSA9IHJlcXVpcmUoIi4vanNvbi9qc29uX3BhcnNlIik7Cgp2YXIgSnNvbldvcmtlciA9IGV4cG9ydHMuSnNvbldvcmtlciA9IGZ1bmN0aW9uKHNlbmRlcikgewogICAgTWlycm9yLmNhbGwodGhpcywgc2VuZGVyKTsKICAgIHRoaXMuc2V0VGltZW91dCgyMDApOwp9OwoKb29wLmluaGVyaXRzKEpzb25Xb3JrZXIsIE1pcnJvcik7CgooZnVuY3Rpb24oKSB7CgogICAgdGhpcy5vblVwZGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZG9jLmdldFZhbHVlKCk7CiAgICAgICAgdmFyIGVycm9ycyA9IFtdOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmICh2YWx1ZSkKICAgICAgICAgICAgICAgIHBhcnNlKHZhbHVlKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHZhciBwb3MgPSB0aGlzLmRvYy5pbmRleFRvUG9zaXRpb24oZS5hdC0xKTsKICAgICAgICAgICAgZXJyb3JzLnB1c2goewogICAgICAgICAgICAgICAgcm93OiBwb3Mucm93LAogICAgICAgICAgICAgICAgY29sdW1uOiBwb3MuY29sdW1uLAogICAgICAgICAgICAgICAgdGV4dDogZS5tZXNzYWdlLAogICAgICAgICAgICAgICAgdHlwZTogImVycm9yIgogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgdGhpcy5zZW5kZXIuZW1pdCgiYW5ub3RhdGUiLCBlcnJvcnMpOwogICAgfTsKCn0pLmNhbGwoSnNvbldvcmtlci5wcm90b3R5cGUpOwoKfSk7Cg=="},7907:function(Ce,Ie,ve){"use strict";ve.d(Ie,{m0:function(){return r},cC:function(){return l},Iu:function(){return c}}),ve(4987);var be={en:{array:"Array",auto:"Auto",appendText:"Append",appendTitle:"Append a new field with type 'auto' after this field (Ctrl+Shift+Ins)",appendSubmenuTitle:"Select the type of the field to be appended",appendTitleAuto:"Append a new field with type 'auto' (Ctrl+Shift+Ins)",ascending:"Ascending",ascendingTitle:"Sort the childs of this ${type} in ascending order",actionsMenu:"Click to open the actions menu (Ctrl+M)",cannotParseFieldError:"Cannot parse field into JSON",cannotParseValueError:"Cannot parse value into JSON",collapseAll:"Collapse all fields",compactTitle:"Compact JSON data, remove all whitespaces (Ctrl+Shift+I)",descending:"Descending",descendingTitle:"Sort the childs of this ${type} in descending order",drag:"Drag to move this field (Alt+Shift+Arrows)",duplicateKey:"duplicate key",duplicateText:"Duplicate",duplicateTitle:"Duplicate selected fields (Ctrl+D)",duplicateField:"Duplicate this field (Ctrl+D)",duplicateFieldError:"Duplicate field name",empty:"empty",expandAll:"Expand all fields",expandTitle:"Click to expand/collapse this field (Ctrl+E). \nCtrl+Click to expand/collapse including all childs.",formatTitle:"Format JSON data, with proper indentation and line feeds (Ctrl+I)",insert:"Insert",insertTitle:"Insert a new field with type 'auto' before this field (Ctrl+Ins)",insertSub:"Select the type of the field to be inserted",object:"Object",ok:"Ok",redo:"Redo (Ctrl+Shift+Z)",removeText:"Remove",removeTitle:"Remove selected fields (Ctrl+Del)",removeField:"Remove this field (Ctrl+Del)",repairTitle:"Repair JSON: fix quotes and escape characters, remove comments and JSONP notation, turn JavaScript objects into JSON.",searchTitle:"Search fields and values",searchNextResultTitle:"Next result (Enter)",searchPreviousResultTitle:"Previous result (Shift + Enter)",selectNode:"Select a node...",showAll:"show all",showMore:"show more",showMoreStatus:"displaying ${visibleChilds} of ${totalChilds} items.",sort:"Sort",sortTitle:"Sort the childs of this ${type}",sortTitleShort:"Sort contents",sortFieldLabel:"Field:",sortDirectionLabel:"Direction:",sortFieldTitle:"Select the nested field by which to sort the array or object",sortAscending:"Ascending",sortAscendingTitle:"Sort the selected field in ascending order",sortDescending:"Descending",sortDescendingTitle:"Sort the selected field in descending order",string:"String",transform:"Transform",transformTitle:"Filter, sort, or transform the childs of this ${type}",transformTitleShort:"Filter, sort, or transform contents",extract:"Extract",extractTitle:"Extract this ${type}",transformQueryTitle:"Enter a JMESPath query",transformWizardLabel:"Wizard",transformWizardFilter:"Filter",transformWizardSortBy:"Sort by",transformWizardSelectFields:"Select fields",transformQueryLabel:"Query",transformPreviewLabel:"Preview",type:"Type",typeTitle:"Change the type of this field",openUrl:"Ctrl+Click or Ctrl+Enter to open url in new window",undo:"Undo last action (Ctrl+Z)",validationCannotMove:"Cannot move a field into a child of itself",autoType:'Field type "auto". The field type is automatically determined from the value and can be a string, number, boolean, or null.',objectType:'Field type "object". An object contains an unordered set of key/value pairs.',arrayType:'Field type "array". An array contains an ordered collection of values.',stringType:'Field type "string". Field type is not determined from the value, but always returned as string.',modeEditorTitle:"Switch Editor Mode",modeCodeText:"Code",modeCodeTitle:"Switch to code highlighter",modeFormText:"Form",modeFormTitle:"Switch to form editor",modeTextText:"Text",modeTextTitle:"Switch to plain text editor",modeTreeText:"Tree",modeTreeTitle:"Switch to tree editor",modeViewText:"View",modeViewTitle:"Switch to tree view",modePreviewText:"Preview",modePreviewTitle:"Switch to preview mode",examples:"Examples",default:"Default",containsInvalidProperties:"Contains invalid properties",containsInvalidItems:"Contains invalid items"},es:{array:"Matriz",auto:"Auto",appendText:"Agregar",appendTitle:"Agregue un nuevo campo con el tipo 'auto' después de este campo (Ctrl + Shift + Ins)",appendSubmenuTitle:"Seleccione el tipo de campo que se agregará",appendTitleAuto:"Agregue un nuevo campo con el tipo 'auto' (Ctrl + Shift + Ins)",ascending:"Ascendente",ascendingTitle:"Ordene los elementos secundarios de este ${type} en orden ascendente",actionsMenu:"Haga clic para abrir el menú de acciones (Ctrl + M)",cannotParseFieldError:"No se puede parsear el campo en JSON",cannotParseValueError:"No se puede parsear el valor en JSON",collapseAll:"Contraer todos los campos",compactTitle:"Compactar datos JSON, eliminar todos los espacios en blanco (Ctrl + Shift + I)",descending:"Descendente",descendingTitle:"Ordene los hijos de este ${type} en orden descendente",drag:"Arrastre para mover este campo (Alt + Mayús + Flechas)",duplicateKey:"llave duplicada",duplicateText:"Duplicar",duplicateTitle:"Duplicar campos seleccionados (Ctrl + D)",duplicateField:"Duplicar este campo (Ctrl + D)",duplicateFieldError:"Nombre de campo duplicado",empty:"vacio",expandAll:"Expandir todos los campos",expandTitle:"Haga clic para expandir/contraer este campo (Ctrl + E). \n Ctrl+Clic para expandir/contraer incluyendo todos los niños.",formatTitle:"Formatee los datos JSON, con la sangría y los avances de línea adecuados (Ctrl + I)",insert:"Insertar",insertTitle:"Inserte un nuevo campo con el tipo 'auto' antes de este campo (Ctrl + Ins)",insertSub:"Seleccione el tipo de campo a insertar",object:"Objeto",ok:"Ok",redo:"Rehacer (Ctrl+Mayús+Z)",removeText:"Eliminar",removeTitle:"Eliminar campos seleccionados (Ctrl+Supr)",removeField:"Eliminar este campo (Ctrl+Supr)",repairTitle:"Reparar JSON: corrija comillas y caracteres de escape, elimine comentarios y notación JSONP, convierta objetos JavaScript en JSON.",searchTitle:"Campos de búsqueda y valores",searchNextResultTitle:"Siguiente resultado (Entrar)",searchPreviousResultTitle:"Resultado anterior (Shift + Enter)",selectNode:"Seleccione un nodo...",showAll:"mostrar todo",showMore:"mostrar más",showMoreStatus:"mostrando ${visibleChilds} de ${totalChilds} elementos.",sort:"Ordenar",sortTitle:"Ordene los hijos de este ${type}",sortTitleShort:"Ordenar contenidos",sortFieldLabel:"Campo:",sortDirectionLabel:"Dirección:",sortFieldTitle:"Seleccione el campo anidado por el cual ordenar la matriz u objeto",sortAscending:"Ascendente",sortAscendingTitle:"Ordenar el campo seleccionado en orden ascendente",sortDescending:"Descendente",sortDescendingTitle:"Ordenar por el campo seleccionado, en orden descendente",string:"Texto",transform:"Transformar",transformTitle:"Filtrar, ordenar o transformar los hijos de este ${type}",transformTitleShort:"Filtrar, ordenar o transformar contenidos",extract:"Extraer",extractTitle:"Extrae este ${type}",transformQueryTitle:"Ingrese una consulta JMESPath",transformWizardLabel:"Wizard",transformWizardFilter:"Filtro",transformWizardSortBy:"Ordenar por",transformWizardSelectFields:"Seleccione un campo",transformQueryLabel:"Consulta",transformPreviewLabel:"Vista Previa",type:"Tipo",typeTitle:"Cambiar el tipo de campo",openUrl:"Ctrl+Click o Ctrl+Enter para abrir la URL en una nueva ventana",undo:"Deshacer la última acción (Ctrl+Z)",validationCannotMove:"No se puede mover un campo a un hijo de sí mismo.",autoType:'Field type "auto". The field type is automatically determined from the value and can be a string, number, boolean, or null.',objectType:'Tipo de campo "objeto". Un objeto contiene un conjunto desordenado de pares clave/valor.',arrayType:'Tipo de campo "matriz". Una matriz contiene una colección ordenada de valores.',stringType:'Tipo de campo "cadena". El tipo de campo no se determina a partir del valor, pero siempre se devuelve como una cadena.',modeEditorTitle:"Cambiar modo de editor",modeCodeText:"Codigo",modeCodeTitle:"Cambiar al resaltador de código",modeFormText:"Formulario",modeFormTitle:"Cambiar al editor de formularios",modeTextText:"Texto",modeTextTitle:"Cambiar al editor de texto sin formato",modeTreeText:"Arbol",modeTreeTitle:"Cambiar al editor de árbol",modeViewText:"Vista",modeViewTitle:"Cambiar a la vista de árbol",modePreviewText:"Vista Previa",modePreviewTitle:"Cambiar al modo de vista previa",examples:"Ejemplos",default:"Predeterminado",containsInvalidProperties:"Contiene propiedades no validas",containsInvalidItems:"Contiene items no validos"},"zh-CN":{array:"数组",auto:"自动",appendText:"追加",appendTitle:"在此字段后追加一个类型为“auto”的新字段 (Ctrl+Shift+Ins)",appendSubmenuTitle:"选择要追加的字段类型",appendTitleAuto:"追加类型为“auto”的新字段 (Ctrl+Shift+Ins)",ascending:"升序",ascendingTitle:"升序排列${type}的子节点",actionsMenu:"点击打开动作菜单(Ctrl+M)",cannotParseFieldError:"无法将字段解析为JSON",cannotParseValueError:"无法将值解析为JSON",collapseAll:"缩进所有字段",compactTitle:"压缩JSON数据,删除所有空格 (Ctrl+Shift+I)",descending:"降序",descendingTitle:"降序排列${type}的子节点",drag:"拖拽移动该节点(Alt+Shift+Arrows)",duplicateKey:"重复键",duplicateText:"复制",duplicateTitle:"复制选中字段(Ctrl+D)",duplicateField:"复制该字段(Ctrl+D)",duplicateFieldError:"重复的字段名称",empty:"清空",expandAll:"展开所有字段",expandTitle:"点击 展开/收缩 该字段(Ctrl+E). \nCtrl+Click 展开/收缩 包含所有子节点.",formatTitle:"使用适当的缩进和换行符格式化JSON数据 (Ctrl+I)",insert:"插入",insertTitle:"在此字段前插入类型为“auto”的新字段 (Ctrl+Ins)",insertSub:"选择要插入的字段类型",object:"对象",ok:"Ok",redo:"重做 (Ctrl+Shift+Z)",removeText:"移除",removeTitle:"移除选中字段 (Ctrl+Del)",removeField:"移除该字段 (Ctrl+Del)",repairTitle:"修复JSON:修复引号和转义符,删除注释和JSONP表示法,将JavaScript对象转换为JSON。",selectNode:"选择一个节点...",showAll:"展示全部",showMore:"展示更多",showMoreStatus:"显示${totalChilds}的${visibleChilds}项目.",sort:"排序",sortTitle:"排序${type}的子节点",sortTitleShort:"内容排序",sortFieldLabel:"字段:",sortDirectionLabel:"方向:",sortFieldTitle:"选择用于对数组或对象排序的嵌套字段",sortAscending:"升序排序",sortAscendingTitle:"按照该字段升序排序",sortDescending:"降序排序",sortDescendingTitle:"按照该字段降序排序",string:"字符串",transform:"变换",transformTitle:"筛选,排序,或者转换${type}的子节点",transformTitleShort:"筛选,排序,或者转换内容",extract:"提取",extractTitle:"提取这个 ${type}",transformQueryTitle:"输入JMESPath查询",transformWizardLabel:"向导",transformWizardFilter:"筛选",transformWizardSortBy:"排序",transformWizardSelectFields:"选择字段",transformQueryLabel:"查询",transformPreviewLabel:"预览",type:"类型",typeTitle:"更改字段类型",openUrl:"Ctrl+Click 或者 Ctrl+Enter 在新窗口打开链接",undo:"撤销上次动作 (Ctrl+Z)",validationCannotMove:"无法将字段移入其子节点",autoType:'字段类型 "auto". 字段类型由值自动确定 可以为 string,number,boolean,或者 null.',objectType:'字段类型 "object". 对象包含一组无序的键/值对.',arrayType:'字段类型 "array". 数组包含值的有序集合.',stringType:'字段类型 "string". 字段类型由值自动确定,但始终作为字符串返回.',modeCodeText:"代码",modeCodeTitle:"切换至代码高亮",modeFormText:"表单",modeFormTitle:"切换至表单编辑",modeTextText:"文本",modeTextTitle:"切换至文本编辑",modeTreeText:"树",modeTreeTitle:"切换至树编辑",modeViewText:"视图",modeViewTitle:"切换至树视图",modePreviewText:"预览",modePreviewTitle:"切换至预览模式",examples:"例子",default:"缺省",containsInvalidProperties:"包含无效的属性",containsInvalidItems:"包含无效项目"},"pt-BR":{array:"Lista",auto:"Automatico",appendText:"Adicionar",appendTitle:"Adicionar novo campo com tipo 'auto' depois deste campo (Ctrl+Shift+Ins)",appendSubmenuTitle:"Selecione o tipo do campo a ser adicionado",appendTitleAuto:"Adicionar novo campo com tipo 'auto' (Ctrl+Shift+Ins)",ascending:"Ascendente",ascendingTitle:"Organizar filhor do tipo ${type} em crescente",actionsMenu:"Clique para abrir o menu de ações (Ctrl+M)",cannotParseFieldError:"Não é possível analisar o campo no JSON",cannotParseValueError:"Não é possível analisar o valor em JSON",collapseAll:"Fechar todos campos",compactTitle:"Dados JSON compactos, remova todos os espaços em branco (Ctrl+Shift+I)",descending:"Descendente",descendingTitle:"Organizar o filhos do tipo ${type} em decrescente",duplicateKey:"chave duplicada",drag:"Arraste para mover este campo (Alt+Shift+Arrows)",duplicateText:"Duplicar",duplicateTitle:"Duplicar campos selecionados (Ctrl+D)",duplicateField:"Duplicar este campo (Ctrl+D)",duplicateFieldError:"Nome do campo duplicado",empty:"vazio",expandAll:"Expandir todos campos",expandTitle:"Clique para expandir/encolher este campo (Ctrl+E). \nCtrl+Click para expandir/encolher incluindo todos os filhos.",formatTitle:"Formate dados JSON, com recuo e feeds de linha adequados (Ctrl+I)",insert:"Inserir",insertTitle:"Inserir um novo campo do tipo 'auto' antes deste campo (Ctrl+Ins)",insertSub:"Selecionar o tipo de campo a ser inserido",object:"Objeto",ok:"Ok",redo:"Refazer (Ctrl+Shift+Z)",removeText:"Remover",removeTitle:"Remover campos selecionados (Ctrl+Del)",removeField:"Remover este campo (Ctrl+Del)",repairTitle:"Repare JSON: corrija aspas e caracteres de escape, remova comentários e notação JSONP, transforme objetos JavaScript em JSON.",selectNode:"Selecione um nódulo...",showAll:"mostrar todos",showMore:"mostrar mais",showMoreStatus:"exibindo ${visibleChilds} de ${totalChilds} itens.",sort:"Organizar",sortTitle:"Organizar os filhos deste ${type}",sortTitleShort:"Organizar os filhos",sortFieldLabel:"Campo:",sortDirectionLabel:"Direção:",sortFieldTitle:"Selecione um campo filho pelo qual ordenar o array ou objeto",sortAscending:"Ascendente",sortAscendingTitle:"Ordenar o campo selecionado por ordem ascendente",sortDescending:"Descendente",sortDescendingTitle:"Ordenar o campo selecionado por ordem descendente",string:"Texto",transform:"Transformar",transformTitle:"Filtrar, ordenar ou transformar os filhos deste ${type}",transformTitleShort:"Filtrar, ordenar ou transformar conteúdos",transformQueryTitle:"Insira uma expressão JMESPath",transformWizardLabel:"Assistente",transformWizardFilter:"Filtro",transformWizardSortBy:"Ordenar por",transformWizardSelectFields:"Selecionar campos",transformQueryLabel:"Expressão",transformPreviewLabel:"Visualizar",type:"Tipo",typeTitle:"Mudar o tipo deste campo",openUrl:"Ctrl+Click ou Ctrl+Enter para abrir link em nova janela",undo:"Desfazer último ação (Ctrl+Z)",validationCannotMove:"Não pode mover um campo como filho dele mesmo",autoType:'Campo do tipo "auto". O tipo do campo é determinao automaticamente a partir do seu valor e pode ser texto, número, verdade/falso ou nulo.',objectType:'Campo do tipo "objeto". Um objeto contém uma lista de pares com chave e valor.',arrayType:'Campo do tipo "lista". Uma lista contem uma coleção de valores ordenados.',stringType:'Campo do tipo "string". Campo do tipo nao é determinado através do seu valor, mas sempre retornara um texto.',examples:"Exemplos",default:"Revelia",containsInvalidProperties:"Contém propriedades inválidas",containsInvalidItems:"Contém itens inválidos"},tr:{array:"Dizin",auto:"Otomatik",appendText:"Ekle",appendTitle:"Bu alanın altına 'otomatik' tipinde yeni bir alan ekle (Ctrl+Shift+Ins)",appendSubmenuTitle:"Eklenecek alanın tipini seç",appendTitleAuto:"'Otomatik' tipinde yeni bir alan ekle (Ctrl+Shift+Ins)",ascending:"Artan",ascendingTitle:"${type}'ın alt tiplerini artan düzende sırala",actionsMenu:"Aksiyon menüsünü açmak için tıklayın (Ctrl+M)",collapseAll:"Tüm alanları kapat",descending:"Azalan",descendingTitle:"${type}'ın alt tiplerini azalan düzende sırala",drag:"Bu alanı taşımak için sürükleyin (Alt+Shift+Arrows)",duplicateKey:"Var olan anahtar",duplicateText:"Aşağıya kopyala",duplicateTitle:"Seçili alanlardan bir daha oluştur (Ctrl+D)",duplicateField:"Bu alandan bir daha oluştur (Ctrl+D)",duplicateFieldError:"Duplicate field name",cannotParseFieldError:"Alan JSON'a ayrıştırılamıyor",cannotParseValueError:"JSON'a değer ayrıştırılamıyor",empty:"boş",expandAll:"Tüm alanları aç",expandTitle:"Bu alanı açmak/kapatmak için tıkla (Ctrl+E). \nAlt alanlarda dahil tüm alanları açmak için Ctrl+Click ",insert:"Ekle",insertTitle:"Bu alanın üstüne 'otomatik' tipinde yeni bir alan ekle (Ctrl+Ins)",insertSub:"Araya eklenecek alanın tipini seç",object:"Nesne",ok:"Tamam",redo:"Yeniden yap (Ctrl+Shift+Z)",removeText:"Kaldır",removeTitle:"Seçilen alanları kaldır (Ctrl+Del)",removeField:"Bu alanı kaldır (Ctrl+Del)",selectNode:"Bir nesne seç...",showAll:"tümünü göster",showMore:"daha fazla göster",showMoreStatus:"${totalChilds} alanın ${visibleChilds} alt alanları gösteriliyor",sort:"Sırala",sortTitle:"${type}'ın alt alanlarını sırala",sortTitleShort:"İçerikleri sırala",sortFieldLabel:"Alan:",sortDirectionLabel:"Yön:",sortFieldTitle:"Diziyi veya nesneyi sıralamak için iç içe geçmiş alanı seçin",sortAscending:"Artan",sortAscendingTitle:"Seçili alanı artan düzende sırala",sortDescending:"Azalan",sortDescendingTitle:"Seçili alanı azalan düzende sırala",string:"Karakter Dizisi",transform:"Dönüştür",transformTitle:"${type}'ın alt alanlarını filtrele, sırala veya dönüştür",transformTitleShort:"İçerikleri filterele, sırala veya dönüştür",transformQueryTitle:"JMESPath sorgusu gir",transformWizardLabel:"Sihirbaz",transformWizardFilter:"Filtre",transformWizardSortBy:"Sırala",transformWizardSelectFields:"Alanları seç",transformQueryLabel:"Sorgu",transformPreviewLabel:"Önizleme",type:"Tip",typeTitle:"Bu alanın tipini değiştir",openUrl:"URL'i yeni bir pencerede açmak için Ctrl+Click veya Ctrl+Enter",undo:"Son değişikliği geri al (Ctrl+Z)",validationCannotMove:"Alt alan olarak taşınamıyor",autoType:'Alan tipi "otomatik". Alan türü otomatik olarak değerden belirlenirve bir dize, sayı, boolean veya null olabilir.',objectType:'Alan tipi "nesne". Bir nesne, sıralanmamış bir anahtar / değer çifti kümesi içerir.',arrayType:'Alan tipi "dizi". Bir dizi, düzenli değerler koleksiyonu içerir.',stringType:'Alan tipi "karakter dizisi". Alan türü değerden belirlenmez,ancak her zaman karakter dizisi olarak döndürülür.',modeCodeText:"Kod",modeCodeTitle:"Kod vurgulayıcıya geç",modeFormText:"Form",modeFormTitle:"Form düzenleyiciye geç",modeTextText:"Metin",modeTextTitle:"Düz metin düzenleyiciye geç",modeTreeText:"Ağaç",modeTreeTitle:"Ağaç düzenleyiciye geç",modeViewText:"Görünüm",modeViewTitle:"Ağaç görünümüne geç",examples:"Örnekler",default:"Varsayılan",containsInvalidProperties:"Geçersiz özellikler içeriyor",containsInvalidItems:"Geçersiz öğeler içeriyor"},ja:{array:"配列",auto:"オート",appendText:"追加",appendTitle:'次のフィールドに"オート"のフィールドを追加 (Ctrl+Shift+Ins)',appendSubmenuTitle:"追加するフィールドの型を選択してください",appendTitleAuto:'"オート"のフィールドを追加 (Ctrl+Shift+Ins)',ascending:"昇順",ascendingTitle:"${type}の子要素を昇順に並べ替え",actionsMenu:"クリックしてアクションメニューを開く (Ctrl+M)",collapseAll:"すべてを折りたたむ",descending:"降順",descendingTitle:"${type}の子要素を降順に並べ替え",drag:"ドラッグして選択中のフィールドを移動 (Alt+Shift+Arrows)",duplicateKey:"複製キー",duplicateText:"複製",duplicateTitle:"選択中のフィールドを複製 (Ctrl+D)",duplicateField:"選択中のフィールドを複製 (Ctrl+D)",duplicateFieldError:"フィールド名が重複しています",cannotParseFieldError:"JSONのフィールドを解析できません",cannotParseValueError:"JSONの値を解析できません",empty:"空",expandAll:"すべてを展開",expandTitle:"クリックしてフィールドを展開/折りたたむ (Ctrl+E). \nCtrl+Click ですべての子要素を展開/折りたたむ",insert:"挿入",insertTitle:"選択中のフィールドの前に新しいフィールドを挿入 (Ctrl+Ins)",insertSub:"挿入するフィールドの型を選択",object:"オブジェクト",ok:"実行",redo:"やり直す (Ctrl+Shift+Z)",removeText:"削除",removeTitle:"選択中のフィールドを削除 (Ctrl+Del)",removeField:"選択中のフィールドを削除 (Ctrl+Del)",selectNode:"ノードを選択...",showAll:"すべてを表示",showMore:"もっと見る",showMoreStatus:"${totalChilds}個のアイテムのうち ${visibleChilds}個を表示しています。",sort:"並べ替え",sortTitle:"${type}の子要素を並べ替え",sortTitleShort:"並べ替え",sortFieldLabel:"フィールド:",sortDirectionLabel:"順序:",sortFieldTitle:"配列またはオブジェクトを並び替えるためのフィールドを選択",sortAscending:"昇順",sortAscendingTitle:"選択中のフィールドを昇順に並び替え",sortDescending:"降順",sortDescendingTitle:"選択中のフィールドを降順に並び替え",string:"文字列",transform:"変換",transformTitle:"${type}の子要素をフィルター・並び替え・変換する",transformTitleShort:"内容をフィルター・並び替え・変換する",extract:"抽出",extractTitle:"${type}を抽出",transformQueryTitle:"JMESPathクエリを入力",transformWizardLabel:"ウィザード",transformWizardFilter:"フィルター",transformWizardSortBy:"並び替え",transformWizardSelectFields:"フィールドを選択",transformQueryLabel:"クエリ",transformPreviewLabel:"プレビュー",type:"型",typeTitle:"選択中のフィールドの型を変更",openUrl:"Ctrl+Click または Ctrl+Enter で 新規ウィンドウでURLを開く",undo:"元に戻す (Ctrl+Z)",validationCannotMove:"子要素に移動できません ",autoType:"オート: フィールドの型は値から自動的に決定されます。 (文字列・数値・ブール・null)",objectType:"オブジェクト: オブジェクトは順序が決まっていないキーと値のペア組み合わせです。",arrayType:"配列: 配列は順序が決まっている値の集合体です。",stringType:"文字列: フィールド型は値から決定されませんが、常に文字列として返されます。",modeCodeText:"コードモード",modeCodeTitle:"ハイライトモードに切り替え",modeFormText:"フォームモード",modeFormTitle:"フォームモードに切り替え",modeTextText:"テキストモード",modeTextTitle:"テキストモードに切り替え",modeTreeText:"ツリーモード",modeTreeTitle:"ツリーモードに切り替え",modeViewText:"ビューモード",modeViewTitle:"ビューモードに切り替え",modePreviewText:"プレビュー",modePreviewTitle:"プレビューに切り替え",examples:"例",default:"デフォルト",containsInvalidProperties:"無効なプロパティが含まれています",containsInvalidItems:"無効なアイテムが含まれています"},"fr-FR":{array:"Liste",auto:"Auto",appendText:"Ajouter",appendTitle:"Ajouter un champ de type 'auto' après ce champ (Ctrl+Shift+Ins)",appendSubmenuTitle:"Sélectionner le type du champ à ajouter",appendTitleAuto:"Ajouter un champ de type 'auto' (Ctrl+Shift+Ins)",ascending:"Ascendant",ascendingTitle:"Trier les enfants de ce ${type} par ordre ascendant",actionsMenu:"Ouvrir le menu des actions (Ctrl+M)",collapseAll:"Regrouper",descending:"Descendant",descendingTitle:"Trier les enfants de ce ${type} par ordre descendant",drag:"Déplacer (Alt+Shift+Arrows)",duplicateKey:"Dupliquer la clé",duplicateText:"Dupliquer",duplicateTitle:"Dupliquer les champs sélectionnés (Ctrl+D)",duplicateField:"Dupliquer ce champ (Ctrl+D)",duplicateFieldError:"Dupliquer le nom de champ",cannotParseFieldError:"Champ impossible à parser en JSON",cannotParseValueError:"Valeur impossible à parser en JSON",empty:"vide",expandAll:"Étendre",expandTitle:"Étendre/regrouper ce champ (Ctrl+E). \nCtrl+Click pour étendre/regrouper avec tous les champs.",insert:"Insérer",insertTitle:"Insérer un champ de type 'auto' avant ce champ (Ctrl+Ins)",insertSub:"Sélectionner le type de champ à insérer",object:"Objet",ok:"Ok",redo:"Rejouer (Ctrl+Shift+Z)",removeText:"Supprimer",removeTitle:"Supprimer les champs sélectionnés (Ctrl+Del)",removeField:"Supprimer ce champ (Ctrl+Del)",searchTitle:"Rechercher champs et valeurs",searchNextResultTitle:"Résultat suivant (Enter)",searchPreviousResultTitle:"Résultat précédent (Shift + Enter)",selectNode:"Sélectionner un nœud...",showAll:"voir tout",showMore:"voir plus",showMoreStatus:"${visibleChilds} éléments affichés de ${totalChilds}.",sort:"Trier",sortTitle:"Trier les champs de ce ${type}",sortTitleShort:"Trier",sortFieldLabel:"Champ:",sortDirectionLabel:"Direction:",sortFieldTitle:"Sélectionner les champs permettant de trier les listes et objet",sortAscending:"Ascendant",sortAscendingTitle:"Trier les champs sélectionnés par ordre ascendant",sortDescending:"Descendant",sortDescendingTitle:"Trier les champs sélectionnés par ordre descendant",string:"Chaîne",transform:"Transformer",transformTitle:"Filtrer, trier, or transformer les enfants de ce ${type}",transformTitleShort:"Filtrer, trier ou transformer le contenu",extract:"Extraire",extractTitle:"Extraire ce ${type}",transformQueryTitle:"Saisir une requête JMESPath",transformWizardLabel:"Assistant",transformWizardFilter:"Filtrer",transformWizardSortBy:"Trier par",transformWizardSelectFields:"Sélectionner les champs",transformQueryLabel:"Requête",transformPreviewLabel:"Prévisualisation",type:"Type",typeTitle:"Changer le type de ce champ",openUrl:"Ctrl+Click ou Ctrl+Enter pour ouvrir l'url dans une autre fenêtre",undo:"Annuler la dernière action (Ctrl+Z)",validationCannotMove:"Cannot move a field into a child of itself",autoType:'Champe de type "auto". Ce type de champ est automatiquement déterminé en fonction de la valeur et peut être de type "chaîne", "nombre", "booléen" ou null.',objectType:'Champ de type "objet". Un objet contient un ensemble non ordonné de paires clé/valeur.',arrayType:'Champ de type "liste". Une liste contient une collection ordonnée de valeurs.',stringType:'Champ de type "chaîne". Ce type de champ n\'est pas déterminé en fonction de la valeur, mais retourne systématiquement une chaîne de caractères.',modeEditorTitle:"Changer mode d'édition",modeCodeText:"Code",modeCodeTitle:"Activer surlignage code",modeFormText:"Formulaire",modeFormTitle:"Activer formulaire",modeTextText:"Texte",modeTextTitle:"Activer éditeur texte",modeTreeText:"Arbre",modeTreeTitle:"Activer éditeur arbre",modeViewText:"Lecture seule",modeViewTitle:"Activer vue arbre",modePreviewText:"Prévisualisation",modePreviewTitle:"Activer mode prévisualiser",examples:"Exemples",default:"Défaut",containsInvalidProperties:"Contient des propriétés non valides",containsInvalidItems:"Contient des éléments invalides"},de:{array:"Auflistung",auto:"Auto",appendText:"anhängen",appendTitle:"Fügen Sie nach diesem Feld ein neues Feld mit dem Typ 'auto' ein (Strg+Umschalt+Ein)",appendSubmenuTitle:"Wählen Sie den Typ des neuen Feldes",appendTitleAuto:"Ein neues Feld vom Typ 'auto' hinzufügen (Strg+Umschalt+Ein)",ascending:"Aufsteigend",ascendingTitle:"Sortieren Sie die Elemente dieses ${type} in aufsteigender Reihenfolge",actionsMenu:"Klicken Sie zum Öffnen des Aktionsmenüs (Strg+M)",cannotParseFieldError:"Feld kann nicht in JSON geparst werden",cannotParseValueError:"Wert kann nicht in JSON geparst werden",collapseAll:"Alle Felder zuklappen",compactTitle:"JSON-Daten verdichten, alle Leerzeichen entfernen (Strg+Umschalt+\\)",descending:"Absteigend",descendingTitle:"Sortieren Sie die Elemente dieses ${type} in absteigender Reihenfolge",drag:"Ziehen, um dieses Feld zu verschieben (Alt+Umschalt+Pfeile)",duplicateKey:"Doppelter Schlüssel",duplicateText:"Duplikat",duplicateTitle:"Ausgewählte Felder duplizieren (Strg+D)",duplicateField:"Dieses Feld duplizieren (Strg+D)",duplicateFieldError:"Doppelter Feldname",empty:"leer",expandAll:"Alle Felder anzeigen",expandTitle:"Klicken Sie, um dieses Feld zu erweitern/zu kollabieren (Strg+E). \nStrg+Klicken Sie, um dieses Feld einschließlich aller Elemente zu erweitern/zu kollabieren.",formatTitle:"JSON-Daten mit korrekter Einrückung und Zeilenvorschüben formatieren (Strg+\\)",insert:"einfügen",insertTitle:"Fügen Sie vor diesem Feld ein neues Feld mit dem Typ 'auto' ein (Strg+Einfg)",insertSub:"Wählen Sie den Typ des neuen Feldes",object:"Objekt",ok:"Ok",redo:"Wiederholen (Strg+Umschalt+Z)",removeText:"entfernen",removeTitle:"Ausgewählte Felder entfernen (Strg+Entf)",removeField:"Dieses Feld entfernen (Strg+Entf)",repairTitle:"JSON reparieren: Anführungszeichen und Escape-Zeichen korrigieren, Kommentare und JSONP-Notation entfernen, JavaScript-Objekte in JSON umwandeln.",searchTitle:"Suchfelder und Werte",searchNextResultTitle:"Nächstes Ergebnis (Enter)",searchPreviousResultTitle:"Vorheriges Ergebnis (Umschalt + Eingabe)",selectNode:"Wählen Sie einen Knoten aus...",showAll:"alle anzeigen",showMore:"mehr anzeigen",showMoreStatus:"Anzeige von ${visibleChilds} von ${totalChilds}-Elementen.",sort:"Sortieren",sortTitle:"Sortieren Sie die Elemente dieses ${type}",sortTitleShort:"Inhalt sortieren",sortFieldLabel:"Feld:",sortDirectionLabel:"Richtung:",sortFieldTitle:"Wählen Sie das verschachtelte Feld, nach dem das Array oder Objekt sortiert werden soll.",sortAscending:"Aufsteigend",sortAscendingTitle:"Sortieren Sie das ausgewählte Feld in aufsteigender Reihenfolge",sortDescending:"Absteigend",sortDescendingTitle:"Sortieren Sie das ausgewählte Feld in absteigender Reihenfolge",string:"Zeichenfolge",transform:"Verwandeln",transformTitle:"Die Elemente dieses ${type} filtern, sortieren oder transformieren",transformTitleShort:"Inhalte filtern, sortieren oder transformieren",extract:"Auszug",extractTitle:"Extrahieren Sie diesen ${type}",transformQueryTitle:"Eine JMESPath-Abfrage eingeben",transformWizardLabel:"Zauberer",transformWizardFilter:"Filter",transformWizardSortBy:"Sortieren nach",transformWizardSelectFields:"Felder auswählen",transformQueryLabel:"Anfrage",transformPreviewLabel:"Vorschau",type:"Geben Sie ein.",typeTitle:"Ändern Sie den Typ dieses Feldes",openUrl:"Strg+Klicken oder Strg+Eingabe, um die URL in einem neuen Fenster zu öffnen",undo:"Letzte Aktion rückgängig machen (Strg+Z)",validationCannotMove:"Kann ein Feld nicht in ein Kind seiner selbst verschieben",autoType:'Feldtyp "auto". Der Feldtyp wird automatisch aus dem Wert bestimmt und kann ein String, eine Zahl, boolesch oder null sein.',objectType:'Feldtyp "Objekt". Ein Objekt enthält eine ungeordnete Menge von Schlüssel/Wert-Paaren.',arrayType:'Feldtyp "Array". Ein Array enthält eine geordnete Sammlung von Werten.',stringType:'Feldtyp "Zeichenfolge". Der Feldtyp wird nicht aus dem Wert bestimmt, sondern immer als Zeichenfolge zurückgegeben.',modeEditorTitle:"Editor-Modus umschalten",modeCodeText:"Code",modeCodeTitle:"Umschalten auf Code-Highlighter",modeFormText:"Formular",modeFormTitle:"Zum Formular-Editor wechseln",modeTextText:"Text",modeTextTitle:"Zum Editor für einfachen Text wechseln",modeTreeText:"Baum",modeTreeTitle:"Zum Baum-Editor wechseln",modeViewText:"Siehe",modeViewTitle:"Zur Baumansicht wechseln",modePreviewText:"Vorschau",modePreviewTitle:"In den Vorschau-Modus wechseln",examples:"Beispiele",default:"Standardmäßig",containsInvalidProperties:"Enthält ungültige Eigenschaften",containsInvalidItems:"Enthält ungültige Elemente"},ru:{array:"Массив",auto:"Авто",appendText:"Добавить",appendTitle:"Добавить новое поле с типом 'авто' после этого поля (Ctrl+Shift+Ins)",appendSubmenuTitle:"Выбрать тип поля для добавления",appendTitleAuto:"Добавить новое поле с типом 'авто' (Ctrl+Shift+Ins)",ascending:"По возрастанию",ascendingTitle:"Сортировать ${type} по возрастанию",actionsMenu:"Нажмите для открытия меню действий (Ctrl+M)",cannotParseFieldError:"Невозможно преобразовать поле в JSON",cannotParseValueError:"Невозможно преобразовать значение в JSON",collapseAll:"Свернуть все",compactTitle:"Минификация JSON (Ctrl+Shift+I)",descending:"По убыванию",descendingTitle:"Сортировать ${type} по убыванию",drag:"Потяните для перемещения этого поля (Alt+Shift+Arrows)",duplicateKey:"повторяющийся ключ",duplicateText:"Дублировать",duplicateTitle:"Дублирование полей (Ctrl+D)",duplicateField:"Дублировать поле (Ctrl+D)",duplicateFieldError:"Дублирование названия поля",empty:"пустой",expandAll:"Развернуть все",expandTitle:"Нажмите для раскрытия/скрытия поля (Ctrl+E)\nили Ctrl+Click для раскрытия/скрытия всех потомков.",formatTitle:"Форматирование JSON (Ctrl+I)",insert:"Вставить",insertTitle:"Вставить новое поле с типом 'авто' перед этим полем (Ctrl+Ins)",insertSub:"Выбрать тип поля для вставки",object:"Объект",ok:"ОК",redo:"Повторить (Ctrl+Shift+Z)",removeText:"Удалить",removeTitle:"Удалить выбранные поля (Ctrl+Del)",removeField:"Удалить поле (Ctrl+Del)",repairTitle:"Восстановите JSON: исправьте кавычки и escape-символы, удалите комментарии и нотацию JSONP, модифицируйте объекты JavaScript в JSON.",searchTitle:"Поиск",searchNextResultTitle:"Следующий результат (Enter)",searchPreviousResultTitle:"Предыдущий результат (Shift + Enter)",selectNode:"Выбор узла...",showAll:"показать все",showMore:"больше",showMoreStatus:"${visibleChilds} из ${totalChilds}",sort:"Сортировка",sortTitle:"Сортировка потомков типа ${type}",sortTitleShort:"Сортировка содержимого",sortFieldLabel:"Поле:",sortDirectionLabel:"Направление:",sortFieldTitle:"Выберите поле для сортировки массива или объекта",sortAscending:"По возрастанию",sortAscendingTitle:"Сортировка выбранного поря по возрастанию",sortDescending:"По убыванию",sortDescendingTitle:"Сортировка выбранного поря по убыванию",string:"Строка",transform:"Модификация",transformTitle:"Фильтрация, сортировка или модификация данных типа ${type}",transformTitleShort:"Фильтрация, сортировка или модификация данных",extract:"Извлечение",extractTitle:"Извлечь тип ${type}",transformQueryTitle:"Введите JMESpath запрос",transformWizardLabel:"Мастер",transformWizardFilter:"Фильтр",transformWizardSortBy:"Сортировка",transformWizardSelectFields:"Поля",transformQueryLabel:"Запрос",transformPreviewLabel:"Просмотр",type:"Тип",typeTitle:"Изменить тип этого поля",openUrl:"Ctrl+Click или Ctrl+Enter для открытия url в новом окне",undo:"Отменить (Ctrl+Z)",validationCannotMove:"Поле не может быть перемещено в потомка",autoType:"Тип поля автоматически определяется по значению и может быть строкой, числом, логическим значением или null.",objectType:"Объект содержит неупорядоченный набор пар ключ/значение.",arrayType:"Массив содержит упорядоченный набор значений.",stringType:"Тип поля не определяется из значения, но всегда возвращается как строка.",modeEditorTitle:"Переключение режима редактора",modeCodeText:"Код",modeCodeTitle:"Переключить в режим редактора кода",modeFormText:"Форма",modeFormTitle:"Переключить в режим формы",modeTextText:"Текст",modeTextTitle:"Переключить в режим редактора текста",modeTreeText:"Дерево",modeTreeTitle:"Переключить в режим редактора дерева",modeViewText:"Просмотр дерева",modeViewTitle:"Переключить в режим просмотра дерева",modePreviewText:"Просмотр",modePreviewTitle:"Переключить в режим просмотра",examples:"Примеры",default:"По умолчанию",containsInvalidProperties:"Содержит недопустимые свойства",containsInvalidItems:"Содержит недопустимые элементы"},ko:{array:"배열",auto:"자동",appendText:"추가",appendTitle:'선택한 요소 아래에 "자동" 요소를 추가합니다. (Ctrl + Shift + Ins)',appendSubmenuTitle:"추가할 요소의 유형을 선택해주세요.",appendTitleAuto:'"자동" 요소를 추가합니다. (Ctrl + Shift + Ins)',ascending:"오름차순",ascendingTitle:"선택한 ${type}의 하위 요소를 오름차순 정렬합니다.",actionsMenu:"메뉴 열기 (Ctrl + M)",cannotParseFieldError:"JSON의 요소를 해석할 수 없습니다.",cannotParseValueError:"JSON의 값을 해석할 수 없습니다.",collapseAll:"모두 접기",compactTitle:"모든 공백을 제거하여 JSON 데이터를 작게 만듭니다. (Ctrl + Shift + I)",descending:"내림차순",descendingTitle:"선택한 ${type}의 하위 요소를 내림차순으로 정렬",drag:"드래그하여 요소를 이동합니다. (Alt + Shift + Arrows)",duplicateKey:"복제키",duplicateText:"복제",duplicateTitle:"선택한 요소를 복제합니다. (Ctrl + D)",duplicateField:"선택한 요소를 복제합니다. (Ctrl + D)",duplicateFieldError:"요소 이름이 중복되었습니다.",empty:"비어있음",expandAll:"모두 열기",expandTitle:"클릭하여 요소를 열거나 닫습니다. (Ctrl + E) \nCtrl + Click으로 모든 하위 요소를 열거나 닫습니다.",formatTitle:"적절한 들여쓰기 및 줄바꿈으로 JSON 데이터를 정형화합니다. (Ctrl + I)",insert:"삽입",insertTitle:"선택한 요소 위에 새요소를 삽입합니다. (Ctrl + Ins)",insertSub:"삽입할 요소의 유형을 선택해주세요.",object:"객체",ok:"확인",redo:"다시 실행 (Ctrl + Shift + Z)",removeText:"삭제",removeTitle:"선택한 요소를 삭제합니다. (Ctrl + Del)",removeField:"선택한 요소를 삭제합니다. (Ctrl + Del)",repairTitle:"JSON 교정: JSON 내의 주석과 JSONP 표기법을 지우고 따옴표와 이스케이프 문자를 수정합니다.",searchTitle:"요소 또는 값 찾기",searchNextResultTitle:"다음으로 찾기 (Enter)",searchPreviousResultTitle:"이전으로 찾기 (Shift + Enter)",selectNode:"요소를 선택해주세요...",showAll:"모두보기",showMore:"더보기",showMoreStatus:"${totalChilds} 개의 항목 중 ${visibleChilds} 개를 표시합니다.",sort:"정렬",sortTitle:"선택한 ${type}의 하위 요소를 정렬합니다.",sortTitleShort:"정렬",sortFieldLabel:"요소:",sortDirectionLabel:"순서:",sortFieldTitle:"배열이나 객체를 정렬하는 요소를 선택해주세요.",sortAscending:"오름차순",sortAscendingTitle:"선택한 요소를 오름차순으로 정렬합니다.",sortDescending:"내림차순",sortDescendingTitle:"선택한 요소를 내림차순으로 정렬합니다.",string:"문자",transform:"변환",transformTitle:"선택한 ${type}의 하위 요소를 필터하거나 정렬 또는 변환합니다.",transformTitleShort:"내용을 필터하거나 정렬 또는 변환합니다.",extract:"추출",extractTitle:"선택한 ${type}의 값을 최상위에 위치시킵니다.",transformQueryTitle:"JMESPath 쿼리를 입력해주세요.",transformWizardLabel:"마법사",transformWizardFilter:"필터",transformWizardSortBy:"정렬",transformWizardSelectFields:"요소를 선택해주세요.",transformQueryLabel:"쿼리",transformPreviewLabel:"미리보기",type:"유형",typeTitle:"선택한 요소의 유형을 변경합니다.",openUrl:"Ctrl + Click 또는 Ctrl + Enter로 새 창에서 URL 열기",undo:"실행 취소 (Ctrl + Z)",validationCannotMove:"하위 요소로 이동할 수 없습니다.",autoType:"자동: 요소의 형식이 값의 유형으로 결정됩니다. 문자, 숫자, 부울, 또는 null만 허용됩니다.",objectType:"객체: 순서대로 나열되지 않은 이름/값 쌍으로 이루어진 집합입니다.",arrayType:"배열: 순서대로 나열된 값의 집합입니다.",stringType:"문자: 요소의 유형이 값에서 결정되지 않지만 항상 문자로 반환됩니다.",modeEditorTitle:"편집기 유형 변경",modeCodeText:"코드",modeCodeTitle:"형식 교정을 도와주는 기능이 포함된 문자 편집기",modeFormText:"입력 양식",modeFormTitle:"정해진 요소에 값을 입력하는 편집기",modeTextText:"문자",modeTextTitle:"단순 문자 편집기",modeTreeText:"트리",modeTreeTitle:"트리 구조로 표시되는 편집기",modeViewText:"보기",modeViewTitle:"읽기전용 트리 구조로 JSON을 표시",modePreviewText:"미리보기",modePreviewTitle:"읽기전용 문자로 JSON을 표시",examples:"예제",default:"기본값",containsInvalidProperties:"잘못된 속성이 포함되어 있습니다.",containsInvalidItems:"잘못된 항목이 포함되어 있습니다"}},ye=Object.keys(be),we="en",Se="undefined"!=typeof navigator?navigator.language||navigator.userLanguage:void 0,xe=ye.find((function(Ce){return Ce===Se}))||we;function r(Ce){var Ie;Ce&&((Ie=ye.find((function(Ie){return Ie===Ce})))?xe=Ie:Ae.error("Language not found"))}function l(Ce){if(Ce)for(var Ie in Ce)!function(Ie){ye.find((function(Ce){return Ce===Ie}))||ye.push(Ie),be[Ie]=Object.assign({},be[we],be[Ie],Ce[Ie])}(Ie)}function c(Ce,Ie,ve){var Ae=be[ve=ve||xe][Ce]||be[we][Ce]||Ce;if(Ie)for(var ye in Ie)Ae=Ae.replace("${"+ye+"}",Ie[ye]);return Ae}},6056:function(Ce,Ie,ve){"use strict";ve.d(Ie,{r:function(){return r},J:function(){return o}}),Ie=ve(5156);var Ae=ve.n(Ie),be=ve(9791);function r(Ce,Ie){var ve,Ae=Ie.sort,ye=Ie.filter,we=(Ie=Ie.projection,"");return ye?(ve="@"!==ye.field?["0"].concat((0,be.parsePath)("."+ye.field)):["0"],ve="string"==typeof(0,be.get)(Ce,ve)?ye.value:(0,be.parseString)(ye.value),we+="[? "+ye.field+" "+ye.relation+" `"+JSON.stringify(ve)+"`]"):we+=Array.isArray(Ce)?"[*]":"@",Ae&&("desc"===Ae.direction?we+=" | reverse(sort_by(@, &"+Ae.field+"))":we+=" | sort_by(@, &"+Ae.field+")"),Ie&&("]"!==we[we.length-1]&&(we+=" | [*]"),1===Ie.fields.length?we+="."+Ie.fields[0]:1<Ie.fields.length&&(we+=".{"+Ie.fields.map((function(Ce){var Ie=Ce.split(".");return Ie[Ie.length-1]+": "+Ce})).join(", ")+"}")),we}function o(Ce,Ie){return Ae().search(Ce,Ie)}},4987:function(){function e(Ce){void 0!==Ce&&("remove"in Ce||Object.defineProperty(Ce,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){void 0!==this.parentNode&&this.parentNode.removeChild(this)}}))}"undefined"!=typeof Element&&(void 0!==window.Element&&e(window.Element.prototype),void 0!==window.CharacterData&&e(window.CharacterData.prototype),void 0!==window.DocumentType&&e(window.DocumentType.prototype)),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(Ce){for(var Ie=0;Ie<this.length;Ie++){var ve=this[Ie];if(Ce.call(this,ve,Ie,this))return Ie}return-1},configurable:!0,writable:!0}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(Ce){return this[Ce=this.findIndex(Ce)]},configurable:!0,writable:!0}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")})},341:function(Ce,Ie,ve){"use strict";ve.r(Ie),ve.d(Ie,{previewModeMixins:function(){return Be}}),Ie=ve(3860);var be=ve.n(Ie),ye=ve(4188),we=ve(6436),Se=ve(2474);function o(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}var xe=function(){function n(Ce,Ie,ve){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");this.onChange=Ce,this.calculateItemSize=Ie||function(){return 1},this.limit=ve,this.items=[],this.index=-1}var Ce,Ie,ve;return Ce=n,(Ie=[{key:"add",value:function(Ce){for(;this._calculateHistorySize()>this.limit&&1<this.items.length;)this.items.shift(),this.index--;this.items=this.items.slice(0,this.index+1),this.items.push(Ce),this.index++,this.onChange()}},{key:"_calculateHistorySize",value:function(){var Ce=this.calculateItemSize,Ie=0;return this.items.forEach((function(ve){Ie+=Ce(ve)})),Ie}},{key:"undo",value:function(){if(this.canUndo())return this.index--,this.onChange(),this.items[this.index]}},{key:"redo",value:function(){if(this.canRedo())return this.index++,this.onChange(),this.items[this.index]}},{key:"canUndo",value:function(){return 0<this.index}},{key:"canRedo",value:function(){return this.index<this.items.length-1}},{key:"clear",value:function(){this.items=[],this.index=-1,this.onChange()}}])&&o(Ce.prototype,Ie),ve&&o(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),n}(),ke=ve(7907),Ee=ve(6056),Re=ve(6617),_e=ve(6210),$e=ve(2558),Le=(Ie=ve(5956),ve(9791)),Be=(ve=Ie.textModeMixins[0].mixin,Ie={create:function(Ce){var Ie=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},ve=(void 0===Ie.statusBar&&(Ie.statusBar=!0),Ie.mainMenuBar=!1!==Ie.mainMenuBar,Ie.enableSort=!1!==Ie.enableSort,Ie.enableTransform=!1!==Ie.enableTransform,Ie.createQuery=Ie.createQuery||Ee.r,Ie.executeQuery=Ie.executeQuery||Ee.J,"number"==typeof(this.options=Ie).indentation?this.indentation=Number(Ie.indentation):this.indentation=2,(0,ke.cC)(this.options.languages),(0,ke.m0)(this.options.language),this.mode="preview",this);this.container=Ce,this.dom={},this.json=void 0,this.text="",this._debouncedValidate=(0,Le.debounce)(this.validate.bind(this),this.DEBOUNCE_INTERVAL),this.width=Ce.clientWidth,this.height=Ce.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor jsoneditor-mode-preview",this.frame.onclick=function(Ce){Ce.preventDefault()},Ce={target:this.frame,onFocus:this.options.onFocus||null,onBlur:this.options.onBlur||null},this.frameFocusTracker=new Se.R(Ce),this.content=document.createElement("div"),this.content.className="jsoneditor-outer",this.dom.busy=document.createElement("div"),this.dom.busy.className="jsoneditor-busy",this.dom.busyContent=document.createElement("span"),this.dom.busyContent.textContent="busy...",this.dom.busy.appendChild(this.dom.busyContent),this.content.appendChild(this.dom.busy),this.dom.previewContent=document.createElement("pre"),this.dom.previewContent.className="jsoneditor-preview",this.dom.previewText=document.createTextNode(""),this.dom.previewContent.appendChild(this.dom.previewText),this.content.appendChild(this.dom.previewContent),this.options.mainMenuBar&&((0,Le.addClassName)(this.content,"has-main-menu-bar"),this.menu=document.createElement("div"),this.menu.className="jsoneditor-menu",this.frame.appendChild(this.menu),(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-format",Ce.title=(0,ke.Iu)("formatTitle"),this.menu.appendChild(Ce),Ce.onclick=function(){ve.executeWithBusyMessage((function(){try{ve.format()}catch(Ce){ve._onError(Ce)}}),"formatting...")},(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-compact",Ce.title=(0,ke.Iu)("compactTitle"),this.menu.appendChild(Ce),Ce.onclick=function(){ve.executeWithBusyMessage((function(){try{ve.compact()}catch(Ce){ve._onError(Ce)}}),"compacting...")},this.options.enableSort&&((Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-sort",Ce.title=(0,ke.Iu)("sortTitleShort"),Ce.onclick=function(){ve._showSortModal()},this.menu.appendChild(Ce)),this.options.enableTransform&&((Ce=document.createElement("button")).type="button",Ce.title=(0,ke.Iu)("transformTitleShort"),Ce.className="jsoneditor-transform",Ce.onclick=function(){ve._showTransformModal()},this.dom.transform=Ce,this.menu.appendChild(Ce)),(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-repair",Ce.title=(0,ke.Iu)("repairTitle"),this.menu.appendChild(Ce),!(Ce.onclick=function(){void 0===ve.json&&ve.executeWithBusyMessage((function(){try{ve.repair()}catch(Ce){ve._onError(Ce)}}),"repairing...")})!==this.options.history&&(this.history=new xe((function(){ve.dom.undo.disabled=!ve.history.canUndo(),ve.dom.redo.disabled=!ve.history.canRedo()}),(function(Ce){return 2*Ce.text.length}),ye.oW),(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-undo jsoneditor-separator",Ce.title=(0,ke.Iu)("undo"),Ce.onclick=function(){var Ce=ve.history.undo();Ce&&ve._applyHistory(Ce)},this.menu.appendChild(Ce),this.dom.undo=Ce,(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-redo",Ce.title=(0,ke.Iu)("redo"),Ce.onclick=function(){var Ce=ve.history.redo();Ce&&ve._applyHistory(Ce)},this.menu.appendChild(Ce),this.dom.redo=Ce,this.history.onChange()),this.options&&this.options.modes&&this.options.modes.length&&(this.modeSwitcher=new Re.x(this.menu,this.options.modes,this.options.mode,(function(Ce){try{ve.setMode(Ce),ve.modeSwitcher.focus()}catch(Ce){ve._onError(Ce)}})))),this.errorTable=new we.Q({errorTableVisible:!0,onToggleVisibility:function(){ve.validate()},onFocusLine:null,onChangeHeight:function(Ce){Ce=Ce+(ve.dom.statusBar?ve.dom.statusBar.clientHeight:0)+1,ve.content.style.marginBottom=-Ce+"px",ve.content.style.paddingBottom=Ce+"px"}}),this.frame.appendChild(this.content),this.frame.appendChild(this.errorTable.getErrorTable()),this.container.appendChild(this.frame),Ie.statusBar&&((0,Le.addClassName)(this.content,"has-status-bar"),Ce=document.createElement("div"),(this.dom.statusBar=Ce).className="jsoneditor-statusbar",this.frame.appendChild(Ce),this.dom.fileSizeInfo=document.createElement("span"),this.dom.fileSizeInfo.className="jsoneditor-size-info",this.dom.fileSizeInfo.innerText="",Ce.appendChild(this.dom.fileSizeInfo),this.dom.arrayInfo=document.createElement("span"),this.dom.arrayInfo.className="jsoneditor-size-info",this.dom.arrayInfo.innerText="",Ce.appendChild(this.dom.arrayInfo),Ce.appendChild(this.errorTable.getErrorCounter()),Ce.appendChild(this.errorTable.getWarningIcon()),Ce.appendChild(this.errorTable.getErrorIcon())),this._renderPreview(),this.setSchema(this.options.schema,this.options.schemaRefs)},_renderPreview:function(){var Ce=this.getText();this.dom.previewText.nodeValue=(0,Le.limitCharacters)(Ce,ye.WF),this.dom.fileSizeInfo&&(this.dom.fileSizeInfo.innerText="Size: "+(0,Le.formatSize)(Ce.length)),this.dom.arrayInfo&&(Array.isArray(this.json)?this.dom.arrayInfo.innerText="Array: "+this.json.length+" items":this.dom.arrayInfo.innerText="")},_onChange:function(){if(this._debouncedValidate(),this.options.onChange)try{this.options.onChange()}catch(Ce){Ae.error("Error in onChange callback: ",Ce)}if(this.options.onChangeJSON)try{this.options.onChangeJSON(this.get())}catch(Ce){Ae.error("Error in onChangeJSON callback: ",Ce)}if(this.options.onChangeText)try{this.options.onChangeText(this.getText())}catch(Ce){Ae.error("Error in onChangeText callback: ",Ce)}}},Ie._showSortModal=function(){var Ce=this;this.executeWithBusyMessage((function(){var Ie=Ce.options.modalAnchor||ye.qD,ve=Ce.get();Ce._renderPreview(),(0,_e.showSortModal)(Ie,ve,(function(Ie){Ce.executeWithBusyMessage((function(){var Ae,be,ye;Ae=ve,be=Ie,Array.isArray(Ae)&&(ye=(0,Le.sort)(Ae,be.path,be.direction),Ce.sortedBy=be,Ce._setAndFireOnChange(ye)),(0,Le.isObject)(Ae)&&(ye=(0,Le.sortObjectKeys)(Ae,be.direction),Ce.sortedBy=be,Ce._setAndFireOnChange(ye))}),"sorting...")}),Ce.sortedBy)}),"parsing...")},Ie._showTransformModal=function(){var Ce=this;this.executeWithBusyMessage((function(){var Ie=(be=Ce.options).createQuery,ve=be.executeQuery,Ae=be.modalAnchor,be=be.queryDescription,we=Ce.get();Ce._renderPreview(),(0,$e.showTransformModal)({container:Ae||ye.qD,json:we,queryDescription:be,createQuery:Ie,executeQuery:ve,onTransform:function(Ie){Ce.executeWithBusyMessage((function(){var Ae=ve(we,Ie);Ce._setAndFireOnChange(Ae)}),"transforming...")}})}),"parsing...")},Ie.destroy=function(){this.frame&&this.container&&this.frame.parentNode===this.container&&this.container.removeChild(this.frame),this.modeSwitcher&&(this.modeSwitcher.destroy(),this.modeSwitcher=null),this._debouncedValidate=null,this.history&&(this.history.clear(),this.history=null),this.frameFocusTracker.destroy()},Ie.compact=function(){var Ce=this.get(),Ie=JSON.stringify(Ce);this._setTextAndFireOnChange(Ie,Ce)},Ie.format=function(){var Ce=this.get(),Ie=JSON.stringify(Ce,null,this.indentation);this._setTextAndFireOnChange(Ie,Ce)},Ie.repair=function(){var Ce=this.getText();try{var Ie=be()(Ce);this._setTextAndFireOnChange(Ie)}catch(Ce){}},Ie.focus=function(){this.dom.transform.focus()},Ie.set=function(Ce){this.history&&this.history.clear(),this._set(Ce)},Ie.update=function(Ce){this._set(Ce)},Ie._set=function(Ce){this.text=void 0,this.json=Ce,this._renderPreview(),this._pushHistory(),this._debouncedValidate()},Ie._setAndFireOnChange=function(Ce){this._set(Ce),this._onChange()},Ie.get=function(){var Ce;return void 0===this.json&&(Ce=this.getText(),this.json=(0,Le.parse)(Ce)),this.json},Ie.getText=function(){return void 0===this.text&&(this.text=JSON.stringify(this.json,null,this.indentation),!0===this.options.escapeUnicode&&(this.text=(0,Le.escapeUnicodeChars)(this.text))),this.text},Ie.setText=function(Ce){this.history&&this.history.clear(),this._setText(Ce)},Ie.updateText=function(Ce){this.getText()!==Ce&&this._setText(Ce)},Ie._setText=function(Ce,Ie){var ve;!0===this.options.escapeUnicode?this.text=(0,Le.escapeUnicodeChars)(Ce):this.text=Ce,this.json=Ie,this._renderPreview(),void 0===this.json?(ve=this).executeWithBusyMessage((function(){try{ve.json=ve.get(),ve._renderPreview(),ve._pushHistory()}catch(Ce){}}),"parsing..."):this._pushHistory(),this._debouncedValidate()},Ie._setTextAndFireOnChange=function(Ce,Ie){this._setText(Ce,Ie),this._onChange()},Ie._applyHistory=function(Ce){this.json=Ce.json,this.text=Ce.text,this._renderPreview(),this._debouncedValidate()},Ie._pushHistory=function(){var Ce;this.history&&(Ce={text:this.text,json:this.json},this.history.add(Ce))},Ie.executeWithBusyMessage=function(Ce,Ie){var ve;this.getText().length>ye.EX?((0,Le.addClassName)((ve=this).frame,"busy"),ve.dom.busyContent.innerText=Ie,setTimeout((function(){Ce(),(0,Le.removeClassName)(ve.frame,"busy"),ve.dom.busyContent.innerText=""}),100)):Ce()},Ie.validate=ve.validate,Ie._renderErrors=ve._renderErrors,[{mode:"preview",mixin:Ie,data:"json"}])},6210:function(Ce,Ie,ve){"use strict";ve.r(Ie),ve.d(Ie,{showSortModal:function(){return s}}),Ie=ve(483);var Ae=ve.n(Ie),be=ve(7907),ye=ve(9791);function s(Ce,Ie,ve,we){var Se=Array.isArray(Ie)?(0,ye.getChildPaths)(Ie):[""],xe=we&&we.path&&(0,ye.contains)(Se,we.path)?we.path:Se[0],ke=we&&we.direction||"asc";Ie='<div class="pico-modal-contents"><div class="pico-modal-header">'+(0,be.Iu)("sort")+"</div><form><table><tbody><tr> <td>"+(0,be.Iu)("sortFieldLabel")+' </td> <td class="jsoneditor-modal-input"> <div class="jsoneditor-select-wrapper"> <select id="field" title="'+(0,be.Iu)("sortFieldTitle")+'"> </select> </div> </td></tr><tr> <td>'+(0,be.Iu)("sortDirectionLabel")+' </td> <td class="jsoneditor-modal-input"> <div id="direction" class="jsoneditor-button-group"><input type="button" value="'+(0,be.Iu)("sortAscending")+'" title="'+(0,be.Iu)("sortAscendingTitle")+'" data-value="asc" class="jsoneditor-button-first jsoneditor-button-asc"/><input type="button" value="'+(0,be.Iu)("sortDescending")+'" title="'+(0,be.Iu)("sortDescendingTitle")+'" data-value="desc" class="jsoneditor-button-last jsoneditor-button-desc"/> </div> </td></tr><tr><td colspan="2" class="jsoneditor-modal-input jsoneditor-modal-actions"> <input type="submit" id="ok" value="'+(0,be.Iu)("ok")+'" /></td></tr></tbody></table></form></div>',Ae()({parent:Ce,content:Ie,overlayClass:"jsoneditor-modal-overlay",overlayStyles:{backgroundColor:"rgb(1,1,1)",opacity:.3},modalClass:"jsoneditor-modal jsoneditor-modal-sort"}).afterCreate((function(Ce){var Ie=Ce.modalElem().querySelector("form"),Ae=Ce.modalElem().querySelector("#ok"),be=Ce.modalElem().querySelector("#field"),ye=Ce.modalElem().querySelector("#direction");function o(Ce){ye.value=Ce,ye.className="jsoneditor-button-group jsoneditor-button-group-value-"+ye.value}Se.forEach((function(Ce){var Ie,ve=document.createElement("option");ve.text=""===(Ie=Ce)?"@":"."===Ie[0]?Ie.slice(1):Ie,ve.value=Ce,be.appendChild(ve)})),be.value=xe||Se[0],o(ke||"asc"),ye.onclick=function(Ce){o(Ce.target.getAttribute("data-value"))},Ae.onclick=function(Ie){Ie.preventDefault(),Ie.stopPropagation(),Ce.close(),ve({path:be.value,direction:ye.value})},Ie&&(Ie.onsubmit=Ae.onclick)})).afterClose((function(Ce){Ce.destroy()})).show()}},2558:function(Ce,Ie,ve){"use strict";ve.r(Ie),ve.d(Ie,{showTransformModal:function(){return s}}),Ie=ve(483);var Ae=ve.n(Ie),be=(Ie=ve(3879),ve.n(Ie)),ye=ve(7907);function A(Ce){return(A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Ce){return typeof Ce}:function(Ce){return Ce&&"function"==typeof Symbol&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce})(Ce)}function k(Ce,Ie,ve,Ae){if("boolean"==typeof Ce||Ce instanceof Boolean||null===Ce||"number"==typeof Ce||Ce instanceof Number||"string"==typeof Ce||Ce instanceof String||Ce instanceof Date)return JSON.stringify(Ce);if(Array.isArray(Ce)){for(var be=Ce,ye=Ie,we=ve,Se=Ae,xe=ye?we+ye:void 0,ke=ye?"[\n":"[",Ee=0;Ee<be.length;Ee++){var Re=be[Ee];if(ye&&(ke+=xe),ke+=void 0!==Re&&"function"!=typeof Re?k(Re,ye,xe,Se):"null",Ee<be.length-1&&(ke+=ye?",\n":","),ke.length>Se)return ke+"..."}return ke+(ye?"\n"+we+"]":"]")}if(Ce&&"object"===A(Ce)){var _e,$e=Ce,Le=Ie,Be=(we=ve,Ae),We=Le?we+Le:void 0,Ne=!0,Ge=Le?"{\n":"{";if("function"==typeof $e.toJSON)return k($e.toJSON(),Le,we,Be);for(_e in $e)if(function(Ce,Ie){return Object.prototype.hasOwnProperty.call(Ce,Ie)}($e,_e)&&(Ne?Ne=!1:Ge+=Le?",\n":",",(Ge=(Ge+=Le?We+'"'+_e+'": ':'"'+_e+'":')+k($e[_e],Le,We,Be)).length>Be))return Ge+"...";return Ge+(Le?"\n"+we+"}":"}")}}function E(Ce,Ie){for(var ve="";0<Ie--;)ve+=Ce;return ve}var we=ve(9791),Se=ve(4188),xe='Enter a <a href="http://jmespath.org" target="_blank">JMESPath</a> query to filter, sort, or transform the JSON data.<br/>To learn JMESPath, go to <a href="http://jmespath.org/tutorial.html" target="_blank">the interactive tutorial</a>.';function s(Ce){var Ie=Ce.container,ve=Ce.json,ke=void 0===(ke=Ce.queryDescription)?xe:ke,Ee=Ce.createQuery,Re=Ce.executeQuery,_e=Ce.onTransform,$e=ve;Ce='<label class="pico-modal-contents"><div class="pico-modal-header">'+(0,ye.Iu)("transform")+"</div><p>"+ke+'</p><div class="jsoneditor-jmespath-label">'+(0,ye.Iu)("transformWizardLabel")+' </div><div id="wizard" class="jsoneditor-jmespath-block jsoneditor-jmespath-wizard"> <table class="jsoneditor-jmespath-wizard-table"> <tbody> <tr> <th>'+(0,ye.Iu)("transformWizardFilter")+'</th> <td class="jsoneditor-jmespath-filter"> <div class="jsoneditor-inline jsoneditor-jmespath-filter-field" > <select id="filterField"> </select> </div> <div class="jsoneditor-inline jsoneditor-jmespath-filter-relation" > <select id="filterRelation"> <option value="==">==</option> <option value="!=">!=</option> <option value="<"><</option> <option value="<="><=</option> <option value=">">></option> <option value=">=">>=</option> </select> </div> <div class="jsoneditor-inline jsoneditor-jmespath-filter-value" > <input type="text" class="value" placeholder="value..." id="filterValue" /> </div> </td> </tr> <tr> <th>'+(0,ye.Iu)("transformWizardSortBy")+'</th> <td class="jsoneditor-jmespath-filter"> <div class="jsoneditor-inline jsoneditor-jmespath-sort-field"> <select id="sortField"> </select> </div> <div class="jsoneditor-inline jsoneditor-jmespath-sort-order" > <select id="sortOrder"> <option value="asc">Ascending</option> <option value="desc">Descending</option> </select> </div> </td> </tr> <tr id="selectFieldsPart"> <th>'+(0,ye.Iu)("transformWizardSelectFields")+'</th> <td class="jsoneditor-jmespath-filter"> <select class="jsoneditor-jmespath-select-fields" id="selectFields" multiple></select> </td> </tr> </tbody> </table></div><div class="jsoneditor-jmespath-label">'+(0,ye.Iu)("transformQueryLabel")+' </div><div class="jsoneditor-jmespath-block"> <textarea id="query" rows="4" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" title="'+(0,ye.Iu)("transformQueryTitle")+'">[*]</textarea></div><div class="jsoneditor-jmespath-label">'+(0,ye.Iu)("transformPreviewLabel")+' </div><div class="jsoneditor-jmespath-block"> <textarea id="preview" class="jsoneditor-transform-preview" readonly> </textarea></div><div class="jsoneditor-jmespath-block jsoneditor-modal-actions"> <input type="submit" id="ok" value="'+(0,ye.Iu)("ok")+'" autofocus /></div></div>',Ae()({parent:Ie,content:Ce,overlayClass:"jsoneditor-modal-overlay",overlayStyles:{backgroundColor:"rgb(1,1,1)",opacity:.3},modalClass:"jsoneditor-modal jsoneditor-modal-transform",focus:!1}).afterCreate((function(Ce){var Ie=Ce.modalElem(),Ae=Ie.querySelector("#wizard"),ye=Ie.querySelector("#ok"),xe=Ie.querySelector("#filterField"),ke=Ie.querySelector("#filterRelation"),Le=Ie.querySelector("#filterValue"),Be=Ie.querySelector("#sortField"),We=Ie.querySelector("#sortOrder"),Ne=Ie.querySelector("#selectFields"),Ge=Ie.querySelector("#query"),Pe=Ie.querySelector("#preview");Array.isArray($e)||(Ae.style.fontStyle="italic",Ae.textContent="(wizard not available for objects, only for arrays)"),(0,we.getChildPaths)(ve).forEach((function(Ce){var Ie;Ce=C(Ce),((Ie=document.createElement("option")).text=Ce,Ie.value=Ce,xe.appendChild(Ie),Ie=document.createElement("option")).text=Ce,Ie.value=Ce,Be.appendChild(Ie)})),Ae=(0,we.getChildPaths)(ve,!0).filter((function(Ce){return""!==Ce})),0<Ae.length?Ae.forEach((function(Ce){Ce=C(Ce);var Ie=document.createElement("option");Ie.text=Ce,Ie.value=Ce,Ne.appendChild(Ie)})):(Ae=Ie.querySelector("#selectFieldsPart"))&&(Ae.style.display="none"),Ae=new(be())(xe,{defaultSelected:!1,clearable:!0,allowDeselect:!0,placeholder:"field..."});var Fe=new(be())(ke,{defaultSelected:!1,clearable:!0,allowDeselect:!0,placeholder:"compare..."}),He=new(be())(Be,{defaultSelected:!1,clearable:!0,allowDeselect:!0,placeholder:"field..."}),Ve=new(be())(We,{defaultSelected:!1,clearable:!0,allowDeselect:!0,placeholder:"order..."}),Ze=new(be())(Ne,{multiple:!0,clearable:!0,defaultSelected:!1,placeholder:"select fields..."});function C(Ce){return""===Ce?"@":"."===Ce[0]?Ce.slice(1):Ce}Ae.on("selectr.change",i),Fe.on("selectr.change",i),Le.oninput=i,He.on("selectr.change",i),Ve.on("selectr.change",i),Ze.on("selectr.change",i),Ie.querySelector(".pico-modal-contents").onclick=function(Ce){"A"!==Ce.target.nodeName&&Ce.preventDefault()};var Me=(0,we.debounce)((function(){try{var Ce=Re($e,Ge.value);Pe.className="jsoneditor-transform-preview",Pe.value=(Ie=Ce,ve=2,Ae=Se.WF,"number"==typeof ve?10<ve?be=E(" ",10):1<=ve&&(be=E(" ",ve)):"string"==typeof ve&&""!==ve&&(be=ve),(ve=k(Ie,be,"",Ae)).length>Ae?(Ie=ve,("number"==typeof(be=Ae)?Ie.slice(0,be):Ie)+"..."):ve),ye.disabled=!1}catch(Ce){Pe.className="jsoneditor-transform-preview jsoneditor-error",Pe.value=Ce.toString(),ye.disabled=!0}var Ie,ve,Ae,be}),300);function v(Ce,Ie){try{Ge.value=Ee(Ce,Ie),ye.disabled=!1,Me()}catch(Ie){Ce='Error: an error happened when executing "createQuery": '+(Ie.message||Ie.toString()),Ge.value="",ye.disabled=!0,Pe.className="jsoneditor-transform-preview jsoneditor-error",Pe.value=Ce}}function i(){var Ce={};if(xe.value&&ke.value&&Le.value&&(Ce.filter={field:xe.value,relation:ke.value,value:Le.value}),Be.value&&We.value&&(Ce.sort={field:Be.value,direction:We.value}),Ne.value){for(var Ie,Ae=[],be=0;be<Ne.options.length;be++)Ne.options[be].selected&&(Ie=Ne.options[be].value,Ae.push(Ie));Ce.projection={fields:Ae}}v(ve,Ce)}Ge.oninput=Me,ye.onclick=function(Ie){Ie.preventDefault(),Ie.stopPropagation(),Ce.close(),_e(Ge.value)},v(ve,{}),setTimeout((function(){Ge.select(),Ge.focus(),Ge.selectionStart=3,Ge.selectionEnd=3}))})).afterClose((function(Ce){Ce.destroy()})).show()}},5956:function(Ce,Ie,ve){"use strict";ve.r(Ie),ve.d(Ie,{textModeMixins:function(){return Ne}}),Ie=ve(3860);var be=ve.n(Ie),ye=(Ie=ve(8170),ve.n(Ie)),we=ve(4188),Se=ve(6436),xe=ve(2474),ke=ve(7907),Ee=ve(6056),Re=ve(6617),_e=ve(6210),$e=ve(2558),Le=ve(9125),Be=ve(9791);function d(Ce){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Ce){return typeof Ce}:function(Ce){return Ce&&"function"==typeof Symbol&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce})(Ce)}var We="ace/theme/jsoneditor";function n(){try{this.format()}catch(Ce){}}(Ie={}).create=function(Ce){var Ie,ve,be,we=this,_e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},$e=(void 0===_e.statusBar&&(_e.statusBar=!0),_e.mainMenuBar=!1!==_e.mainMenuBar,_e.enableSort=!1!==_e.enableSort,_e.enableTransform=!1!==_e.enableTransform,_e.createQuery=_e.createQuery||Ee.r,_e.executeQuery=_e.executeQuery||Ee.J,"number"==typeof(this.options=_e).indentation?this.indentation=Number(_e.indentation):this.indentation=2,(0,ke.cC)(this.options.languages),(0,ke.m0)(this.options.language),_e.ace||ye()),Ne=(this.mode="code"===_e.mode?"code":"text","code"===this.mode&&void 0===$e&&(this.mode="text",Ae.warn("Failed to load Ace editor, falling back to plain text mode. Please use a JSONEditor bundle including Ace, or pass Ace as via the configuration option `ace`.")),this.theme=_e.theme||We,this.theme===We&&$e&&(0,Le.O)(),_e.onTextSelectionChange&&this.onTextSelectionChange(_e.onTextSelectionChange),this);this.container=Ce,this.dom={},this.aceEditor=void 0,this.textarea=void 0,this.validateSchema=null,this.annotations=[],this.lastSchemaErrors=void 0,this._debouncedValidate=(0,Be.debounce)(this._validateAndCatch.bind(this),this.DEBOUNCE_INTERVAL),this.width=Ce.clientWidth,this.height=Ce.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor jsoneditor-mode-"+this.options.mode,this.frame.onclick=function(Ce){Ce.preventDefault()},this.frame.onkeydown=function(Ce){Ne._onKeyDown(Ce)},Ce={target:this.frame,onFocus:this.options.onFocus||null,onBlur:this.options.onBlur||null},this.frameFocusTracker=new xe.R(Ce),this.content=document.createElement("div"),this.content.className="jsoneditor-outer",this.options.mainMenuBar&&((0,Be.addClassName)(this.content,"has-main-menu-bar"),this.menu=document.createElement("div"),this.menu.className="jsoneditor-menu",this.frame.appendChild(this.menu),(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-format",Ce.title=(0,ke.Iu)("formatTitle"),this.menu.appendChild(Ce),Ce.onclick=function(){try{Ne.format(),Ne._onChange()}catch(Ce){Ne._onError(Ce)}},(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-compact",Ce.title=(0,ke.Iu)("compactTitle"),this.menu.appendChild(Ce),Ce.onclick=function(){try{Ne.compact(),Ne._onChange()}catch(Ce){Ne._onError(Ce)}},this.options.enableSort&&((Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-sort",Ce.title=(0,ke.Iu)("sortTitleShort"),Ce.onclick=function(){Ne._showSortModal()},this.menu.appendChild(Ce)),this.options.enableTransform&&((Ce=document.createElement("button")).type="button",Ce.title=(0,ke.Iu)("transformTitleShort"),Ce.className="jsoneditor-transform",Ce.onclick=function(){Ne._showTransformModal()},this.menu.appendChild(Ce)),(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-repair",Ce.title=(0,ke.Iu)("repairTitle"),this.menu.appendChild(Ce),Ce.onclick=function(){try{Ne.repair(),Ne._onChange()}catch(Ce){Ne._onError(Ce)}},"code"===this.mode&&((Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-undo jsoneditor-separator",Ce.title=(0,ke.Iu)("undo"),Ce.onclick=function(){we.aceEditor.getSession().getUndoManager().undo()},this.menu.appendChild(Ce),this.dom.undo=Ce,(Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-redo",Ce.title=(0,ke.Iu)("redo"),Ce.onclick=function(){we.aceEditor.getSession().getUndoManager().redo()},this.menu.appendChild(Ce),this.dom.redo=Ce),this.options&&this.options.modes&&this.options.modes.length&&(this.modeSwitcher=new Re.x(this.menu,this.options.modes,this.options.mode,(function(Ce){try{Ne.setMode(Ce),Ne.modeSwitcher.focus()}catch(Ce){Ne._onError(Ce)}}))),"code"===this.mode&&((Ie=document.createElement("a")).appendChild(document.createTextNode("powered by ace")),Ie.href="https://ace.c9.io/",Ie.target="_blank",Ie.className="jsoneditor-poweredBy",Ie.onclick=function(){window.open(Ie.href,Ie.target,"noreferrer")},this.menu.appendChild(Ie))),Ce=this.options.onEditable&&d("function"===this.options.onEditable)&&!this.options.onEditable({}),this.frame.appendChild(this.content),this.container.appendChild(this.frame),"code"===this.mode?(this.editorDom=document.createElement("div"),this.editorDom.style.height="100%",this.editorDom.style.width="100%",this.content.appendChild(this.editorDom),be=($e=$e.edit(this.editorDom)).getSession(),$e.$blockScrolling=1/0,$e.setTheme(this.theme),$e.setOptions({readOnly:Ce}),$e.setShowPrintMargin(!1),$e.setFontSize("14px"),be.setMode("ace/mode/json"),be.setTabSize(this.indentation),be.setUseSoftTabs(!0),be.setUseWrapMode(!0),ve=be.setAnnotations,be.setAnnotations=function(Ce){ve.call(this,Ce&&Ce.length?Ce:Ne.annotations)},$e.commands.bindKey("Ctrl-L",null),$e.commands.bindKey("Command-L",null),$e.commands.bindKey("Ctrl-\\",null),$e.commands.bindKey("Command-\\",null),$e.commands.bindKey("Ctrl-Shift-\\",null),$e.commands.bindKey("Command-Shift-\\",null),(this.aceEditor=$e).on("change",this._onChange.bind(this)),$e.on("changeSelection",this._onSelect.bind(this))):((be=document.createElement("textarea")).className="jsoneditor-text",be.spellcheck=!1,this.content.appendChild(be),this.textarea=be,this.textarea.readOnly=Ce,null===this.textarea.oninput?this.textarea.oninput=this._onChange.bind(this):this.textarea.onchange=this._onChange.bind(this),be.onselect=this._onSelect.bind(this),be.onmousedown=this._onMouseDown.bind(this),be.onblur=this._onBlur.bind(this)),this._updateHistoryButtons(),this.errorTable=new Se.Q({errorTableVisible:"text"===this.mode,onToggleVisibility:function(){Ne._validateAndCatch()},onFocusLine:function(Ce){Ne.isFocused=!0,isNaN(Ce)||Ne.setTextSelection({row:Ce,column:1},{row:Ce,column:1e3})},onChangeHeight:function(Ce){Ce=Ce+(Ne.dom.statusBar?Ne.dom.statusBar.clientHeight:0)+1,Ne.content.style.marginBottom=-Ce+"px",Ne.content.style.paddingBottom=Ce+"px"}}),this.frame.appendChild(this.errorTable.getErrorTable()),_e.statusBar&&((0,Be.addClassName)(this.content,"has-status-bar"),this.curserInfoElements={},$e=document.createElement("div"),(this.dom.statusBar=$e).className="jsoneditor-statusbar",this.frame.appendChild($e),(Ce=document.createElement("span")).className="jsoneditor-curserinfo-label",Ce.innerText="Ln:",(be=document.createElement("span")).className="jsoneditor-curserinfo-val",be.innerText="1",$e.appendChild(Ce),$e.appendChild(be),(_e=document.createElement("span")).className="jsoneditor-curserinfo-label",_e.innerText="Col:",(Ce=document.createElement("span")).className="jsoneditor-curserinfo-val",Ce.innerText="1",$e.appendChild(_e),$e.appendChild(Ce),this.curserInfoElements.colVal=Ce,this.curserInfoElements.lnVal=be,(_e=document.createElement("span")).className="jsoneditor-curserinfo-label",_e.innerText="characters selected",_e.style.display="none",(Ce=document.createElement("span")).className="jsoneditor-curserinfo-count",Ce.innerText="0",Ce.style.display="none",this.curserInfoElements.countLabel=_e,this.curserInfoElements.countVal=Ce,$e.appendChild(Ce),$e.appendChild(_e),$e.appendChild(this.errorTable.getErrorCounter()),$e.appendChild(this.errorTable.getWarningIcon()),$e.appendChild(this.errorTable.getErrorIcon())),this.setSchema(this.options.schema,this.options.schemaRefs)},Ie._onChange=function(){var Ce=this;if(!this.onChangeDisabled){if(setTimeout((function(){Ce._updateHistoryButtons&&Ce._updateHistoryButtons()})),this._debouncedValidate(),this.options.onChange)try{this.options.onChange()}catch(Ce){Ae.error("Error in onChange callback: ",Ce)}if(this.options.onChangeText)try{this.options.onChangeText(this.getText())}catch(Ce){Ae.error("Error in onChangeText callback: ",Ce)}}},Ie._updateHistoryButtons=function(){var Ce;this.aceEditor&&this.dom.undo&&this.dom.redo&&(Ce=this.aceEditor.getSession().getUndoManager())&&Ce.hasUndo&&Ce.hasRedo&&(this.dom.undo.disabled=!Ce.hasUndo(),this.dom.redo.disabled=!Ce.hasRedo())},Ie._showSortModal=function(){try{var Ce=this,Ie=this.options.modalAnchor||we.qD,ve=this.get();(0,_e.showSortModal)(Ie,ve,(function(Ie){var Ae;Array.isArray(ve)&&(Ae=(0,Be.sort)(ve,Ie.path,Ie.direction),Ce.sortedBy=Ie,Ce.update(Ae)),(0,Be.isObject)(ve)&&(Ae=(0,Be.sortObjectKeys)(ve,Ie.direction),Ce.sortedBy=Ie,Ce.update(Ae))}),Ce.sortedBy)}catch(Ie){this._onError(Ie)}},Ie._showTransformModal=function(){var Ce=this;try{var Ie=this.options,ve=Ie.modalAnchor,Ae=Ie.createQuery,be=Ie.executeQuery,ye=Ie.queryDescription,Se=this.get();(0,$e.showTransformModal)({container:ve||we.qD,json:Se,queryDescription:ye,createQuery:Ae,executeQuery:be,onTransform:function(Ie){Ie=be(Se,Ie),Ce.update(Ie)}})}catch(Ie){this._onError(Ie)}},Ie._onSelect=function(){this._updateCursorInfo(),this._emitSelectionChange()},Ie._onKeyDown=function(Ce){var Ie=!1;73===(Ce.which||Ce.keyCode)&&Ce.ctrlKey&&(Ce.shiftKey?this.compact():this.format(),this._onChange(),Ie=!0),Ie&&(Ce.preventDefault(),Ce.stopPropagation()),this._updateCursorInfo(),this._emitSelectionChange()},Ie._onMouseDown=function(){this._updateCursorInfo(),this._emitSelectionChange()},Ie._onBlur=function(){var Ce=this;setTimeout((function(){Ce.isFocused||(Ce._updateCursorInfo(),Ce._emitSelectionChange()),Ce.isFocused=!1}))},Ie._updateCursorInfo=function(){var Ce,Ie,ve,Ae,be,ye=this;function s(){ye.curserInfoElements.countVal.innerText!==be&&(ye.curserInfoElements.countVal.innerText=be,ye.curserInfoElements.countVal.style.display=be?"inline":"none",ye.curserInfoElements.countLabel.style.display=be?"inline":"none"),ye.curserInfoElements.lnVal.innerText=ve,ye.curserInfoElements.colVal.innerText=Ae}this.textarea?setTimeout((function(){var Ce=(0,Be.getInputSelection)(ye.textarea);Ce.startIndex!==Ce.endIndex&&(be=Ce.endIndex-Ce.startIndex),Ae=be&&ye.cursorInfo&&ye.cursorInfo.line===Ce.end.row&&ye.cursorInfo.column===Ce.end.column?(ve=Ce.start.row,Ce.start.column):(ve=Ce.end.row,Ce.end.column),ye.cursorInfo={line:ve,column:Ae,count:be},ye.options.statusBar&&s()}),0):this.aceEditor&&this.curserInfoElements&&(Ce=this.aceEditor.getCursorPosition(),Ie=this.aceEditor.getSelectedText(),ve=Ce.row+1,Ae=Ce.column+1,be=Ie.length,ye.cursorInfo={line:ve,column:Ae,count:be},this.options.statusBar&&s())},Ie._emitSelectionChange=function(){var Ce;this._selectionChangedHandler&&(Ce=this.getTextSelection(),this._selectionChangedHandler(Ce.start,Ce.end,Ce.text))},Ie._refreshAnnotations=function(){var Ce,Ie=this.aceEditor&&this.aceEditor.getSession();Ie&&(Ce=Ie.getAnnotations().filter((function(Ce){return"error"===Ce.type})),Ie.setAnnotations(Ce))},Ie.destroy=function(){this.aceEditor&&(this.aceEditor.destroy(),this.aceEditor=null),this.frame&&this.container&&this.frame.parentNode===this.container&&this.container.removeChild(this.frame),this.modeSwitcher&&(this.modeSwitcher.destroy(),this.modeSwitcher=null),this.textarea=null,this._debouncedValidate=null,this.frameFocusTracker.destroy()},Ie.compact=function(){var Ce=this.get();Ce=JSON.stringify(Ce),this.updateText(Ce)},Ie.format=function(){var Ce=this.get();Ce=JSON.stringify(Ce,null,this.indentation),this.updateText(Ce)},Ie.repair=function(){var Ce=this.getText();try{var Ie=be()(Ce);this.updateText(Ie)}catch(Ce){}},Ie.focus=function(){this.textarea&&this.textarea.focus(),this.aceEditor&&this.aceEditor.focus()},Ie.resize=function(){this.aceEditor&&this.aceEditor.resize(!1)},Ie.set=function(Ce){this.setText(JSON.stringify(Ce,null,this.indentation))},Ie.update=function(Ce){this.updateText(JSON.stringify(Ce,null,this.indentation))},Ie.get=function(){var Ce=this.getText();return(0,Be.parse)(Ce)},Ie.getText=function(){return this.textarea?this.textarea.value:this.aceEditor?this.aceEditor.getValue():""},Ie._setText=function(Ce,Ie){var ve,Ae=this;Ce=!0===this.options.escapeUnicode?(0,Be.escapeUnicodeChars)(Ce):Ce,this.textarea&&(this.textarea.value=Ce),this.aceEditor&&(this.onChangeDisabled=!0,this.aceEditor.setValue(Ce,-1),this.onChangeDisabled=!1,Ie&&(ve=this,setTimeout((function(){ve.aceEditor&&ve.aceEditor.session.getUndoManager().reset()}))),setTimeout((function(){Ae._updateHistoryButtons&&Ae._updateHistoryButtons()}))),this._debouncedValidate()},Ie.setText=function(Ce){this._setText(Ce,!0)},Ie.updateText=function(Ce){this.getText()!==Ce&&this._setText(Ce,!1)},Ie.validate=function(){var Ce,Ie=this,ve=[],be=[];try{var ye=this.get(),we=(this.validateSchema&&(this.validateSchema(ye)||(ve=this.validateSchema.errors.map((function(Ce){return Ce.type="validation",(0,Be.improveSchemaError)(Ce)})))),this.validationSequence=(this.validationSequence||0)+1,this),Se=this.validationSequence;return function(Ce,Ie){if(!Ie)return Promise.resolve([]);try{var ve=Ie(Ce);return((0,Be.isPromise)(ve)?ve:Promise.resolve(ve)).then((function(Ce){return Array.isArray(Ce)?Ce.filter((function(Ce){var Ie=(0,Be.isValidValidationError)(Ce);return Ie||Ae.warn('Ignoring a custom validation error with invalid structure. Expected structure: {path: [...], message: "..."}. Actual error:',Ce),Ie})).map((function(Ce){return{dataPath:(0,Be.stringifyPath)(Ce.path),message:Ce.message,type:"customValidation"}})):[]}))}catch(Ce){return Promise.reject(Ce)}}(ye,this.options.onValidate).then((function(Ce){return Se===we.validationSequence&&(Ce=ve.concat(be).concat(Ce),we._renderErrors(Ce),"function"==typeof Ie.options.onValidationError&&(0,Be.isValidationErrorChanged)(Ce,Ie.lastSchemaErrors)&&Ie.options.onValidationError.call(Ie,Ce),Ie.lastSchemaErrors=Ce),Ie.lastSchemaErrors}))}catch(Ie){return this.getText()&&((ye=/\w*line\s*(\d+)\w*/g.exec(Ie.message))&&(Ce=+ye[1]),be=[{type:"error",message:Ie.message.replace(/\n/g,"<br>"),line:Ce}]),this._renderErrors(be),"function"==typeof this.options.onValidationError&&(0,Be.isValidationErrorChanged)(be,this.lastSchemaErrors)&&this.options.onValidationError.call(this,be),this.lastSchemaErrors=be,Promise.resolve(this.lastSchemaErrors)}},Ie._validateAndCatch=function(){this.validate().catch((function(Ce){Ae.error("Error running validation:",Ce)}))},Ie._renderErrors=function(Ce){var Ie=this.getText(),ve=[];Ce.reduce((function(Ce,Ie){return"string"==typeof Ie.dataPath&&-1===Ce.indexOf(Ie.dataPath)&&Ce.push(Ie.dataPath),Ce}),ve),Ie=(0,Be.getPositionForPath)(Ie,ve),this.aceEditor&&(this.annotations=Ie.map((function(Ie){var ve=Ce.filter((function(Ce){return Ce.dataPath===Ie.path})),Ae=ve.map((function(Ce){return Ce.message})).join("\n");return Ae?{row:Ie.line,column:Ie.column,text:"Schema validation error"+(1!==ve.length?"s":"")+": \n"+Ae,type:"warning",source:"jsoneditor"}:{}})),this._refreshAnnotations()),this.errorTable.setErrors(Ce,Ie),this.aceEditor&&this.aceEditor.resize(!1)},Ie.getTextSelection=function(){var Ce,Ie,ve,Ae={};return this.textarea?(ve=(0,Be.getInputSelection)(this.textarea),this.cursorInfo&&this.cursorInfo.line===ve.end.row&&this.cursorInfo.column===ve.end.column?(Ae.start=ve.end,Ae.end=ve.start):Ae=ve,{start:Ae.start,end:Ae.end,text:this.textarea.value.substring(ve.startIndex,ve.endIndex)}):this.aceEditor?(ve=this.aceEditor.getSelection(),Ce=this.aceEditor.getSelectedText(),Ie=ve.getRange(),(ve=ve.getSelectionLead()).row===Ie.end.row&&ve.column===Ie.end.column?Ae=Ie:(Ae.start=Ie.end,Ae.end=Ie.start),{start:{row:Ae.start.row+1,column:Ae.start.column+1},end:{row:Ae.end.row+1,column:Ae.end.column+1},text:Ce}):void 0},Ie.onTextSelectionChange=function(Ce){"function"==typeof Ce&&(this._selectionChangedHandler=(0,Be.debounce)(Ce,this.DEBOUNCE_INTERVAL))},Ie.setTextSelection=function(Ce,Ie){var ve,Ae,be;Ce&&Ie&&(this.textarea?(ve=(0,Be.getIndexForPosition)(this.textarea,Ce.row,Ce.column),be=(0,Be.getIndexForPosition)(this.textarea,Ie.row,Ie.column),-1<ve&&-1<be&&(this.textarea.setSelectionRange?(this.textarea.focus(),this.textarea.setSelectionRange(ve,be)):this.textarea.createTextRange&&((Ae=this.textarea.createTextRange()).collapse(!0),Ae.moveEnd("character",be),Ae.moveStart("character",ve),Ae.select()),be=(this.textarea.value.match(/\n/g)||[]).length+1,ve=this.textarea.scrollHeight/be,Ae=Ce.row*ve,this.textarea.scrollTop=Ae>this.textarea.clientHeight?Ae-this.textarea.clientHeight/2:0)):this.aceEditor&&(be={start:{row:Ce.row-1,column:Ce.column-1},end:{row:Ie.row-1,column:Ie.column-1}},this.aceEditor.selection.setRange(be),this.aceEditor.scrollToLine(Ce.row-1,!0)))};var Ne=[{mode:"text",mixin:Ie,data:"text",load:n},{mode:"code",mixin:Ie,data:"text",load:n}]},8038:function(Ce,Ie,ve){"use strict";ve.r(Ie),ve.d(Ie,{treeModeMixins:function(){return Oe}});var be={start:function(Ce,Ie,ve){return 0===Ie.indexOf(Ce)},contain:function(Ce,Ie,ve){return-1<Ie.indexOf(Ce)}},ye=ve(897),we=ve(2474);function o(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}var Se=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.locked=!1}var Ce,Ie,ve;return Ce=e,(Ie=[{key:"highlight",value:function(Ce){this.locked||(this.node!==Ce&&(this.node&&this.node.setHighlight(!1),this.node=Ce,this.node.setHighlight(!0)),this._cancelUnhighlight())}},{key:"unhighlight",value:function(){var Ce;this.locked||(Ce=this).node&&(this._cancelUnhighlight(),this.unhighlightTimer=setTimeout((function(){Ce.node.setHighlight(!1),Ce.node=void 0,Ce.unhighlightTimer=void 0}),0))}},{key:"_cancelUnhighlight",value:function(){this.unhighlightTimer&&(clearTimeout(this.unhighlightTimer),this.unhighlightTimer=void 0)}},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}}])&&o(Ce.prototype,Ie),ve&&o(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),e}(),xe=ve(7907),ke=ve(6056),Ee=ve(6617),Re=(Ie=ve(233),ve.n(Ie)),_e=ve(2602),$e=ve(9791),Le=ve(6210),Be=ve(2558),We=ve(4188);function _(Ce){return function(Ce){if(Array.isArray(Ce))return I(Ce)}(Ce)||function(Ce){if("undefined"!=typeof Symbol&&null!=Ce[Symbol.iterator]||null!=Ce["@@iterator"])return Array.from(Ce)}(Ce)||C(Ce)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(Ce,Ie){return function(Ce){if(Array.isArray(Ce))return Ce}(Ce)||function(Ce,Ie){var ve=null==Ce?null:"undefined"!=typeof Symbol&&Ce[Symbol.iterator]||Ce["@@iterator"];if(null!=ve){var Ae,be,ye=[],we=!0,Se=!1;try{for(ve=ve.call(Ce);!(we=(Ae=ve.next()).done)&&(ye.push(Ae.value),!Ie||ye.length!==Ie);we=!0);}catch(Ce){Se=!0,be=Ce}finally{try{we||null==ve.return||ve.return()}finally{if(Se)throw be}}return ye}}(Ce,Ie)||C(Ce,Ie)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(Ce,Ie){var ve,Ae="undefined"!=typeof Symbol&&Ce[Symbol.iterator]||Ce["@@iterator"];if(!Ae){if(Array.isArray(Ce)||(Ae=C(Ce))||Ie&&Ce&&"number"==typeof Ce.length)return Ae&&(Ce=Ae),ve=0,{s:Ie=function(){},n:function(){return ve>=Ce.length?{done:!0}:{done:!1,value:Ce[ve++]}},e:function(Ce){throw Ce},f:Ie};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var be,ye=!0,we=!1;return{s:function(){Ae=Ae.call(Ce)},n:function(){var Ce=Ae.next();return ye=Ce.done,Ce},e:function(Ce){we=!0,be=Ce},f:function(){try{ye||null==Ae.return||Ae.return()}finally{if(we)throw be}}}}function C(Ce,Ie){if(Ce){if("string"==typeof Ce)return I(Ce,Ie);var ve=Object.prototype.toString.call(Ce).slice(8,-1);return"Map"===(ve="Object"===ve&&Ce.constructor?Ce.constructor.name:ve)||"Set"===ve?Array.from(Ce):"Arguments"===ve||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ve)?I(Ce,Ie):void 0}}function I(Ce,Ie){(null==Ie||Ie>Ce.length)&&(Ie=Ce.length);for(var ve=0,Ae=new Array(Ie);ve<Ie;ve++)Ae[ve]=Ce[ve];return Ae}function x(Ce){return(x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Ce){return typeof Ce}:function(Ce){return Ce&&"function"==typeof Symbol&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce})(Ce)}function v(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}var Ne=function(){function k(Ce,Ie){if(!(this instanceof k))throw new TypeError("Cannot call a class as a function");this.editor=Ce,this.dom={},this.expanded=!1,Ie&&Ie instanceof Object?(this.setField(Ie.field,Ie.fieldEditable),"value"in Ie&&this.setValue(Ie.value,Ie.type),"internalValue"in Ie&&this.setInternalValue(Ie.internalValue)):(this.setField(""),this.setValue(null)),this._debouncedOnChangeValue=(0,$e.debounce)(this._onChangeValue.bind(this),k.prototype.DEBOUNCE_INTERVAL),this._debouncedOnChangeField=(0,$e.debounce)(this._onChangeField.bind(this),k.prototype.DEBOUNCE_INTERVAL),this.visibleChilds=this.getMaxVisibleChilds()}var Ce,Ie,ve;return Ce=k,(Ie=[{key:"getMaxVisibleChilds",value:function(){return this.editor&&this.editor.options&&this.editor.options.maxVisibleChilds?this.editor.options.maxVisibleChilds:Ge}},{key:"_updateEditability",value:function(){var Ce,Ie;this.editable={field:!0,value:!0},this.editor&&(this.editable.field="tree"===this.editor.options.mode,this.editable.value="view"!==this.editor.options.mode,"tree"!==this.editor.options.mode&&"form"!==this.editor.options.mode||"function"!=typeof this.editor.options.onEditable||(Ce=this.getValue.bind(this),"boolean"==typeof(Ie=this.editor.options.onEditable({field:this.field,get value(){return Ce()},path:this.getPath()}))?(this.editable.field=Ie,this.editable.value=Ie):"object"===x(Ie)&&null!==Ie?("boolean"==typeof Ie.field&&(this.editable.field=Ie.field),"boolean"==typeof Ie.value&&(this.editable.value=Ie.value)):(Ae.error("Invalid return value for function onEditable.","Actual value:",Ie,".","Either a boolean or object { field: boolean, value: boolean } expected."),this.editable.field=!1,this.editable.value=!1)))}},{key:"getPath",value:function(){for(var Ce=this,Ie=[];Ce;){var ve=Ce.getName();void 0!==ve&&Ie.unshift(ve),Ce=Ce.parent}return Ie}},{key:"getInternalPath",value:function(){for(var Ce=this,Ie=[];Ce;)Ce.parent&&Ie.unshift(Ce.getIndex()),Ce=Ce.parent;return Ie}},{key:"getName",value:function(){return this.parent?"array"!==this.parent.type?this.field:this.index:void 0}},{key:"findNodeByPath",value:function(Ce){if(Ce){if(0===Ce.length)return this;if(Ce.length&&this.childs&&this.childs.length)for(var Ie=0;Ie<this.childs.length;++Ie)if(""+Ce[0]==""+this.childs[Ie].getName())return this.childs[Ie].findNodeByPath(Ce.slice(1))}}},{key:"findNodeByInternalPath",value:function(Ce){if(Ce){for(var Ie=this,ve=0;ve<Ce.length&&Ie;ve++){var Ae=Ce[ve];Ie=Ie.childs[Ae]}return Ie}}},{key:"serialize",value:function(){return{value:this.getValue(),path:this.getPath()}}},{key:"findNode",value:function(Ce){for(var Ie=(0,$e.parsePath)(Ce),ve=this;ve&&0<Ie.length;)!function(){var Ce=Ie.shift();if("number"==typeof Ce){if("array"!==ve.type)throw new Error("Cannot get child node at index "+Ce+": node is no array");ve=ve.childs[Ce]}else{if("object"!==ve.type)throw new Error("Cannot get child node "+Ce+": node is no object");ve=ve.childs.filter((function(Ie){return Ie.field===Ce}))[0]}}();return ve}},{key:"findParents",value:function(){for(var Ce=[],Ie=this.parent;Ie;)Ce.unshift(Ie),Ie=Ie.parent;return Ce}},{key:"setError",value:function(Ce,Ie){this.error=Ce,this.errorChild=Ie,this.dom&&this.dom.tr&&this.updateError()}},{key:"updateError",value:function(){var Ce=this,Ie=this.fieldError||this.valueError||this.error,ve=this.dom.tdError;if(Ie&&this.dom&&this.dom.tr){(0,$e.addClassName)(this.dom.tr,"jsoneditor-validation-error"),ve||(ve=document.createElement("td"),this.dom.tdError=ve,this.dom.tdValue.parentNode.appendChild(ve));var Ae=document.createElement("button"),be=(Ae.type="button",Ae.className="jsoneditor-button jsoneditor-schema-error",function(){Ce.dom.popupAnchor&&Ce.dom.popupAnchor.destroy()}),o=function(){delete Ce.dom.popupAnchor},s=function(ve){var be=Ce.editor.frame;Ce.dom.popupAnchor=(0,_e.w)(Ae,Ce.editor.getPopupAnchor(),o,ve),ve=Ae.getBoundingClientRect(),be=120<be.getBoundingClientRect().width-ve.x?"jsoneditor-above":"jsoneditor-left",(ve=document.createElement("div")).className="jsoneditor-popover "+be,ve.appendChild(document.createTextNode(Ie.message)),Ce.dom.popupAnchor.appendChild(ve)},ye=(Ae.onmouseover=function(){Ce.dom.popupAnchor||s(!0)},Ae.onfocus=function(){be(),s(!1)},Ae.onblur=function(){be()},this.errorChild);for(ye&&(Ae.onclick=function(){ye.findParents().forEach((function(Ce){Ce.expand(!1)})),ye.scrollTo((function(){ye.focus()}))});ve.firstChild;)ve.removeChild(ve.firstChild);ve.appendChild(Ae)}else this.dom.tr&&(0,$e.removeClassName)(this.dom.tr,"jsoneditor-validation-error"),ve&&(this.dom.tdError.parentNode.removeChild(this.dom.tdError),delete this.dom.tdError)}},{key:"getIndex",value:function(){var Ce;return this.parent?-1!==(Ce=this.parent.childs.indexOf(this))?Ce:null:-1}},{key:"setParent",value:function(Ce){this.parent=Ce}},{key:"setField",value:function(Ce,Ie){this.field=Ce,this.previousField=Ce,this.fieldEditable=!0===Ie}},{key:"getField",value:function(){return void 0===this.field&&this._getDomField(),this.field}},{key:"setValue",value:function(Ce,Ie){var ve,Ae,be,ye,we,Se,xe=this.childs;if(this.type=this._getType(Ce),Ie&&Ie!==this.type){if("string"!==Ie||"auto"!==this.type)throw new Error('Type mismatch: cannot cast value of type "'+this.type+' to the specified type "'+Ie+'"');this.type=Ie}if("array"===this.type){for(this.childs||(this.childs=[]),ve=0;ve<Ce.length;ve++)void 0===(we=Ce[ve])||we instanceof Function||(ve<this.childs.length?((be=this.childs[ve]).fieldEditable=!1,be.index=ve,be.setValue(we)):(be=new k(this.editor,{value:we}),ye=ve<this.getMaxVisibleChilds(),this.appendChild(be,ye,!1)));for(Ae=this.childs.length;Ae>=Ce.length;Ae--)this.removeChild(this.childs[Ae],!1)}else if("object"===this.type){for(this.childs||(this.childs=[]),Ae=this.childs.length-1;0<=Ae;Ae--)h(Ce,this.childs[Ae].field)||this.removeChild(this.childs[Ae],!1);for(var ke in ve=0,Ce)h(Ce,ke)&&(void 0===(we=Ce[ke])||we instanceof Function||((Se=this.findChildByProperty(ke))?(Se.setField(ke,!0),Se.setValue(we)):(Se=new k(this.editor,{field:ke,value:we}),ke=ve<this.getMaxVisibleChilds(),this.appendChild(Se,ke,!1))),ve++);!(this.value="")===this.editor.options.sortObjectKeys&&this.sort([],"asc",!1)}else this.hideChilds(),delete this.append,delete this.showMore,delete this.expanded,delete this.childs,this.value=Ce;Array.isArray(xe)!==Array.isArray(this.childs)&&this.recreateDom(),this.updateDom({updateIndexes:!0}),this.previousValue=this.value}},{key:"setInternalValue",value:function(Ce){var Ie,ve,Ae,be,ye,we=this.childs;if(this.type=Ce.type,"array"===Ce.type){for(this.childs||(this.childs=[]),be=0;be<Ce.childs.length;be++)void 0===(Ie=Ce.childs[be])||Ie instanceof Function||(be<this.childs.length?((ve=this.childs[be]).fieldEditable=!1,ve.index=be,ve.setInternalValue(Ie)):(ve=new k(this.editor,{internalValue:Ie}),Ae=be<this.getMaxVisibleChilds(),this.appendChild(ve,Ae,!1)));for(ye=this.childs.length;ye>=Ce.childs.length;ye--)this.removeChild(this.childs[ye],!1)}else if("object"===Ce.type){for(this.childs||(this.childs=[]),be=0;be<Ce.childs.length;be++)void 0===(Ie=Ce.childs[be])||Ie instanceof Function||(be<this.childs.length?(delete(ve=this.childs[be]).index,ve.setField(Ie.field,!0),ve.setInternalValue(Ie.value)):(ve=new k(this.editor,{field:Ie.field,internalValue:Ie.value}),Ae=be<this.getMaxVisibleChilds(),this.appendChild(ve,Ae,!1)));for(ye=this.childs.length;ye>=Ce.childs.length;ye--)this.removeChild(this.childs[ye],!1)}else this.hideChilds(),delete this.append,delete this.showMore,delete this.expanded,delete this.childs,this.value=Ce.value;Array.isArray(we)!==Array.isArray(this.childs)&&this.recreateDom(),this.updateDom({updateIndexes:!0}),this.previousValue=this.value}},{key:"recreateDom",value:function(){var Ce;this.dom&&this.dom.tr&&this.dom.tr.parentNode?(Ce=this._detachFromDom(),this.clearDom(),this._attachToDom(Ce)):this.clearDom()}},{key:"getValue",value:function(){var Ce,Ie;return"array"===this.type?(Ce=[],this.childs.forEach((function(Ie){Ce.push(Ie.getValue())})),Ce):"object"===this.type?(Ie={},this.childs.forEach((function(Ce){Ie[Ce.getField()]=Ce.getValue()})),Ie):(void 0===this.value&&this._getDomValue(),this.value)}},{key:"getInternalValue",value:function(){return"array"===this.type?{type:this.type,childs:this.childs.map((function(Ce){return Ce.getInternalValue()}))}:"object"===this.type?{type:this.type,childs:this.childs.map((function(Ce){return{field:Ce.getField(),value:Ce.getInternalValue()}}))}:(void 0===this.value&&this._getDomValue(),{type:this.type,value:this.value})}},{key:"getLevel",value:function(){return this.parent?this.parent.getLevel()+1:0}},{key:"getNodePath",value:function(){var Ce=this.parent?this.parent.getNodePath():[];return Ce.push(this),Ce}},{key:"clone",value:function(){var Ce,Ie;return(Ce=new k(this.editor)).type=this.type,Ce.field=this.field,Ce.fieldInnerText=this.fieldInnerText,Ce.fieldEditable=this.fieldEditable,Ce.previousField=this.previousField,Ce.value=this.value,Ce.valueInnerText=this.valueInnerText,Ce.previousValue=this.previousValue,Ce.expanded=this.expanded,Ce.visibleChilds=this.visibleChilds,this.childs?(Ie=[],this.childs.forEach((function(ve){(ve=ve.clone()).setParent(Ce),Ie.push(ve)})),Ce.childs=Ie):Ce.childs=void 0,Ce}},{key:"expand",value:function(Ce){this.childs&&(this.expanded=!0,this.dom.expand&&(this.dom.expand.className="jsoneditor-button jsoneditor-expanded"),this.showChilds(),!1!==Ce&&this.childs.forEach((function(Ie){Ie.expand(Ce)})),this.updateDom({recurse:!1}))}},{key:"collapse",value:function(Ce){this.childs&&(this.hideChilds(),!1!==Ce&&this.childs.forEach((function(Ie){Ie.collapse(Ce)})),this.dom.expand&&(this.dom.expand.className="jsoneditor-button jsoneditor-collapsed"),this.expanded=!1,this.updateDom({recurse:!1}))}},{key:"showChilds",value:function(){if((Ce=this.childs)&&this.expanded){var Ce,Ie=(Ce=this.dom.tr)?Ce.parentNode:void 0;if(Ie){for(var ve=this.getAppendDom(),Ae=(ve.parentNode||((be=Ce.nextSibling)?Ie.insertBefore(ve,be):Ie.appendChild(ve)),Math.min(this.childs.length,this.visibleChilds)),be=this._getNextTr(),ye=0;ye<Ae;ye++){var we=this.childs[ye];we.getDom().parentNode||Ie.insertBefore(we.getDom(),be),we.showChilds()}Ce=this.getShowMoreDom(),be=this._getNextTr(),Ce.parentNode||Ie.insertBefore(Ce,be),this.showMore.updateDom()}}}},{key:"_getNextTr",value:function(){return this.showMore&&this.showMore.getDom().parentNode?this.showMore.getDom():this.append&&this.append.getDom().parentNode?this.append.getDom():void 0}},{key:"hide",value:function(Ce){var Ie=this.dom.tr,ve=Ie?Ie.parentNode:void 0;ve&&ve.removeChild(Ie),this.dom.popupAnchor&&this.dom.popupAnchor.destroy(),this.hideChilds(Ce)}},{key:"hideChilds",value:function(Ce){var Ie;this.childs&&this.expanded&&((Ie=this.getAppendDom()).parentNode&&Ie.parentNode.removeChild(Ie),this.childs.forEach((function(Ce){Ce.hide()})),(Ie=this.getShowMoreDom()).parentNode&&Ie.parentNode.removeChild(Ie),Ce&&!Ce.resetVisibleChilds||(this.visibleChilds=this.getMaxVisibleChilds()))}},{key:"_updateCssClassName",value:function(){var Ce,Ie;this.dom.field&&this.editor&&this.editor.options&&"function"==typeof this.editor.options.onClassName&&this.dom.tree&&((0,$e.removeAllClassNames)(this.dom.tree),Ce=this.getValue.bind(this),Ie=this.editor.options.onClassName({path:this.getPath(),field:this.field,get value(){return Ce()}})||"",(0,$e.addClassName)(this.dom.tree,"jsoneditor-values "+Ie))}},{key:"recursivelyUpdateCssClassesOnNodes",value:function(){if(this._updateCssClassName(),Array.isArray(this.childs))for(var Ce=0;Ce<this.childs.length;Ce++)this.childs[Ce].recursivelyUpdateCssClassesOnNodes()}},{key:"expandTo",value:function(){for(var Ce=this.parent;Ce;)Ce.expanded||Ce.expand(),Ce=Ce.parent}},{key:"appendChild",value:function(Ce,Ie,ve){var Ae,be;this._hasChilds()&&(Ce.setParent(this),Ce.fieldEditable="object"===this.type,"array"===this.type&&(Ce.index=this.childs.length),"object"===this.type&&void 0===Ce.field&&Ce.setField(""),this.childs.push(Ce),this.expanded&&!1!==Ie&&(Ie=Ce.getDom(),be=(Ae=this._getNextTr())?Ae.parentNode:void 0,Ae&&be&&be.insertBefore(Ie,Ae),Ce.showChilds(),this.visibleChilds++),!1!==ve&&(this.updateDom({updateIndexes:!0}),Ce.updateDom({recurse:!0})))}},{key:"moveBefore",value:function(Ce,Ie,ve){var Ae,be,ye;this._hasChilds()&&((Ae=this.dom.tr?this.dom.tr.parentNode:void 0)&&((be=document.createElement("tr")).style.height=Ae.clientHeight+"px",Ae.appendChild(be)),Ce.parent&&Ce.parent.removeChild(Ce),Ie instanceof Pe||!Ie?this.childs.length+1>this.visibleChilds?(ye=this.childs[this.visibleChilds-1],this.insertBefore(Ce,ye,ve)):this.appendChild(Ce,!0,ve):this.insertBefore(Ce,Ie,ve),Ae&&be&&Ae.removeChild(be))}},{key:"insertBefore",value:function(Ce,Ie,ve){if(this._hasChilds()){if(this.visibleChilds++,"object"===this.type&&void 0===Ce.field&&Ce.setField(""),Ie===this.append)Ce.setParent(this),Ce.fieldEditable="object"===this.type,this.childs.push(Ce);else{var Ae=this.childs.indexOf(Ie);if(-1===Ae)throw new Error("Node not found");Ce.setParent(this),Ce.fieldEditable="object"===this.type,this.childs.splice(Ae,0,Ce)}var be;this.expanded&&(Ae=Ce.getDom(),be=(Ie=Ie.getDom())?Ie.parentNode:void 0,Ie&&be&&be.insertBefore(Ae,Ie),Ce.showChilds(),this.showChilds()),!1!==ve&&(this.updateDom({updateIndexes:!0}),Ce.updateDom({recurse:!0}))}}},{key:"insertAfter",value:function(Ce,Ie){this._hasChilds()&&(Ie=this.childs.indexOf(Ie),(Ie=this.childs[Ie+1])?this.insertBefore(Ce,Ie):this.appendChild(Ce))}},{key:"search",value:function(Ce,Ie){Array.isArray(Ie)||(Ie=[]);var ve=Ce?Ce.toLowerCase():void 0;return delete this.searchField,delete this.searchValue,void 0!==this.field&&Ie.length<=this.MAX_SEARCH_RESULTS&&(-1!==String(this.field).toLowerCase().indexOf(ve)&&(this.searchField=!0,Ie.push({node:this,elem:"field"})),this._updateDomField()),this._hasChilds()?this.childs&&this.childs.forEach((function(ve){ve.search(Ce,Ie)})):void 0!==this.value&&Ie.length<=this.MAX_SEARCH_RESULTS&&(-1!==String(this.value).toLowerCase().indexOf(ve)&&(this.searchValue=!0,Ie.push({node:this,elem:"value"})),this._updateDomValue()),Ie}},{key:"scrollTo",value:function(Ce){this.expandPathToNode(),this.dom.tr&&this.dom.tr.parentNode&&this.editor.scrollTo(this.dom.tr.offsetTop,Ce)}},{key:"expandPathToNode",value:function(){for(var Ce=this;Ce&&Ce.parent;){for(var Ie="array"===Ce.parent.type?Ce.index:Ce.parent.childs.indexOf(Ce);Ce.parent.visibleChilds<Ie+1;)Ce.parent.visibleChilds+=this.getMaxVisibleChilds();Ce.parent.expand(!1),Ce=Ce.parent}}},{key:"focus",value:function(Ce){if(k.focusElement=Ce,this.dom.tr&&this.dom.tr.parentNode){var Ie=this.dom;switch(Ce){case"drag":(Ie.drag||Ie.menu).focus();break;case"menu":Ie.menu.focus();break;case"expand":this._hasChilds()?Ie.expand.focus():Ie.field&&this.fieldEditable?(Ie.field.focus(),(0,$e.selectContentEditable)(Ie.field)):Ie.value&&!this._hasChilds()?(Ie.value.focus(),(0,$e.selectContentEditable)(Ie.value)):Ie.menu.focus();break;case"field":Ie.field&&this.fieldEditable?(Ie.field.focus(),(0,$e.selectContentEditable)(Ie.field)):Ie.value&&!this._hasChilds()?(Ie.value.focus(),(0,$e.selectContentEditable)(Ie.value)):(this._hasChilds()?Ie.expand:Ie.menu).focus();break;default:Ie.select?Ie.select.focus():Ie.value&&!this._hasChilds()?(Ie.value.focus(),(0,$e.selectContentEditable)(Ie.value)):Ie.field&&this.fieldEditable?(Ie.field.focus(),(0,$e.selectContentEditable)(Ie.field)):(this._hasChilds()?Ie.expand:Ie.menu).focus()}}}},{key:"containsNode",value:function(Ce){if(this===Ce)return!0;var Ie=this.childs;if(Ie)for(var ve=0,Ae=Ie.length;ve<Ae;ve++)if(Ie[ve].containsNode(Ce))return!0;return!1}},{key:"removeChild",value:function(Ce,Ie){if(this.childs){var ve=this.childs.indexOf(Ce);if(-1!==ve)return ve<this.visibleChilds&&this.expanded&&this.visibleChilds--,Ce.hide(),delete Ce.searchField,delete Ce.searchValue,(Ce=this.childs.splice(ve,1)[0]).parent=null,!1!==Ie&&this.updateDom({updateIndexes:!0}),Ce}}},{key:"_remove",value:function(Ce){this.removeChild(Ce)}},{key:"changeType",value:function(Ce){var Ie,ve=this.type;ve!==Ce&&("string"!==Ce&&"auto"!==Ce||"string"!==ve&&"auto"!==ve?(Ie=this._detachFromDom(),this.clearDom(),"object"===(this.type=Ce)?(this.childs||(this.childs=[]),this.childs.forEach((function(Ce){Ce.clearDom(),delete Ce.index,Ce.fieldEditable=!0,void 0===Ce.field&&(Ce.field="")})),"string"!==ve&&"auto"!==ve||(this.expanded=!0)):"array"===Ce?(this.childs||(this.childs=[]),this.childs.forEach((function(Ce,Ie){Ce.clearDom(),Ce.fieldEditable=!1,Ce.index=Ie})),"string"!==ve&&"auto"!==ve||(this.expanded=!0)):this.expanded=!1,this._attachToDom(Ie)):this.type=Ce,"auto"!==Ce&&"string"!==Ce||(this.value="string"===Ce?String(this.value):(0,$e.parseString)(String(this.value)),this.focus()),this.updateDom({updateIndexes:!0}))}},{key:"deepEqual",value:function(Ce){var Ie;if("array"===this.type){if(!Array.isArray(Ce))return!1;if(this.childs.length!==Ce.length)return!1;for(Ie=0;Ie<this.childs.length;Ie++)if(!this.childs[Ie].deepEqual(Ce[Ie]))return!1}else if("object"===this.type){if("object"!==x(Ce)||!Ce)return!1;var ve=Object.keys(Ce);if(this.childs.length!==ve.length)return!1;for(Ie=0;Ie<ve.length;Ie++){var Ae=this.childs[Ie];if(Ae.field!==ve[Ie]||!Ae.deepEqual(Ce[Ae.field]))return!1}}else if(this.value!==Ce)return!1;return!0}},{key:"_getDomValue",value:function(){if(this._clearValueError(),this.dom.value&&"array"!==this.type&&"object"!==this.type&&(this.valueInnerText=(0,$e.getInnerText)(this.dom.value),""===this.valueInnerText&&""!==this.dom.value.innerHTML&&(this.dom.value.textContent="")),void 0!==this.valueInnerText)try{var Ce,Ie;(Ie="string"===this.type?this._unescapeHTML(this.valueInnerText):(Ce=this._unescapeHTML(this.valueInnerText),(0,$e.parseString)(Ce)))!==this.value&&(this.value=Ie,this._debouncedOnChangeValue())}catch(Ce){this._setValueError((0,xe.Iu)("cannotParseValueError"))}}},{key:"_setValueError",value:function(Ce){this.valueError={message:Ce},this.updateError()}},{key:"_clearValueError",value:function(){this.valueError&&(this.valueError=null,this.updateError())}},{key:"_setFieldError",value:function(Ce){this.fieldError={message:Ce},this.updateError()}},{key:"_clearFieldError",value:function(){this.fieldError&&(this.fieldError=null,this.updateError())}},{key:"_onChangeValue",value:function(){var Ce,Ie=this.editor.getDomSelection(),ve=(Ie.range&&(ve=(0,$e.textDiff)(String(this.value),String(this.previousValue)),Ie.range.startOffset=ve.start,Ie.range.endOffset=ve.end),this.editor.getDomSelection());ve.range&&(Ce=(0,$e.textDiff)(String(this.previousValue),String(this.value)),ve.range.startOffset=Ce.start,ve.range.endOffset=Ce.end),this.editor._onAction("editValue",{path:this.getInternalPath(),oldValue:this.previousValue,newValue:this.value,oldSelection:Ie,newSelection:ve}),this.previousValue=this.value}},{key:"_onChangeField",value:function(){var Ce=this.editor.getDomSelection(),Ie=this.previousField||"",ve=(Ce.range&&(ve=(0,$e.textDiff)(this.field,Ie),Ce.range.startOffset=ve.start,Ce.range.endOffset=ve.end),this.editor.getDomSelection());ve.range&&(Ie=(0,$e.textDiff)(Ie,this.field),ve.range.startOffset=Ie.start,ve.range.endOffset=Ie.end),this.editor._onAction("editField",{parentPath:this.parent.getInternalPath(),index:this.getIndex(),oldValue:this.previousField,newValue:this.field,oldSelection:Ce,newSelection:ve}),this.previousField=this.field}},{key:"_updateDomValue",value:function(){var Ce=this.dom.value;if(Ce){var Ie=["jsoneditor-value"],ve=this.value,Ae="auto"===this.type?(0,$e.getType)(ve):this.type,be="string"===Ae&&(0,$e.isUrl)(ve);if(Ie.push("jsoneditor-"+Ae),be&&Ie.push("jsoneditor-url"),""===String(this.value)&&"array"!==this.type&&"object"!==this.type&&Ie.push("jsoneditor-empty"),this.searchValueActive&&Ie.push("jsoneditor-highlight-active"),this.searchValue&&Ie.push("jsoneditor-highlight"),Ce.className=Ie.join(" "),"array"===Ae||"object"===Ae?(Ie=this.childs?this.childs.length:0,Ce.title=this.type+" containing "+Ie+" items"):be&&this.editable.value?Ce.title=(0,xe.Iu)("openUrl"):Ce.title="","boolean"===Ae&&this.editable.value?(this.dom.checkbox||(this.dom.checkbox=document.createElement("input"),this.dom.checkbox.type="checkbox",this.dom.tdCheckbox=document.createElement("td"),this.dom.tdCheckbox.className="jsoneditor-tree",this.dom.tdCheckbox.appendChild(this.dom.checkbox),this.dom.tdValue.parentNode.insertBefore(this.dom.tdCheckbox,this.dom.tdValue)),this.dom.checkbox.checked=this.value):this.dom.tdCheckbox&&(this.dom.tdCheckbox.parentNode.removeChild(this.dom.tdCheckbox),delete this.dom.tdCheckbox,delete this.dom.checkbox),this.enum&&this.editable.value){if(!this.dom.select){this.dom.select=document.createElement("select"),this.id=this.field+"_"+(new Date).getUTCMilliseconds(),this.dom.select.id=this.id,this.dom.select.name=this.dom.select.id,(Ie=document.createElement("option")).value="",Ie.textContent="--",this.dom.select.appendChild(Ie);for(var ye=0;ye<this.enum.length;ye++){var we=document.createElement("option");we.value=this.enum[ye],we.textContent=this.enum[ye],this.dom.select.appendChild(we)}this.dom.tdSelect=document.createElement("td"),this.dom.tdSelect.className="jsoneditor-tree",this.dom.tdSelect.appendChild(this.dom.select),this.dom.tdValue.parentNode.insertBefore(this.dom.tdSelect,this.dom.tdValue)}this.dom.select.value=-1!==this.enum.indexOf(this.value)?this.value:"",!this.schema||h(this.schema,"oneOf")||h(this.schema,"anyOf")||h(this.schema,"allOf")?delete this.valueFieldHTML:(this.valueFieldHTML=this.dom.tdValue.innerHTML,this.dom.tdValue.style.visibility="hidden",this.dom.tdValue.textContent="")}else this.dom.tdSelect&&(this.dom.tdSelect.parentNode.removeChild(this.dom.tdSelect),delete this.dom.tdSelect,delete this.dom.select,this.dom.tdValue.innerHTML=this.valueFieldHTML,this.dom.tdValue.style.visibility="",delete this.valueFieldHTML);if(this.editor.options.colorPicker&&"string"==typeof ve&&(0,$e.isValidColor)(ve)?(this.dom.color||(this.dom.color=document.createElement("div"),this.dom.color.className="jsoneditor-color",this.dom.tdColor=document.createElement("td"),this.dom.tdColor.className="jsoneditor-tree",this.dom.tdColor.appendChild(this.dom.color),this.dom.tdValue.parentNode.insertBefore(this.dom.tdColor,this.dom.tdValue)),(0,$e.addClassName)(this.dom.value,"jsoneditor-color-value"),(this.editable.value?$e.removeClassName:$e.addClassName)(this.dom.color,"jsoneditor-color-readonly"),this.dom.color.style.backgroundColor=ve):this._deleteDomColor(),this._showTimestampTag()){if(this.dom.date||(this.dom.date=document.createElement("div"),this.dom.date.className="jsoneditor-date",this.dom.value.parentNode.appendChild(this.dom.date)),be=null,be="function"==typeof this.editor.options.timestampFormat?this.editor.options.timestampFormat({field:this.field,value:this.value,path:this.getPath()}):be){for(;this.dom.date.firstChild;)this.dom.date.removeChild(this.dom.date.firstChild);this.dom.date.appendChild(document.createTextNode(be))}else this.dom.date.textContent=new Date(ve).toISOString();this.dom.date.title=new Date(ve).toString()}else this.dom.date&&(this.dom.date.parentNode.removeChild(this.dom.date),delete this.dom.date);(0,$e.stripFormatting)(Ce),this._updateDomDefault()}}},{key:"_deleteDomColor",value:function(){this.dom.color&&(this.dom.tdColor.parentNode.removeChild(this.dom.tdColor),delete this.dom.tdColor,delete this.dom.color,(0,$e.removeClassName)(this.dom.value,"jsoneditor-color-value"))}},{key:"_updateDomField",value:function(){var Ce,Ie=this.dom.field;Ie&&((Ce=(0,$e.makeFieldTooltip)(this.schema,this.editor.options.language))&&(Ie.title=Ce),(""===String(this.field)&&this.parent&&"array"!==this.parent.type?$e.addClassName:$e.removeClassName)(Ie,"jsoneditor-empty"),(this.searchFieldActive?$e.addClassName:$e.removeClassName)(Ie,"jsoneditor-highlight-active"),(this.searchField?$e.addClassName:$e.removeClassName)(Ie,"jsoneditor-highlight"),(0,$e.stripFormatting)(Ie))}},{key:"_getDomField",value:function(Ce){if(this._clearFieldError(),this.dom.field&&this.fieldEditable&&(this.fieldInnerText=(0,$e.getInnerText)(this.dom.field),""===this.fieldInnerText&&""!==this.dom.field.innerHTML&&(this.dom.field.textContent="")),void 0!==this.fieldInnerText)try{var Ie=this._unescapeHTML(this.fieldInnerText),ve=this.parent.getFieldNames(this);-1!==ve.indexOf(Ie)?Ce?(Ie=(0,$e.findUniqueName)(Ie,ve))!==this.field&&(this.field=Ie,this._debouncedOnChangeField()):this._setFieldError((0,xe.Iu)("duplicateFieldError")):Ie!==this.field&&(this.field=Ie,this._debouncedOnChangeField())}catch(Ce){this._setFieldError((0,xe.Iu)("cannotParseFieldError"))}}},{key:"_updateDomDefault",value:function(){var Ce;!this.schema||void 0===this.schema.default||this._hasChilds()||(Ce=this.dom.select||this.dom.value)&&(this.value===this.schema.default?(Ce.title=(0,xe.Iu)("default"),(0,$e.addClassName)(Ce,"jsoneditor-is-default"),(0,$e.removeClassName)(Ce,"jsoneditor-is-not-default")):(Ce.removeAttribute("title"),(0,$e.removeClassName)(Ce,"jsoneditor-is-default"),(0,$e.addClassName)(Ce,"jsoneditor-is-not-default")))}},{key:"_showTimestampTag",value:function(){if("number"!=typeof this.value)return!1;var Ce,Ie=this.editor.options.timestampTag;return"function"==typeof Ie?"boolean"==typeof(Ce=Ie({field:this.field,value:this.value,path:this.getPath()}))?Ce:(0,$e.isTimestamp)(this.field,this.value):!0===Ie&&(0,$e.isTimestamp)(this.field,this.value)}},{key:"clearDom",value:function(){this.dom={}}},{key:"getDom",value:function(){var Ce,Ie=this.dom;if(Ie.tr)return Ie.tr;this._updateEditability(),Ie.tr=document.createElement("tr"),"tree"===(Ie.tr.node=this).editor.options.mode&&(ve=document.createElement("td"),this.editable.field&&this.parent&&((Ce=document.createElement("button")).type="button",(Ie.drag=Ce).className="jsoneditor-button jsoneditor-dragarea",Ce.title=(0,xe.Iu)("drag"),ve.appendChild(Ce)),Ie.tr.appendChild(ve),Ce=document.createElement("td"),(ve=document.createElement("button")).type="button",(Ie.menu=ve).className="jsoneditor-button jsoneditor-contextmenu-button",ve.title=(0,xe.Iu)("actionsMenu"),Ce.appendChild(Ie.menu),Ie.tr.appendChild(Ce));var ve=document.createElement("td");return Ie.tr.appendChild(ve),Ie.tree=this._createDomTree(),ve.appendChild(Ie.tree),this.updateDom({updateIndexes:!0}),Ie.tr}},{key:"isVisible",value:function(){return this.dom&&this.dom.tr&&this.dom.tr.parentNode||!1}},{key:"isDescendantOf",value:function(Ce){for(var Ie=this.parent;Ie;){if(Ie===Ce)return!0;Ie=Ie.parent}return!1}},{key:"_createDomField",value:function(){return document.createElement("div")}},{key:"setHighlight",value:function(Ce){this.dom.tr&&((Ce?$e.addClassName:$e.removeClassName)(this.dom.tr,"jsoneditor-highlight"),this.append&&this.append.setHighlight(Ce),this.childs&&this.childs.forEach((function(Ie){Ie.setHighlight(Ce)})))}},{key:"setSelected",value:function(Ce,Ie){this.selected=Ce,this.dom.tr&&((Ce?$e.addClassName:$e.removeClassName)(this.dom.tr,"jsoneditor-selected"),(Ie?$e.addClassName:$e.removeClassName)(this.dom.tr,"jsoneditor-first"),this.append&&this.append.setSelected(Ce),this.showMore&&this.showMore.setSelected(Ce),this.childs&&this.childs.forEach((function(Ie){Ie.setSelected(Ce)})))}},{key:"updateValue",value:function(Ce){this.value=Ce,this.previousValue=Ce,this.valueError=void 0,this.updateDom()}},{key:"updateField",value:function(Ce){this.field=Ce,this.previousField=Ce,this.fieldError=void 0,this.updateDom()}},{key:"updateDom",value:function(Ce){var Ie,ve;(ve=this.dom.tree)&&(ve.style.marginLeft=24*this.getLevel()+"px"),(ve=this.dom.field)&&(this.fieldEditable?(ve.contentEditable=this.editable.field,ve.spellcheck=!1,ve.className="jsoneditor-field"):(ve.contentEditable=!1,ve.className="jsoneditor-readonly"),Ie=void 0!==this.index?this.index:void 0!==this.field?this.field:(Ie=this.editor.options.schema?k._findSchema(this.editor.options.schema,this.editor.options.schemaRefs||{},this.getPath()):void 0)&&Ie.title?Ie.title:this._hasChilds()?this.type:"",Ie=this._escapeHTML(Ie),document.activeElement!==ve&&Ie!==this._unescapeHTML((0,$e.getInnerText)(ve))&&(ve.innerHTML=Ie),this._updateSchema()),(ve=this.dom.value)&&("array"===this.type||"object"===this.type?this.updateNodeName():(Ie=this._escapeHTML(this.value),document.activeElement!==ve&&Ie!==this._unescapeHTML((0,$e.getInnerText)(ve))&&(ve.innerHTML=Ie))),(ve=this.dom.tr)&&("array"===this.type||"object"===this.type?((0,$e.addClassName)(ve,"jsoneditor-expandable"),this.expanded?((0,$e.addClassName)(ve,"jsoneditor-expanded"),(0,$e.removeClassName)(ve,"jsoneditor-collapsed")):((0,$e.addClassName)(ve,"jsoneditor-collapsed"),(0,$e.removeClassName)(ve,"jsoneditor-expanded"))):((0,$e.removeClassName)(ve,"jsoneditor-expandable"),(0,$e.removeClassName)(ve,"jsoneditor-expanded"),(0,$e.removeClassName)(ve,"jsoneditor-collapsed"))),this._updateDomField(),this._updateDomValue(),Ce&&!0===Ce.updateIndexes&&this._updateDomIndexes(),Ce&&!0===Ce.recurse&&this.childs&&this.childs.forEach((function(Ie){Ie.updateDom(Ce)})),this.error&&this.updateError(),this.append&&this.append.updateDom(),this.showMore&&this.showMore.updateDom(),this._updateCssClassName()}},{key:"_updateSchema",value:function(){this.editor&&this.editor.options&&(this.schema=this.editor.options.schema?k._findSchema(this.editor.options.schema,this.editor.options.schemaRefs||{},this.getPath()):null,this.schema?this.enum=k._findEnum(this.schema):delete this.enum)}},{key:"_updateDomIndexes",value:function(){var Ce=this.dom.value,Ie=this.childs;Ce&&Ie&&("array"===this.type?Ie.forEach((function(Ce,Ie){Ce.index=Ie,(Ce=Ce.dom.field)&&(Ce.textContent=Ie)})):"object"===this.type&&Ie.forEach((function(Ce){void 0!==Ce.index&&(delete Ce.index,void 0===Ce.field&&(Ce.field=""))})))}},{key:"_createDomValue",value:function(){var Ce;return"array"===this.type?(Ce=document.createElement("div")).textContent="[...]":"object"===this.type?(Ce=document.createElement("div")).textContent="{...}":(!this.editable.value&&(0,$e.isUrl)(this.value)?(Ce=document.createElement("a")).href=this.value:((Ce=document.createElement("div")).contentEditable=this.editable.value,Ce.spellcheck=!1),Ce.innerHTML=this._escapeHTML(this.value)),Ce}},{key:"_createDomExpandButton",value:function(){var Ce=document.createElement("button");return Ce.type="button",this._hasChilds()?(Ce.className=this.expanded?"jsoneditor-button jsoneditor-expanded":"jsoneditor-button jsoneditor-collapsed",Ce.title=(0,xe.Iu)("expandTitle")):(Ce.className="jsoneditor-button jsoneditor-invisible",Ce.title=""),Ce}},{key:"_createDomTree",value:function(){var Ce=this.dom,Ie=document.createElement("table"),ve=document.createElement("tbody"),Ae=(Ie.style.borderCollapse="collapse",Ie.className="jsoneditor-values",Ie.appendChild(ve),document.createElement("tr"));return((((ve.appendChild(Ae),ve=document.createElement("td")).className="jsoneditor-tree",Ae.appendChild(ve),Ce.expand=this._createDomExpandButton(),ve.appendChild(Ce.expand),Ce.tdExpand=ve,ve=document.createElement("td")).className="jsoneditor-tree",Ae.appendChild(ve),Ce.field=this._createDomField(),ve.appendChild(Ce.field),Ce.tdField=ve,ve=document.createElement("td")).className="jsoneditor-tree",Ae.appendChild(ve),"object"!==this.type&&"array"!==this.type&&(ve.appendChild(document.createTextNode(":")),ve.className="jsoneditor-separator"),Ce.tdSeparator=ve,ve=document.createElement("td")).className="jsoneditor-tree",Ae.appendChild(ve),Ce.value=this._createDomValue(),ve.appendChild(Ce.value),Ce.tdValue=ve,Ie}},{key:"onEvent",value:function(Ce){var Ie,ve=Ce.type,Ae=Ce.target||Ce.srcElement,be=this.dom,ye=this,we=this._hasChilds(),Se=(Ae!==be.drag&&Ae!==be.menu||("mouseover"===ve?this.editor.highlighter.highlight(this):"mouseout"===ve&&this.editor.highlighter.unhighlight()),"click"===ve&&Ae===be.menu&&((Ie=ye.editor.highlighter).highlight(ye),Ie.lock(),(0,$e.addClassName)(be.menu,"jsoneditor-selected"),this.showContextMenu(be.menu,(function(){(0,$e.removeClassName)(be.menu,"jsoneditor-selected"),Ie.unlock(),Ie.unhighlight()}))),"click"===ve&&Ae===be.expand&&we&&(Re=Ce.ctrlKey,this._onExpand(Re)),"click"!==ve||Ce.target!==ye.dom.tdColor&&Ce.target!==ye.dom.color||!this.editable.value||this._showColorPicker(),"change"===ve&&Ae===be.checkbox&&(this.dom.value.textContent=String(!this.value),this._getDomValue(),this._updateDomDefault()),"change"===ve&&Ae===be.select&&(this.dom.value.innerHTML=this._escapeHTML(be.select.value),this._getDomValue(),this._updateDomValue()),be.value);if(Ae===Se)switch(ve){case"blur":case"change":this._getDomValue(),this._clearValueError(),this._updateDomValue();var xe=this._escapeHTML(this.value);xe!==this._unescapeHTML((0,$e.getInnerText)(Se))&&(Se.innerHTML=xe);break;case"input":case"keyup":this._getDomValue(),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getDomSelection();break;case"click":Ce.ctrlKey&&this.editable.value&&(0,$e.isUrl)(this.value)&&(Ce.preventDefault(),window.open(this.value,"_blank","noreferrer"));break;case"cut":case"paste":setTimeout((function(){ye._getDomValue(),ye._updateDomValue()}),1)}var ke=be.field;if(Ae===ke)switch(ve){case"blur":this._getDomField(!0),this._updateDomField();var Ee=this._escapeHTML(this.field);Ee!==this._unescapeHTML((0,$e.getInnerText)(ke))&&(ke.innerHTML=Ee);break;case"input":this._getDomField(),this._updateSchema(),this._updateDomField(),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getDomSelection();break;case"keyup":this._getDomField(),this._updateDomField();break;case"cut":case"paste":setTimeout((function(){ye._getDomField(),ye._updateDomField()}),1)}var Re=be.tree;Re&&Ae===Re.parentNode&&"click"===ve&&!Ce.hasMoved&&((void 0!==Ce.offsetX?Ce.offsetX<24*(this.getLevel()+1):Ce.pageX<(0,$e.getAbsoluteLeft)(be.tdSeparator))||we?ke&&((0,$e.setEndOfContentEditable)(ke),ke.focus()):Se&&!this.enum&&((0,$e.setEndOfContentEditable)(Se),Se.focus())),(Ae!==be.tdExpand||we)&&Ae!==be.tdField&&Ae!==be.tdSeparator||"click"!==ve||Ce.hasMoved||ke&&((0,$e.setEndOfContentEditable)(ke),ke.focus()),"keydown"===ve&&this.onKeyDown(Ce),"function"==typeof this.editor.options.onEvent&&this._onEvent(Ce)}},{key:"_onEvent",value:function(Ce){var Ie=(ve=Ce.target)===this.dom.field,ve=ve===this.dom.value||ve===this.dom.checkbox||ve===this.dom.select;(Ie||ve)&&(Ie={field:this.getField(),path:this.getPath()},ve&&!this._hasChilds()&&(Ie.value=this.getValue()),this.editor.options.onEvent(Ie,Ce))}},{key:"onKeyDown",value:function(Ce){var Ie,ve,Ae,be,ye,we,Se,xe,ke,Ee,Re,_e,Le,Be,We,Ne=Ce.which||Ce.keyCode,Ge=Ce.target||Ce.srcElement,Fe=Ce.ctrlKey,He=Ce.shiftKey,Ve=Ce.altKey,Ze=!1,Me="tree"===this.editor.options.mode,Oe=0<this.editor.multiselection.nodes.length?this.editor.multiselection.nodes:[this],De=Oe[0],Ke=Oe[Oe.length-1];13===Ne?Ge===this.dom.value?this.editable.value&&!Ce.ctrlKey||(0,$e.isUrl)(this.value)&&(window.open(this.value,"_blank","noreferrer"),Ze=!0):Ge===this.dom.expand&&this._hasChilds()&&(Be=Ce.ctrlKey,this._onExpand(Be),Ge.focus(),Ze=!0):68===Ne?Fe&&Me&&(k.onDuplicate(Oe),Ze=!0):69===Ne?Fe&&(this._onExpand(He),Ge.focus(),Ze=!0):77===Ne&&Me?Fe&&(this.showContextMenu(Ge),Ze=!0):46===Ne&&Me?Fe&&(k.onRemove(Oe),Ze=!0):45===Ne&&Me?Fe&&!He?(this._onInsertBefore(),Ze=!0):Fe&&He&&(this._onInsertAfter(),Ze=!0):35===Ne?Ve&&((Be=this._lastNode())&&Be.focus(k.focusElement||this._getElementName(Ge)),Ze=!0):36===Ne?Ve&&((Be=this._firstNode())&&Be.focus(k.focusElement||this._getElementName(Ge)),Ze=!0):37===Ne?Ve&&!He?((Be=this._previousElement(Ge))&&this.focus(this._getElementName(Be)),Ze=!0):Ve&&He&&Me&&(Le=Ke.expanded?(Be=Ke.getAppendDom())?Be.nextSibling:void 0:Ke.getDom().nextSibling)&&(Re=k.getNodeFromTarget(Le),Be=Le.nextSibling,_e=k.getNodeFromTarget(Be),Re&&Re instanceof Pe&&1!==Ke.parent.childs.length&&_e&&_e.parent&&(ve=this.editor.getDomSelection(),Ae=(be=De.parent).childs[Ke.getIndex()+1]||be.append,ye=De.getIndex(),we=_e.getIndex(),Se=be.getInternalPath(),xe=_e.parent.getInternalPath(),Oe.forEach((function(Ce){_e.parent.moveBefore(Ce,_e)})),this.focus(k.focusElement||this._getElementName(Ge)),this.editor._onAction("moveNodes",{count:Oe.length,fieldNames:Oe.map(R),oldParentPath:be.getInternalPath(),newParentPath:De.parent.getInternalPath(),oldIndex:Ae.getIndex(),newIndex:De.getIndex(),oldIndexRedo:ye,newIndexRedo:we,oldParentPathRedo:Se,newParentPathRedo:xe,oldSelection:ve,newSelection:this.editor.getDomSelection()}))):38===Ne?Ve&&!He?((Ie=this._previousNode())&&(this.editor.deselect(!0),Ie.focus(k.focusElement||this._getElementName(Ge))),Ze=!0):!Ve&&Fe&&He&&Me?((Ie=this._previousNode())&&((Ee=this.editor.multiselection).start=Ee.start||this,Ee.end=Ie,ke=this.editor._findTopLevelNodes(Ee.start,Ee.end),this.editor.select(ke),Ie.focus("field")),Ze=!0):Ve&&He&&Me&&((Ie=De._previousNode())&&Ie.parent&&(ve=this.editor.getDomSelection(),Ae=(be=De.parent).childs[Ke.getIndex()+1]||be.append,ye=De.getIndex(),we=Ie.getIndex(),Se=be.getInternalPath(),xe=Ie.parent.getInternalPath(),Oe.forEach((function(Ce){Ie.parent.moveBefore(Ce,Ie)})),this.focus(k.focusElement||this._getElementName(Ge)),this.editor._onAction("moveNodes",{count:Oe.length,fieldNames:Oe.map(R),oldParentPath:be.getInternalPath(),newParentPath:De.parent.getInternalPath(),oldIndex:Ae.getIndex(),newIndex:De.getIndex(),oldIndexRedo:ye,newIndexRedo:we,oldParentPathRedo:Se,newParentPathRedo:xe,oldSelection:ve,newSelection:this.editor.getDomSelection()})),Ze=!0):39===Ne?Ve&&!He?((Le=this._nextElement(Ge))&&this.focus(this._getElementName(Le)),Ze=!0):Ve&&He&&Me&&(Be=De.getDom().previousSibling)&&(Ie=k.getNodeFromTarget(Be))&&Ie.parent&&!Ie.isVisible()&&(ve=this.editor.getDomSelection(),Ae=(be=De.parent).childs[Ke.getIndex()+1]||be.append,ye=De.getIndex(),we=Ie.getIndex(),Se=be.getInternalPath(),xe=Ie.parent.getInternalPath(),Oe.forEach((function(Ce){Ie.parent.moveBefore(Ce,Ie)})),this.focus(k.focusElement||this._getElementName(Ge)),this.editor._onAction("moveNodes",{count:Oe.length,fieldNames:Oe.map(R),oldParentPath:be.getInternalPath(),newParentPath:De.parent.getInternalPath(),oldIndex:Ae.getIndex(),newIndex:De.getIndex(),oldIndexRedo:ye,newIndexRedo:we,oldParentPathRedo:Se,newParentPathRedo:xe,oldSelection:ve,newSelection:this.editor.getDomSelection()})):40===Ne&&(Ve&&!He?((Re=this._nextNode())&&(this.editor.deselect(!0),Re.focus(k.focusElement||this._getElementName(Ge))),Ze=!0):!Ve&&Fe&&He&&Me?((Re=this._nextNode())&&((Ee=this.editor.multiselection).start=Ee.start||this,Ee.end=Re,ke=this.editor._findTopLevelNodes(Ee.start,Ee.end),this.editor.select(ke),Re.focus("field")),Ze=!0):Ve&&He&&Me&&((We=(Re=(Re=(Re=Ke.expanded?Ke.append?Ke.append._nextNode():void 0:Ke._nextNode())&&!Re.isVisible()?Re.parent.showMore:Re)&&Re instanceof Pe?Ke:Re)&&(Re._nextNode()||Re.parent.append))&&We.parent&&(ve=this.editor.getDomSelection(),Ae=(be=De.parent).childs[Ke.getIndex()+1]||be.append,ye=De.getIndex(),we=We.getIndex(),Se=be.getInternalPath(),xe=We.parent.getInternalPath(),Oe.forEach((function(Ce){We.parent.moveBefore(Ce,We)})),this.focus(k.focusElement||this._getElementName(Ge)),this.editor._onAction("moveNodes",{count:Oe.length,fieldNames:Oe.map(R),oldParentPath:be.getInternalPath(),newParentPath:De.parent.getInternalPath(),oldParentPathRedo:Se,newParentPathRedo:xe,oldIndexRedo:ye,newIndexRedo:we,oldIndex:Ae.getIndex(),newIndex:De.getIndex(),oldSelection:ve,newSelection:this.editor.getDomSelection()})),Ze=!0)),Ze&&(Ce.preventDefault(),Ce.stopPropagation())}},{key:"_onExpand",value:function(Ce){var Ie,ve,Ae;Ce&&(Ae=(ve=(Ie=this.dom.tr.parentNode).parentNode).scrollTop,ve.removeChild(Ie)),this.expanded?this.collapse(Ce):this.expand(Ce),Ce&&(ve.appendChild(Ie),ve.scrollTop=Ae)}},{key:"_showColorPicker",value:function(){var Ce,Ie;"function"==typeof this.editor.options.onColorPicker&&this.dom.color&&((Ce=this)._deleteDomColor(),Ce.updateDom(),Ie=(0,_e.w)(this.dom.color,this.editor.getPopupAnchor()),this.editor.options.onColorPicker(Ie,this.value,(function(Ie){"string"==typeof Ie&&Ie!==Ce.value&&(Ce._deleteDomColor(),Ce.value=Ie,Ce.updateDom(),Ce._debouncedOnChangeValue())})))}},{key:"getFieldNames",value:function(Ce){return"object"===this.type?this.childs.filter((function(Ie){return Ie!==Ce})).map((function(Ce){return Ce.field})):[]}},{key:"_onInsertBefore",value:function(Ce,Ie,ve){var Ae=this.editor.getDomSelection();(Ce=new k(this.editor,{field:void 0!==Ce?Ce:"",value:void 0!==Ie?Ie:"",type:ve})).expand(!0),Ie=this.getInternalPath(),this.parent.insertBefore(Ce,this),this.editor.highlighter.unhighlight(),Ce.focus("field"),ve=this.editor.getDomSelection(),this.editor._onAction("insertBeforeNodes",{nodes:[Ce],paths:[Ce.getInternalPath()],beforePath:Ie,parentPath:this.parent.getInternalPath(),oldSelection:Ae,newSelection:ve})}},{key:"_onInsertAfter",value:function(Ce,Ie,ve){var Ae=this.editor.getDomSelection();(Ce=new k(this.editor,{field:void 0!==Ce?Ce:"",value:void 0!==Ie?Ie:"",type:ve})).expand(!0),this.parent.insertAfter(Ce,this),this.editor.highlighter.unhighlight(),Ce.focus("field"),Ie=this.editor.getDomSelection(),this.editor._onAction("insertAfterNodes",{nodes:[Ce],paths:[Ce.getInternalPath()],afterPath:this.getInternalPath(),parentPath:this.parent.getInternalPath(),oldSelection:Ae,newSelection:Ie})}},{key:"_onAppend",value:function(Ce,Ie,ve){var Ae=this.editor.getDomSelection();(Ce=new k(this.editor,{field:void 0!==Ce?Ce:"",value:void 0!==Ie?Ie:"",type:ve})).expand(!0),this.parent.appendChild(Ce),this.editor.highlighter.unhighlight(),Ce.focus("field"),Ie=this.editor.getDomSelection(),this.editor._onAction("appendNodes",{nodes:[Ce],paths:[Ce.getInternalPath()],parentPath:this.parent.getInternalPath(),oldSelection:Ae,newSelection:Ie})}},{key:"_onChangeType",value:function(Ce){var Ie,ve,Ae=this.type;Ce!==Ae&&(Ie=this.editor.getDomSelection(),this.changeType(Ce),ve=this.editor.getDomSelection(),this.editor._onAction("changeType",{path:this.getInternalPath(),oldType:Ae,newType:Ce,oldSelection:Ie,newSelection:ve}))}},{key:"sort",value:function(Ce,Ie){var ve,Ae,be=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];"string"==typeof Ce&&(Ce=(0,$e.parsePath)(Ce)),this._hasChilds()&&(this.hideChilds(),ve=this.childs,this.childs=this.childs.concat(),Ae="desc"===Ie?-1:1,"object"===this.type?this.childs.sort((function(Ce,Ie){return Ae*Re()(Ce.field,Ie.field)})):this.childs.sort((function(Ie,ve){return Ie=Ie.getNestedChild(Ce),ve=ve.getNestedChild(Ce),Ie?ve?(Ie=Ie.value,ve=ve.value,"string"!=typeof Ie&&"string"!=typeof ve?ve<Ie?Ae:Ie<ve?-Ae:0:Ae*Re()(Ie,ve)):-Ae:Ae})),this._updateDomIndexes(),this.showChilds(),!0===be&&this.editor._onAction("sort",{path:this.getInternalPath(),oldChilds:ve,newChilds:this.childs}))}},{key:"update",value:function(Ce){var Ie=this.getInternalValue();this.setValue(Ce),this.editor._onAction("transform",{path:this.getInternalPath(),oldValue:Ie,newValue:this.getInternalValue()})}},{key:"_detachFromDom",value:function(){var Ce=this.dom.tr?this.dom.tr.parentNode:void 0,Ie=(Ie=this.expanded?this.getAppendDom():this.getDom())&&Ie.parentNode?Ie.nextSibling:void 0;return this.hide({resetVisibleChilds:!1}),{table:Ce,nextTr:Ie}}},{key:"_attachToDom",value:function(Ce){Ce.table&&(Ce.nextTr?Ce.table.insertBefore(this.getDom(),Ce.nextTr):Ce.table.appendChild(this.getDom())),this.expanded&&this.showChilds()}},{key:"transform",value:function(Ce){if(this._hasChilds()){this.hideChilds();try{var Ie=this.getInternalValue(),ve=this.getValue(),Ae=this.editor.options.executeQuery(ve,Ce),be=(this.setValue(Ae),this.getInternalValue());this.editor._onAction("transform",{path:this.getInternalPath(),oldValue:Ie,newValue:be}),this.showChilds()}catch(Ce){this.showChilds(),this.editor._onError(Ce)}}}},{key:"extract",value:function(){this.editor.node.hideChilds(),this.hideChilds();try{var Ce=this.editor.node.getInternalValue(),Ie=(this.editor._setRoot(this),this.editor.node.getInternalValue());this.editor._onAction("transform",{path:this.editor.node.getInternalPath(),oldValue:Ce,newValue:Ie})}catch(Ce){this.editor._onError(Ce)}finally{this.updateDom({recurse:!0}),this.showChilds()}}},{key:"getNestedChild",value:function(Ce){for(var Ie=0,ve=this;ve&&Ie<Ce.length;)ve=ve.findChildByProperty(Ce[Ie]),Ie++;return ve}},{key:"findChildByProperty",value:function(Ce){if("object"===this.type)return this.childs.find((function(Ie){return Ie.field===Ce}))}},{key:"getAppendDom",value:function(){return this.append||(this.append=new Pe(this.editor),this.append.setParent(this)),this.append.getDom()}},{key:"getShowMoreDom",value:function(){return this.showMore||(this.showMore=new Fe(this.editor,this)),this.showMore.getDom()}},{key:"nextSibling",value:function(){var Ce=this.parent.childs.indexOf(this);return this.parent.childs[Ce+1]||this.parent.append}},{key:"_previousNode",value:function(){var Ce=null,Ie=this.getDom();if(Ie&&Ie.parentNode)for(var ve=Ie;ve=ve.previousSibling,Ce=k.getNodeFromTarget(ve),ve&&Ce&&Ce instanceof Pe&&!Ce.isVisible(););return Ce}},{key:"_nextNode",value:function(){var Ce=null,Ie=this.getDom();if(Ie&&Ie.parentNode)for(var ve=Ie;ve=ve.nextSibling,Ce=k.getNodeFromTarget(ve),ve&&Ce&&Ce instanceof Pe&&!Ce.isVisible(););return Ce}},{key:"_firstNode",value:function(){var Ce=null,Ie=this.getDom();return Ie&&Ie.parentNode&&(Ie=Ie.parentNode.firstChild,Ce=k.getNodeFromTarget(Ie)),Ce}},{key:"_lastNode",value:function(){var Ce=null,Ie=this.getDom();if(Ie&&Ie.parentNode){var ve=Ie.parentNode.lastChild;for(Ce=k.getNodeFromTarget(ve);ve&&Ce&&!Ce.isVisible();)ve=ve.previousSibling,Ce=k.getNodeFromTarget(ve)}return Ce}},{key:"_previousElement",value:function(Ce){var Ie=this.dom;switch(Ce){case Ie.value:if(this.fieldEditable)return Ie.field;case Ie.field:if(this._hasChilds())return Ie.expand;case Ie.expand:return Ie.menu;case Ie.menu:if(Ie.drag)return Ie.drag;default:return null}}},{key:"_nextElement",value:function(Ce){var Ie=this.dom;switch(Ce){case Ie.drag:return Ie.menu;case Ie.menu:if(this._hasChilds())return Ie.expand;case Ie.expand:if(this.fieldEditable)return Ie.field;case Ie.field:if(!this._hasChilds())return Ie.value;default:return null}}},{key:"_getElementName",value:function(Ce){var Ie=this;return Object.keys(this.dom).find((function(ve){return Ie.dom[ve]===Ce}))}},{key:"_hasChilds",value:function(){return"array"===this.type||"object"===this.type}},{key:"addTemplates",value:function(Ce,Ie){var ve=this,Ae=ve.editor.options.templates;null!=Ae&&(Ae.length&&Ce.push({type:"separator"}),Ae.forEach((function(Ae){Ce.push({text:Ae.text,className:Ae.className||"jsoneditor-type-object",title:Ae.title,click:(Ie?function(Ce,Ie){ve._onAppend(Ce,Ie)}:function(Ce,Ie){ve._onInsertBefore(Ce,Ie)}).bind(this,Ae.field,Ae.value)})})))}},{key:"showContextMenu",value:function(Ce,Ie){var ve,Ae=this,be=[];this.editable.value&&be.push({text:(0,xe.Iu)("type"),title:(0,xe.Iu)("typeTitle"),className:"jsoneditor-type-"+this.type,submenu:[{text:(0,xe.Iu)("auto"),className:"jsoneditor-type-auto"+("auto"===this.type?" jsoneditor-selected":""),title:(0,xe.Iu)("autoType"),click:function(){Ae._onChangeType("auto")}},{text:(0,xe.Iu)("array"),className:"jsoneditor-type-array"+("array"===this.type?" jsoneditor-selected":""),title:(0,xe.Iu)("arrayType"),click:function(){Ae._onChangeType("array")}},{text:(0,xe.Iu)("object"),className:"jsoneditor-type-object"+("object"===this.type?" jsoneditor-selected":""),title:(0,xe.Iu)("objectType"),click:function(){Ae._onChangeType("object")}},{text:(0,xe.Iu)("string"),className:"jsoneditor-type-string"+("string"===this.type?" jsoneditor-selected":""),title:(0,xe.Iu)("stringType"),click:function(){Ae._onChangeType("string")}}]}),this._hasChilds()&&(this.editor.options.enableSort&&be.push({text:(0,xe.Iu)("sort"),title:(0,xe.Iu)("sortTitle",{type:this.type}),className:"jsoneditor-sort-asc",click:function(){Ae.showSortModal()}}),this.editor.options.enableTransform&&be.push({text:(0,xe.Iu)("transform"),title:(0,xe.Iu)("transformTitle",{type:this.type}),className:"jsoneditor-transform",click:function(){Ae.showTransformModal()}}),this.parent&&be.push({text:(0,xe.Iu)("extract"),title:(0,xe.Iu)("extractTitle",{type:this.type}),className:"jsoneditor-extract",click:function(){Ae.extract()}})),this.parent&&this.parent._hasChilds()&&(be.length&&be.push({type:"separator"}),ve=Ae.parent.childs,Ae===ve[ve.length-1]&&(ve=[{text:(0,xe.Iu)("auto"),className:"jsoneditor-type-auto",title:(0,xe.Iu)("autoType"),click:function(){Ae._onAppend("","","auto")}},{text:(0,xe.Iu)("array"),className:"jsoneditor-type-array",title:(0,xe.Iu)("arrayType"),click:function(){Ae._onAppend("",[])}},{text:(0,xe.Iu)("object"),className:"jsoneditor-type-object",title:(0,xe.Iu)("objectType"),click:function(){Ae._onAppend("",{})}},{text:(0,xe.Iu)("string"),className:"jsoneditor-type-string",title:(0,xe.Iu)("stringType"),click:function(){Ae._onAppend("","","string")}}],Ae.addTemplates(ve,!0),be.push({text:(0,xe.Iu)("appendText"),title:(0,xe.Iu)("appendTitle"),submenuTitle:(0,xe.Iu)("appendSubmenuTitle"),className:"jsoneditor-append",click:function(){Ae._onAppend("","","auto")},submenu:ve})),ve=[{text:(0,xe.Iu)("auto"),className:"jsoneditor-type-auto",title:(0,xe.Iu)("autoType"),click:function(){Ae._onInsertBefore("","","auto")}},{text:(0,xe.Iu)("array"),className:"jsoneditor-type-array",title:(0,xe.Iu)("arrayType"),click:function(){Ae._onInsertBefore("",[])}},{text:(0,xe.Iu)("object"),className:"jsoneditor-type-object",title:(0,xe.Iu)("objectType"),click:function(){Ae._onInsertBefore("",{})}},{text:(0,xe.Iu)("string"),className:"jsoneditor-type-string",title:(0,xe.Iu)("stringType"),click:function(){Ae._onInsertBefore("","","string")}}],Ae.addTemplates(ve,!1),be.push({text:(0,xe.Iu)("insert"),title:(0,xe.Iu)("insertTitle"),submenuTitle:(0,xe.Iu)("insertSub"),className:"jsoneditor-insert",click:function(){Ae._onInsertBefore("","","auto")},submenu:ve}),this.editable.field&&(be.push({text:(0,xe.Iu)("duplicateText"),title:(0,xe.Iu)("duplicateField"),className:"jsoneditor-duplicate",click:function(){k.onDuplicate(Ae)}}),be.push({text:(0,xe.Iu)("removeText"),title:(0,xe.Iu)("removeField"),className:"jsoneditor-remove",click:function(){k.onRemove(Ae)}}))),this.editor.options.onCreateMenu&&(ve=Ae.getPath(),be=this.editor.options.onCreateMenu(be,{type:"single",path:ve,paths:[ve]})),new ye.x(be,{close:Ie}).show(Ce,this.editor.getPopupAnchor())}},{key:"showSortModal",value:function(){var Ce=this,Ie=this.editor.options.modalAnchor||We.qD,ve=this.getValue();(0,Le.showSortModal)(Ie,ve,(function(Ie){var ve=Ie.path;ve=(0,$e.parsePath)(ve),Ce.sortedBy=Ie,Ce.sort(ve,Ie.direction)}),Ce.sortedBy)}},{key:"showTransformModal",value:function(){var Ce=this,Ie=(be=this.editor.options).modalAnchor,ve=be.createQuery,Ae=be.executeQuery,be=be.queryDescription,ye=this.getValue();(0,Be.showTransformModal)({container:Ie||We.qD,json:ye,queryDescription:be,createQuery:ve,executeQuery:Ae,onTransform:function(Ie){Ce.transform(Ie)}})}},{key:"_getType",value:function(Ce){return Ce instanceof Array?"array":Ce instanceof Object?"object":"string"==typeof Ce&&"string"!=typeof(0,$e.parseString)(Ce)?"string":"auto"}},{key:"_escapeHTML",value:function(Ce){return"string"!=typeof Ce?String(Ce):(Ce=String(Ce).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/ {2}/g," ").replace(/^ /," ").replace(/ $/," "),Ce=(Ce=JSON.stringify(Ce)).substring(1,Ce.length-1),!0===this.editor.options.escapeUnicode?(0,$e.escapeUnicodeChars)(Ce):Ce)}},{key:"_unescapeHTML",value:function(Ce){return Ce='"'+this._escapeJSON(Ce)+'"',(0,$e.parse)(Ce).replace(/</g,"<").replace(/>/g,">").replace(/ |\u00A0/g," ").replace(/&/g,"&")}},{key:"_escapeJSON",value:function(Ce){for(var Ie="",ve=0;ve<Ce.length;){var Ae=Ce.charAt(ve);"\n"===Ae?Ie+="\\n":"\\"===Ae?(Ie+=Ae,ve++,""!==(Ae=Ce.charAt(ve))&&-1!=='"\\/bfnrtu'.indexOf(Ae)||(Ie+="\\"),Ie+=Ae):Ie+='"'===Ae?'\\"':Ae,ve++}return Ie}},{key:"updateNodeName",value:function(){var Ce=this.childs?this.childs.length:0;if("object"===this.type||"array"===this.type){if(this.editor.options.onNodeName)try{var Ie=this.getValue.bind(this),ve=this.editor.options.onNodeName({path:this.getPath(),size:Ce,type:this.type,get value(){return Ie()}})}catch(Ce){Ae.error("Error in onNodeName callback: ",Ce)}this.dom.value.textContent="object"===this.type?"{"+(ve||Ce)+"}":"["+(ve||Ce)+"]"}}},{key:"recursivelyUpdateNodeName",value:function(){if(this.expanded&&(this.updateNodeName(),"undefined"!==this.childs))for(var Ce in this.childs)this.childs[Ce].recursivelyUpdateNodeName()}}])&&v(Ce.prototype,Ie),ve&&v(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),k}(),Ge=(Ne.prototype.DEBOUNCE_INTERVAL=150,Ne.prototype.MAX_SEARCH_RESULTS=999,100);function b(Ce){return Ce.getInternalPath()}function R(Ce){return Ce.getField()}function h(Ce,Ie){return Object.prototype.hasOwnProperty.call(Ce,Ie)}Ne.focusElement=void 0,Ne.select=function(Ce){setTimeout((function(){(0,$e.selectContentEditable)(Ce)}),0)},Ne.onDragStart=function(Ce,Ie){if(!Array.isArray(Ce))return Ne.onDragStart([Ce],Ie);var ve,Ae,be,ye,we;0!==Ce.length&&(ve=Ce[0],Ae=Ce[Ce.length-1],be=ve.parent,we=Ne.getNodeFromTarget(Ie.target),ye=ve.editor,we=(0,$e.getAbsoluteTop)(we.dom.tr)-(0,$e.getAbsoluteTop)(ve.dom.tr),ye.mousemove||(ye.mousemove=(0,$e.addEventListener)(Ie.view,"mousemove",(function(Ie){Ne.onDrag(Ce,Ie)}))),ye.mouseup||(ye.mouseup=(0,$e.addEventListener)(Ie.view,"mouseup",(function(Ie){Ne.onDragEnd(Ce,Ie)}))),ye.highlighter.lock(),ye.drag={oldCursor:document.body.style.cursor,oldSelection:ye.getDomSelection(),oldPaths:Ce.map(b),oldParent:be,oldNextNode:be.childs[Ae.getIndex()+1]||be.append,oldParentPathRedo:be.getInternalPath(),oldIndexRedo:ve.getIndex(),mouseX:Ie.pageX,offsetY:we,level:ve.getLevel()},document.body.style.cursor="move",Ie.preventDefault())},Ne.onDrag=function(Ce,Ie){if(!Array.isArray(Ce))return Ne.onDrag([Ce],Ie);if(0!==Ce.length){var ve,Ae,be,ye,we,Se=Ce[0].editor,xe=Ie.pageY-Se.drag.offsetY,ke=Ie.pageX,Ee=!1,Re=Ce[0],_e=Re.dom.tr,Le=(0,$e.getAbsoluteTop)(_e),Be=_e.offsetHeight;if(xe<Le){for(He=_e;He=He.previousSibling,Ve=Ne.getNodeFromTarget(He),be=He?(0,$e.getAbsoluteTop)(He):0,He&&xe<be;);(Ve=Ve&&!Ve.parent?void 0:Ve)||(He=(_e=_e.parentNode.firstChild)?_e.nextSibling:void 0,(Ve=Ne.getNodeFromTarget(He))===Re&&(Ve=void 0)),!(Ve=Ve&&Ve.isVisible()&&(be=(He=Ve.dom.tr)?(0,$e.getAbsoluteTop)(He):0)+Be<xe?void 0:Ve)||!1!==Se.options.limitDragging&&Ve.parent!==Ce[0].parent||(Ce.forEach((function(Ce){Ve.parent.moveBefore(Ce,Ve)})),Ee=!0)}else{var We=Ce[Ce.length-1];if(Be=(_e=We.expanded&&We.append?We.append.getDom():We.dom.tr)?_e.nextSibling:void 0){for(ye=(0,$e.getAbsoluteTop)(Be),ve=Be;Ae=Ne.getNodeFromTarget(ve),ve&&(we=ve.nextSibling?(0,$e.getAbsoluteTop)(ve.nextSibling):0,we=ve?we-ye:0,Ae&&Ae.parent.childs.length===Ce.length&&Ae.parent.childs[Ce.length-1]===We&&(Le+=27),ve=ve.nextSibling),ve&&Le+we<xe;);if(Ae&&Ae.parent){Be=ke-Se.drag.mouseX,Be=Math.round(Be/24/2);for(var Ge=Se.drag.level+Be,Fe=Ae.getLevel(),He=Ae.dom.tr&&Ae.dom.tr.previousSibling;Fe<Ge&&He;){var Ve=Ne.getNodeFromTarget(He),Ze=Ce.some((function(Ce){return Ce===Ve||Ve.isDescendantOf(Ce)}));if(!Ze){if(!(Ve instanceof Pe))break;if((Ze=Ve.parent.childs).length===Ce.length&&Ze[Ce.length-1]===We)break;Fe=(Ae=Ne.getNodeFromTarget(He)).getLevel()}He=He.previousSibling}(Ae=Ae instanceof Pe&&!Ae.isVisible()&&Ae.parent.showMore.isVisible()?Ae._nextNode():Ae)&&(!1===Se.options.limitDragging||Ae.parent===Ce[0].parent)&&Ae.dom.tr&&Ae.dom.tr!==_e.nextSibling&&(Ce.forEach((function(Ce){Ae.parent.moveBefore(Ce,Ae)})),Ee=!0)}}}Ee&&(Se.drag.mouseX=ke,Se.drag.level=Re.getLevel()),Se.startAutoScroll(xe),Ie.preventDefault()}},Ne.onDragEnd=function(Ce,Ie){if(!Array.isArray(Ce))return Ne.onDrag([Ce],Ie);var ve,Ae,be,ye,we,Se,xe,ke,Ee;0!==Ce.length&&(Se=Ce[0],ve=Se.editor,Se&&Se.dom.menu&&Se.dom.menu.focus(),Ae=ve.drag.oldParent.getInternalPath(),be=Se.parent.getInternalPath(),ye=ve.drag.oldParent===Se.parent,we=ve.drag.oldNextNode.getIndex(),Se=Se.getIndex(),xe=ve.drag.oldParentPathRedo,ke=ve.drag.oldIndexRedo,Ee=ye&&ke<Se?Se+Ce.length:Se,ye&&ke===Se||ve._onAction("moveNodes",{count:Ce.length,fieldNames:Ce.map(R),oldParentPath:Ae,newParentPath:be,oldIndex:we,newIndex:Se,oldIndexRedo:ke,newIndexRedo:Ee,oldParentPathRedo:xe,newParentPathRedo:null,oldSelection:ve.drag.oldSelection,newSelection:ve.getDomSelection()}),document.body.style.cursor=ve.drag.oldCursor,ve.highlighter.unlock(),Ce.forEach((function(Ce){Ce.updateDom(),Ie.target!==Ce.dom.drag&&Ie.target!==Ce.dom.menu&&ve.highlighter.unhighlight()})),delete ve.drag,ve.mousemove&&((0,$e.removeEventListener)(Ie.view,"mousemove",ve.mousemove),delete ve.mousemove),ve.mouseup&&((0,$e.removeEventListener)(Ie.view,"mouseup",ve.mouseup),delete ve.mouseup),ve.stopAutoScroll(),Ie.preventDefault())},Ne._findEnum=function(Ce){return Ce.enum?Ce.enum:(Ce=Ce.oneOf||Ce.anyOf||Ce.allOf)&&0<(Ce=Ce.filter((function(Ce){return Ce.enum}))).length?Ce[0].enum:null},Ne._findSchema=function(Ce,Ie,ve){for(var Ae=3<arguments.length&&void 0!==arguments[3]?arguments[3]:Ce,be=ve.slice(1,ve.length),ye=ve[0],we=[Ae],Se=0,xe=[Ae.oneOf,Ae.anyOf,Ae.allOf];Se<xe.length;Se++){var ke=xe[Se];Array.isArray(ke)&&(we=we.concat(ke))}var Ee,Re=L(we);try{for(Re.s();!(Ee=Re.n()).done;){if("$ref"in(Ae=Ee.value)&&"string"==typeof Ae.$ref){var _e,$e=Ae.$ref;if($e in Ie)Ae=Ie[$e];else{if(!$e.startsWith("#/")){if(1!==(null===(_e=$e.match(/#\//g))||void 0===_e?void 0:_e.length))throw Error("Unable to resolve reference ".concat($e));var Le,Be,We,Ge=$($e.split("#/"),2),Pe=Ge[0],Fe=Ge[1];if(Pe in Ie)return Le=Ie[Pe],Be={$ref:"#/".concat(Fe)},(We=[]).push(ye),0<be.length&&We.push.apply(We,_(be)),Ne._findSchema(Le,Ie,We,Be);throw Error("Unable to resolve reference ".concat($e))}var He,Ve=$e.substring(2).split("/"),Ze=(Ae=Ce,L(Ve));try{for(Ze.s();!(He=Ze.n()).done;){var Me=He.value;if(!(Me in Ae))throw Error("Unable to resovle reference ".concat($e));Ae=Ae[Me]}}catch(Ce){Ze.e(Ce)}finally{Ze.f()}}}if(void 0===ye)return Ae;if("string"!=typeof ye){if("number"==typeof ye&&"object"===x(Ae.items)&&null!==Ae.items)return Ae=Ae.items,Ne._findSchema(Ce,Ie,be,Ae)}else{if("object"===x(Ae.properties)&&null!==Ae.properties&&ye in Ae.properties)return Ae=Ae.properties[ye],Ne._findSchema(Ce,Ie,be,Ae);if("object"===x(Ae.patternProperties)&&null!==Ae.patternProperties)for(var Oe in Ae.patternProperties)if(ye.match(Oe))return Ae=Ae.patternProperties[Oe],Ne._findSchema(Ce,Ie,be,Ae);if("object"===x(Ae.additionalProperties))return Ae=Ae.additionalProperties,Ne._findSchema(Ce,Ie,be,Ae)}}}catch(Ce){Re.e(Ce)}finally{Re.f()}return null},Ne.onRemove=function(Ce){if(!Array.isArray(Ce))return Ne.onRemove([Ce]);var Ie,ve,Ae,be,ye,we;Ce&&0<Ce.length&&(Ie=(Ae=Ce[0]).parent,ve=Ae.editor,Ae=Ae.getIndex(),ve.highlighter.unhighlight(),be=ve.getDomSelection(),Ne.blurNodes(Ce),ye=ve.getDomSelection(),we=Ce.map(b),Ce.forEach((function(Ce){Ce.parent._remove(Ce)})),ve._onAction("removeNodes",{nodes:Ce,paths:we,parentPath:Ie.getInternalPath(),index:Ae,oldSelection:be,newSelection:ye}))},Ne.onDuplicate=function(Ce){if(!Array.isArray(Ce))return Ne.onDuplicate([Ce]);var Ie,ve,Ae,be,ye,we,Se;Ce&&0<Ce.length&&(Ie=Ce[Ce.length-1],ve=Ie.parent,(Ae=Ie.editor).deselect(Ae.multiselection.nodes),be=Ae.getDomSelection(),ye=Ie,we=Ce.map((function(Ce){var Ie,Ae=Ce.clone();return"object"===Ce.parent.type&&(Ie=Ce.parent.getFieldNames(),Ae.field=(0,$e.findUniqueName)(Ce.field,Ie)),ve.insertAfter(Ae,ye),ye=Ae})),1===Ce.length?"object"===we[0].parent.type?(we[0].dom.field.innerHTML=Ce[0]._escapeHTML(Ce[0].field),we[0].focus("field")):we[0].focus():Ae.select(we),Se=Ae.getDomSelection(),Ae._onAction("duplicateNodes",{paths:Ce.map(b),clonePaths:we.map(b),afterPath:Ie.getInternalPath(),parentPath:ve.getInternalPath(),oldSelection:be,newSelection:Se}))},Ne.getNodeFromTarget=function(Ce){for(;Ce;){if(Ce.node)return Ce.node;Ce=Ce.parentNode}},Ne.targetIsColorPicker=function(Ce){var Ie=Ne.getNodeFromTarget(Ce);if(Ie)for(var ve=Ce&&Ce.parentNode;ve;){if(ve===Ie.dom.color)return!0;ve=ve.parentNode}return!1},Ne.blurNodes=function(Ce){var Ie,ve;Array.isArray(Ce)?(Ie=(ve=Ce[0]).parent,ve=ve.getIndex(),(Ie.childs[ve+Ce.length]?Ie.childs[ve+Ce.length]:Ie.childs[ve-1]||Ie).focus()):Ne.blurNodes([Ce])},(t.prototype=new Ne).getDom=function(){var Ce=this.dom;if(Ce.tr)return Ce.tr;this._updateEditability();var Ie=document.createElement("tr"),ve=(Ie.className="jsoneditor-append",Ie.node=this,Ce.tr=Ie,"tree"===this.editor.options.mode&&(Ce.tdDrag=document.createElement("td"),Ae=document.createElement("td"),Ce.tdMenu=Ae,(ve=document.createElement("button")).type="button",ve.className="jsoneditor-button jsoneditor-contextmenu-button",ve.title="Click to open the actions menu (Ctrl+M)",Ce.menu=ve,Ae.appendChild(Ce.menu)),document.createElement("td")),Ae=document.createElement("div");return Ae.appendChild(document.createTextNode("("+(0,xe.Iu)("empty")+")")),Ae.className="jsoneditor-readonly",ve.appendChild(Ae),Ce.td=ve,Ce.text=Ae,this.updateDom(),Ie},t.prototype.getPath=function(){return null},t.prototype.getIndex=function(){return null},t.prototype.updateDom=function(Ce){var Ie=this.dom,ve=Ie.td,Ae=(ve&&(ve.style.paddingLeft=24*this.getLevel()+26+"px"),(Ae=Ie.text)&&(Ae.firstChild.nodeValue="("+(0,xe.Iu)("empty")+" "+this.parent.type+")"),Ie.tr);this.isVisible()?Ie.tr.firstChild||(Ie.tdDrag&&Ae.appendChild(Ie.tdDrag),Ie.tdMenu&&Ae.appendChild(Ie.tdMenu),Ae.appendChild(ve)):Ie.tr.firstChild&&(Ie.tdDrag&&Ae.removeChild(Ie.tdDrag),Ie.tdMenu&&Ae.removeChild(Ie.tdMenu),Ae.removeChild(ve))},t.prototype.isVisible=function(){return 0===this.parent.childs.length},t.prototype.showContextMenu=function(Ce,Ie){var ve,Ae=this,be=[{text:(0,xe.Iu)("auto"),className:"jsoneditor-type-auto",title:(0,xe.Iu)("autoType"),click:function(){Ae._onAppend("","","auto")}},{text:(0,xe.Iu)("array"),className:"jsoneditor-type-array",title:(0,xe.Iu)("arrayType"),click:function(){Ae._onAppend("",[])}},{text:(0,xe.Iu)("object"),className:"jsoneditor-type-object",title:(0,xe.Iu)("objectType"),click:function(){Ae._onAppend("",{})}},{text:(0,xe.Iu)("string"),className:"jsoneditor-type-string",title:(0,xe.Iu)("stringType"),click:function(){Ae._onAppend("","","string")}}];Ae.addTemplates(be,!0),be=[{text:(0,xe.Iu)("appendText"),title:(0,xe.Iu)("appendTitleAuto"),submenuTitle:(0,xe.Iu)("appendSubmenuTitle"),className:"jsoneditor-insert",click:function(){Ae._onAppend("","","auto")},submenu:be}],this.editor.options.onCreateMenu&&(ve=Ae.parent.getPath(),be=this.editor.options.onCreateMenu(be,{type:"append",path:ve,paths:[ve]})),new ye.x(be,{close:Ie}).show(Ce,this.editor.getPopupAnchor())},t.prototype.onEvent=function(Ce){var Ie,ve=Ce.type,Ae=Ce.target||Ce.srcElement,be=this.dom;Ae===be.menu&&("mouseover"===ve?this.editor.highlighter.highlight(this.parent):"mouseout"===ve&&this.editor.highlighter.unhighlight()),"click"===ve&&Ae===be.menu&&((Ie=this.editor.highlighter).highlight(this.parent),Ie.lock(),(0,$e.addClassName)(be.menu,"jsoneditor-selected"),this.showContextMenu(be.menu,(function(){(0,$e.removeClassName)(be.menu,"jsoneditor-selected"),Ie.unlock(),Ie.unhighlight()}))),"keydown"===ve&&this.onKeyDown(Ce)};var Pe=t;function t(Ce){this.editor=Ce,this.dom={}}(i.prototype=new Ne).getDom=function(){return this.dom.tr||(this._updateEditability(),this.dom.tr||(Ie=(Ce=this).parent,(be=document.createElement("a")).appendChild(document.createTextNode((0,xe.Iu)("showMore"))),be.href="#",be.onclick=function(ve){return Ie.visibleChilds=Math.floor(Ie.visibleChilds/Ie.getMaxVisibleChilds()+1)*Ie.getMaxVisibleChilds(),Ce.updateDom(),Ie.showChilds(),ve.preventDefault(),!1},(ye=document.createElement("a")).appendChild(document.createTextNode((0,xe.Iu)("showAll"))),ye.href="#",ye.onclick=function(ve){return Ie.visibleChilds=1/0,Ce.updateDom(),Ie.showChilds(),ve.preventDefault(),!1},ve=document.createElement("div"),Ae=document.createTextNode(this._getShowMoreText()),ve.className="jsoneditor-show-more",ve.appendChild(Ae),ve.appendChild(be),ve.appendChild(document.createTextNode(". ")),ve.appendChild(ye),ve.appendChild(document.createTextNode(". ")),(be=document.createElement("td")).appendChild(ve),ye=document.createElement("tr"),"tree"===this.editor.options.mode&&(ye.appendChild(document.createElement("td")),ye.appendChild(document.createElement("td"))),ye.appendChild(be),ye.className="jsoneditor-show-more",this.dom.tr=ye,this.dom.moreContents=ve,this.dom.moreText=Ae),this.updateDom(),this.dom.tr);var Ce,Ie,ve,Ae,be,ye},i.prototype.updateDom=function(Ce){var Ie;this.isVisible()?(this.dom.tr.node=this.parent.childs[this.parent.visibleChilds],this.dom.tr.parentNode||(Ie=this.parent._getNextTr())&&Ie.parentNode.insertBefore(this.dom.tr,Ie),this.dom.moreText.nodeValue=this._getShowMoreText(),this.dom.moreContents.style.marginLeft=24*(this.getLevel()+1)+"px"):this.dom.tr&&this.dom.tr.parentNode&&this.dom.tr.parentNode.removeChild(this.dom.tr)},i.prototype._getShowMoreText=function(){return(0,xe.Iu)("showMoreStatus",{visibleChilds:this.parent.visibleChilds,totalChilds:this.parent.childs.length})+" "},i.prototype.isVisible=function(){return this.parent.expanded&&this.parent.childs.length>this.parent.visibleChilds},i.prototype.onEvent=function(Ce){"keydown"===Ce.type&&this.onKeyDown(Ce)};var Fe=i;function i(Ce,Ie){this.editor=Ce,this.parent=Ie,this.dom={}}function B(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}var He=function(){function e(Ce){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");function o(Ie){return Ce.node.findNodeByInternalPath(Ie)}this.editor=Ce,this.history=[],this.index=-1,this.clear(),this.actions={editField:{undo:function(Ce){o(Ce.parentPath).childs[Ce.index].updateField(Ce.oldValue)},redo:function(Ce){o(Ce.parentPath).childs[Ce.index].updateField(Ce.newValue)}},editValue:{undo:function(Ce){o(Ce.path).updateValue(Ce.oldValue)},redo:function(Ce){o(Ce.path).updateValue(Ce.newValue)}},changeType:{undo:function(Ce){o(Ce.path).changeType(Ce.oldType)},redo:function(Ce){o(Ce.path).changeType(Ce.newType)}},appendNodes:{undo:function(Ce){var Ie=o(Ce.parentPath);Ce.paths.map(o).forEach((function(Ce){Ie.removeChild(Ce)}))},redo:function(Ce){var Ie=o(Ce.parentPath);Ce.nodes.forEach((function(Ce){Ie.appendChild(Ce)}))}},insertBeforeNodes:{undo:function(Ce){var Ie=o(Ce.parentPath);Ce.paths.map(o).forEach((function(Ce){Ie.removeChild(Ce)}))},redo:function(Ce){var Ie=o(Ce.parentPath),ve=o(Ce.beforePath);Ce.nodes.forEach((function(Ce){Ie.insertBefore(Ce,ve)}))}},insertAfterNodes:{undo:function(Ce){var Ie=o(Ce.parentPath);Ce.paths.map(o).forEach((function(Ce){Ie.removeChild(Ce)}))},redo:function(Ce){var Ie=o(Ce.parentPath),ve=o(Ce.afterPath);Ce.nodes.forEach((function(Ce){Ie.insertAfter(Ce,ve),ve=Ce}))}},removeNodes:{undo:function(Ce){var Ie=o(Ce.parentPath),ve=Ie.childs[Ce.index]||Ie.append;Ce.nodes.forEach((function(Ce){Ie.insertBefore(Ce,ve)}))},redo:function(Ce){var Ie=o(Ce.parentPath);Ce.paths.map(o).forEach((function(Ce){Ie.removeChild(Ce)}))}},duplicateNodes:{undo:function(Ce){var Ie=o(Ce.parentPath);Ce.clonePaths.map(o).forEach((function(Ce){Ie.removeChild(Ce)}))},redo:function(Ce){var Ie=o(Ce.parentPath),ve=o(Ce.afterPath);Ce.paths.map(o).forEach((function(Ce){var Ae,be=Ce.clone();"object"===Ie.type&&(Ae=Ie.getFieldNames(),be.field=(0,$e.findUniqueName)(Ce.field,Ae)),Ie.insertAfter(be,ve),ve=be}))}},moveNodes:{undo:function(Ce){var Ie=o(Ce.oldParentPath),ve=o(Ce.newParentPath),Ae=Ie.childs[Ce.oldIndex]||Ie.append;ve.childs.slice(Ce.newIndex,Ce.newIndex+Ce.count).forEach((function(ve,be){ve.field=Ce.fieldNames[be],Ie.moveBefore(ve,Ae)})),null===Ce.newParentPathRedo&&(Ce.newParentPathRedo=ve.getInternalPath())},redo:function(Ce){var Ie=o(Ce.oldParentPathRedo),ve=o(Ce.newParentPathRedo),Ae=ve.childs[Ce.newIndexRedo]||ve.append;Ie.childs.slice(Ce.oldIndexRedo,Ce.oldIndexRedo+Ce.count).forEach((function(Ie,be){Ie.field=Ce.fieldNames[be],ve.moveBefore(Ie,Ae)}))}},sort:{undo:function(Ce){var Ie=o(Ce.path);Ie.hideChilds(),Ie.childs=Ce.oldChilds,Ie.updateDom({updateIndexes:!0}),Ie.showChilds()},redo:function(Ce){var Ie=o(Ce.path);Ie.hideChilds(),Ie.childs=Ce.newChilds,Ie.updateDom({updateIndexes:!0}),Ie.showChilds()}},transform:{undo:function(Ce){o(Ce.path).setInternalValue(Ce.oldValue)},redo:function(Ce){o(Ce.path).setInternalValue(Ce.newValue)}}}}var Ce,Ie,ve;return Ce=e,(Ie=[{key:"onChange",value:function(){}},{key:"add",value:function(Ce,Ie){this.index++,this.history[this.index]={action:Ce,params:Ie,timestamp:new Date},this.index<this.history.length-1&&this.history.splice(this.index+1,this.history.length-this.index-1),this.onChange()}},{key:"clear",value:function(){this.history=[],this.index=-1,this.onChange()}},{key:"canUndo",value:function(){return 0<=this.index}},{key:"canRedo",value:function(){return this.index<this.history.length-1}},{key:"undo",value:function(){if(this.canUndo()){var Ce=this.history[this.index];if(Ce){var Ie=this.actions[Ce.action];if(Ie&&Ie.undo){if(Ie.undo(Ce.params),Ce.params.oldSelection)try{this.editor.setDomSelection(Ce.params.oldSelection)}catch(Ce){Ae.error(Ce)}}else Ae.error(new Error('unknown action "'+Ce.action+'"'))}this.index--,this.onChange()}}},{key:"redo",value:function(){if(this.canRedo()){this.index++;var Ce=this.history[this.index];if(Ce){var Ie=this.actions[Ce.action];if(Ie&&Ie.redo){if(Ie.redo(Ce.params),Ce.params.newSelection)try{this.editor.setDomSelection(Ce.params.newSelection)}catch(Ce){Ae.error(Ce)}}else Ae.error(new Error('unknown action "'+Ce.action+'"'))}this.onChange()}}},{key:"destroy",value:function(){this.editor=null,this.history=[],this.index=-1}}])&&B(Ce.prototype,Ie),ve&&B(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),e}();function N(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}var Ve=function(){function r(Ce,Ie){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");var ve=this,Ae=(this.editor=Ce,this.timeout=void 0,this.delay=200,this.lastText=void 0,this.results=null,this.dom={},this.dom.container=Ie,Ce=document.createElement("div"),(this.dom.wrapper=Ce).className="jsoneditor-search",Ie.appendChild(Ce),Ie=document.createElement("div"),(this.dom.results=Ie).className="jsoneditor-results",Ce.appendChild(Ie),Ie=document.createElement("div"),((this.dom.input=Ie).className="jsoneditor-frame",Ie.title=(0,xe.Iu)("searchTitle"),Ce.appendChild(Ie),Ce=document.createElement("button")).type="button",Ce.className="jsoneditor-refresh",Ie.appendChild(Ce),document.createElement("input"));((Ae.type="text",(this.dom.search=Ae).oninput=function(Ce){ve._onDelayedSearch(Ce)},Ae.onchange=function(Ce){ve._onSearch()},Ae.onkeydown=function(Ce){ve._onKeyDown(Ce)},Ae.onkeyup=function(Ce){ve._onKeyUp(Ce)},Ce.onclick=function(Ce){Ae.select()},Ie.appendChild(Ae),Ce=document.createElement("button")).type="button",Ce.title=(0,xe.Iu)("searchNextResultTitle"),Ce.className="jsoneditor-next",Ce.onclick=function(){ve.next()},Ie.appendChild(Ce),Ce=document.createElement("button")).type="button",Ce.title=(0,xe.Iu)("searchPreviousResultTitle"),Ce.className="jsoneditor-previous",Ce.onclick=function(){ve.previous()},Ie.appendChild(Ce)}var Ce,Ie,ve;return Ce=r,(Ie=[{key:"next",value:function(Ce){var Ie;this.results&&((Ie=null!==this.resultIndex?this.resultIndex+1:0)>this.results.length-1&&(Ie=0),this._setActiveResult(Ie,Ce))}},{key:"previous",value:function(Ce){var Ie,ve;this.results&&(Ie=this.results.length-1,ve=null!==this.resultIndex?this.resultIndex-1:Ie,this._setActiveResult(ve=ve<0?Ie:ve,Ce))}},{key:"_setActiveResult",value:function(Ce,Ie){var ve;if(this.activeResult&&(ve=this.activeResult.node,"field"===this.activeResult.elem?delete ve.searchFieldActive:delete ve.searchValueActive,ve.updateDom()),!this.results||!this.results[Ce])return this.resultIndex=void 0,void(this.activeResult=void 0);this.resultIndex=Ce;var Ae=this.results[this.resultIndex].node,be=this.results[this.resultIndex].elem;"field"===be?Ae.searchFieldActive=!0:Ae.searchValueActive=!0,this.activeResult=this.results[this.resultIndex],Ae.updateDom(),Ae.scrollTo((function(){Ie&&Ae.focus(be)}))}},{key:"_clearDelay",value:function(){void 0!==this.timeout&&(clearTimeout(this.timeout),delete this.timeout)}},{key:"_onDelayedSearch",value:function(Ce){this._clearDelay();var Ie=this;this.timeout=setTimeout((function(Ce){Ie._onSearch()}),this.delay)}},{key:"_onSearch",value:function(Ce){var Ie;if(this._clearDelay(),(Ie=0<(Ie=this.dom.search.value).length?Ie:void 0)!==this.lastText||Ce){this.lastText=Ie,this.results=this.editor.search(Ie),Ce=this.results[0]?this.results[0].node.MAX_SEARCH_RESULTS:1/0;var ve=0;if(this.activeResult)for(var Ae=0;Ae<this.results.length;Ae++)if(this.results[Ae].node===this.activeResult.node){ve=Ae;break}this._setActiveResult(ve,!1),void 0!==Ie?(Ie=this.results.length,this.dom.results.textContent=0===Ie?"no results":1===Ie?"1 result":Ce<Ie?Ce+"+ results":Ie+" results"):this.dom.results.textContent=""}}},{key:"_onKeyDown",value:function(Ce){var Ie=Ce.which;27===Ie?(this.dom.search.value="",this._onSearch(),Ce.preventDefault(),Ce.stopPropagation()):13===Ie&&(Ce.ctrlKey?this._onSearch(!0):Ce.shiftKey?this.previous():this.next(),Ce.preventDefault(),Ce.stopPropagation())}},{key:"_onKeyUp",value:function(Ce){var Ie=Ce.keyCode;27!==Ie&&13!==Ie&&this._onDelayedSearch(Ce)}},{key:"clear",value:function(){this.dom.search.value="",this._onSearch()}},{key:"forceSearch",value:function(){this._onSearch(!0)}},{key:"isEmpty",value:function(){return""===this.dom.search.value}},{key:"destroy",value:function(){this.editor=null,this.dom.container.removeChild(this.dom.wrapper),this.dom=null,this.results=null,this.activeResult=null,this._clearDelay()}}])&&N(Ce.prototype,Ie),ve&&N(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),r}();function P(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}var Ze=function(){function i(Ce,Ie){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");Ce&&(this.root=Ie,this.path=document.createElement("div"),this.path.className="jsoneditor-treepath",this.path.setAttribute("tabindex",0),this.contentMenuClicked=!1,Ce.appendChild(this.path),this.reset())}var Ce,Ie,ve;return Ce=i,(Ie=[{key:"reset",value:function(){this.path.textContent=(0,xe.Iu)("selectNode")}},{key:"setPath",value:function(Ce){var Ie=this;this.path.textContent="",Ce&&Ce.length&&Ce.forEach((function(ve,Ae){var be,we=document.createElement("span");we.className="jsoneditor-treepath-element",we.innerText=ve.name,we.onclick=function(Ce){this.selectionCallback&&this.selectionCallback(Ce)}.bind(Ie,ve),Ie.path.appendChild(we),ve.children.length&&((be=document.createElement("span")).className="jsoneditor-treepath-seperator",be.textContent="►",be.onclick=function(){Ie.contentMenuClicked=!0;var we=[];ve.children.forEach((function(be){we.push({text:be.name,className:"jsoneditor-type-modes"+(Ce[Ae+1]+1&&Ce[Ae+1].name===be.name?" jsoneditor-selected":""),click:function(Ce,Ie){this.contextMenuCallback&&this.contextMenuCallback(Ce,Ie)}.bind(Ie,ve,be.name)})})),new ye.x(we,{limitHeight:!0}).show(be,Ie.root,!0)},Ie.path.appendChild(be)),Ae===Ce.length-1&&(we=(be||we).getBoundingClientRect().right,Ie.path.offsetWidth<we&&(Ie.path.scrollLeft=we),Ie.path.scrollLeft&&((we=document.createElement("span")).className="jsoneditor-treepath-show-all-btn",we.title="show all path",we.textContent="...",we.onclick=function(Ce){(Ie.contentMenuClicked=!1,$e.addClassName)(Ie.path,"show-all"),Ie.path.style.width=Ie.path.parentNode.getBoundingClientRect().width-10+"px",Ie.path.onblur=function(){if(Ie.contentMenuClicked)return Ie.contentMenuClicked=!1,void Ie.path.focus();(0,$e.removeClassName)(Ie.path,"show-all"),Ie.path.onblur=void 0,Ie.path.style.width="",Ie.setPath(Ce)}}.bind(Ie,Ce),Ie.path.insertBefore(we,Ie.path.firstChild)))}))}},{key:"onSectionSelected",value:function(Ce){"function"==typeof Ce&&(this.selectionCallback=Ce)}},{key:"onContextMenuItemSelected",value:function(Ce){"function"==typeof Ce&&(this.contextMenuCallback=Ce)}}])&&P(Ce.prototype,Ie),ve&&P(Ce,ve),Object.defineProperty(Ce,"prototype",{writable:!1}),i}(),Me=(Ie=ve(8037),ve.n(Ie)),Oe=((ve={}).create=function(Ce,Ie){if(!Ce)throw new Error("No container element provided.");function g(Ce){var Ie,ve;document.createRange?((Ie=document.createRange()).selectNodeContents(Ce),Ie.collapse(!1),(ve=window.getSelection()).removeAllRanges(),ve.addRange(Ie)):document.selection&&((Ie=document.body.createTextRange()).moveToElementText(Ce),Ie.collapse(!1),Ie.select())}function p(Ce){return void 0===Ae&&((Ae=document.createElement("span")).style.visibility="hidden",Ae.style.position="fixed",Ae.style.outline="0",Ae.style.margin="0",Ae.style.padding="0",Ae.style.border="0",Ae.style.left="0",Ae.style.whiteSpace="pre",Ae.style.fontSize=we,Ae.style.fontFamily=xe,Ae.style.fontWeight="normal",document.body.appendChild(Ae)),Ae.textContent=Ce,Ae.getBoundingClientRect().right}function m(){this.style.backgroundColor="#ddd"}function f(){this.style.backgroundColor=""}function C(){Be.hide(),Be.onmouseselection(this.__hint,Be.rs)}var ve,Ae,ye,we,xe,ke,Ee,Re,_e,$e,Le,Be,We,Ne,Ge,Pe;this.container=Ce,this.dom={},this.highlighter=new Se,this.selection=void 0,this.multiselection={nodes:[]},this.validateSchema=null,this.validationSequence=0,this.errorNodes=[],this.lastSchemaErrors=void 0,this.node=null,this.focusTarget=null,this._setOptions(Ie),Ie.autocomplete&&(this.autocomplete=((ve=(ve=Ie.autocomplete)||{}).filter=ve.filter||"start",ve.trigger=ve.trigger||"keydown",ve.confirmKeys=ve.confirmKeys||[39,35,9],ve.caseSensitive=ve.caseSensitive||!1,xe=we="",(ke=document.createElement("div")).style.position="relative",ke.style.outline="0",ke.style.border="0",ke.style.margin="0",ke.style.padding="0",(Ee=document.createElement("div")).className="autocomplete dropdown",Ee.style.position="absolute",Ee.style.visibility="hidden",Re=Ee,_e=[],Le=-1,Ne=Be={rs:We={onArrowDown:function(){},onArrowUp:function(){},onEnter:function(){},onTab:function(){},startFrom:$e=0,options:[],element:null,elementHint:null,elementStyle:null,wrapper:ke,show:function(Ce,Ie,ve){var Ae=this;this.startFrom=Ie,this.wrapper.remove(),this.elementHint&&(this.elementHint.remove(),this.elementHint=null),""===we&&(we=window.getComputedStyle(Ce).getPropertyValue("font-size")),""===xe&&(xe=window.getComputedStyle(Ce).getPropertyValue("font-family")),Ee.style.marginLeft="0",Ee.style.marginTop=Ce.getBoundingClientRect().height+"px",this.options=ve.map(String),this.element!==Ce&&(this.element=Ce,this.elementStyle={zIndex:this.element.style.zIndex,position:this.element.style.position,backgroundColor:this.element.style.backgroundColor,borderColor:this.element.style.borderColor}),this.element.style.zIndex=3,this.element.style.position="relative",this.element.style.backgroundColor="transparent",this.element.style.borderColor="transparent",this.elementHint=Ce.cloneNode(),this.elementHint.className="autocomplete hint",this.elementHint.style.zIndex=2,this.elementHint.style.position="absolute",this.elementHint.onfocus=function(){Ae.element.focus()},this.element.addEventListener&&(this.element.removeEventListener("keydown",Ge),this.element.addEventListener("keydown",Ge,!1),this.element.removeEventListener("blur",Pe),this.element.addEventListener("blur",Pe,!1)),ke.appendChild(this.elementHint),ke.appendChild(Ee),Ce.parentElement.appendChild(ke),this.repaint(Ce)},setText:function(Ce){this.element.innerText=Ce},getText:function(){return this.element.innerText},hideDropDown:function(){this.wrapper.remove(),this.elementHint&&(this.elementHint.remove(),this.elementHint=null,Ne.hide(),this.element.style.zIndex=this.elementStyle.zIndex,this.element.style.position=this.elementStyle.position,this.element.style.backgroundColor=this.elementStyle.backgroundColor,this.element.style.borderColor=this.elementStyle.borderColor)},repaint:function(Ce){Ce=(Ce=Ce.innerText).replace("\n","");var Ie=this.options.length,Ae=Ce.substring(this.startFrom);ye=Ce.substring(0,this.startFrom);for(var be=0;be<Ie;be++){var we=this.options[be];if(!ve.caseSensitive&&0===we.toLowerCase().indexOf(Ae.toLowerCase())||ve.caseSensitive&&0===we.indexOf(Ae)){this.elementHint.innerText=ye+Ae+we.substring(Ae.length),this.elementHint.realInnerText=ye+we;break}}Ee.style.left=p(ye)+"px",Ne.refresh(Ae,this.options),this.elementHint.style.width=p(this.elementHint.innerText)+10+"px","hidden"===Ee.style.visibility||(this.elementHint.style.width=p(this.elementHint.innerText)+Ee.clientWidth+"px")}},hide:function(){Re.style.visibility="hidden"},refresh:function(Ce,Ie){Re.style.visibility="hidden",$e=0,Re.textContent="";var Ae=window.innerHeight||document.documentElement.clientHeight,ye=(Se=Re.parentNode.getBoundingClientRect()).top-6,we=(Ae=Ae-Se.bottom-6,_e=[],"function"==typeof ve.filter?ve.filter:be[ve.filter]),Se=we?Ie.filter((function(Ie){return we(ve.caseSensitive?Ce:Ce.toLowerCase(),ve.caseSensitive?Ie:Ie.toLowerCase(),ve)})):[];0!==(_e=Se.map((function(Ie){var ve=document.createElement("div"),Ae=(ve.className="item",ve.onmouseover=m,ve.onmouseout=f,ve.onmousedown=C,ve.__hint=Ie,ve.textContent="",ve.appendChild(document.createTextNode(Ie.substring(0,Ce.length))),document.createElement("b"));return Ae.appendChild(document.createTextNode(Ie.substring(Ce.length))),ve.appendChild(Ae),Re.appendChild(ve),ve}))).length&&(1===_e.length&&(Ce.toLowerCase()===_e[0].__hint.toLowerCase()&&!ve.caseSensitive||Ce===_e[0].__hint&&ve.caseSensitive)||_e.length<2||(Be.highlight(0),3*Ae<ye?(Re.style.maxHeight=ye+"px",Re.style.top="",Re.style.bottom="100%"):(Re.style.top="100%",Re.style.bottom="",Re.style.maxHeight=Ae+"px"),Re.style.visibility="visible"))},highlight:function(Ce){-1!==Le&&_e[Le]&&(_e[Le].className="item"),_e[Ce].className="item hover",Le=Ce},move:function(Ce){return"hidden"===Re.style.visibility?"":($e+Ce===-1||$e+Ce===_e.length||($e+=Ce,Be.highlight($e)),_e[$e].__hint)},onmouseselection:function(){}},Ge=function(Ce){var Ie=(Ce=Ce||window.event).keyCode;if(null!=this.elementHint&&33!==Ie&&34!==Ie){if(27===Ie)return We.hideDropDown(),We.element.focus(),Ce.preventDefault(),void Ce.stopPropagation();var Ae,be,we=(we=this.element.innerText).replace("\n","");if(0<=ve.confirmKeys.indexOf(Ie))return 9===Ie&&0===this.elementHint.innerText.length&&We.onTab(),void(0<this.elementHint.innerText.length&&this.element.innerText!==this.elementHint.realInnerText&&(this.element.innerText=this.elementHint.realInnerText,We.hideDropDown(),g(this.element),9===Ie&&(We.element.focus(),Ce.preventDefault(),Ce.stopPropagation())));if(13!==Ie){if(40===Ie)return Ae=we.substring(this.startFrom),""===(be=Ne.move(1))&&We.onArrowDown(),this.elementHint.innerText=ye+Ae+be.substring(Ae.length),this.elementHint.realInnerText=ye+be,Ce.preventDefault(),void Ce.stopPropagation();38===Ie&&(Ae=we.substring(this.startFrom),""===(be=Ne.move(-1))&&We.onArrowUp(),this.elementHint.innerText=ye+Ae+be.substring(Ae.length),this.elementHint.realInnerText=ye+be,Ce.preventDefault(),Ce.stopPropagation())}else if(0===this.elementHint.innerText.length)We.onEnter();else{if(Ie="hidden"===Ee.style.visibility,Ne.hide(),Ie)return We.hideDropDown(),We.element.focus(),void We.onEnter();this.element.innerText=this.elementHint.realInnerText,We.hideDropDown(),g(this.element),Ce.preventDefault(),Ce.stopPropagation()}}}.bind(We),Pe=function(Ce){We.hideDropDown()},Ne.onmouseselection=function(Ce,Ie){Ie.element.innerText=Ie.elementHint.innerText=ye+Ce,Ie.hideDropDown(),window.setTimeout((function(){Ie.element.focus(),g(Ie.element)}),1)},We)),this.options.history&&"view"!==this.options.mode&&(this.history=new He(this)),this._createFrame(),this._createTable()},ve.destroy=function(){this.frame&&this.container&&this.frame.parentNode===this.container&&(this.container.removeChild(this.frame),this.frame=null),this.container=null,this.dom=null,this.clear(),this.node=null,this.focusTarget=null,this.selection=null,this.multiselection=null,this.errorNodes=null,this.validateSchema=null,this._debouncedValidate=null,this.history&&(this.history.destroy(),this.history=null),this.searchBox&&(this.searchBox.destroy(),this.searchBox=null),this.modeSwitcher&&(this.modeSwitcher.destroy(),this.modeSwitcher=null),this.frameFocusTracker.destroy()},ve._setOptions=function(Ce){var Ie=this;this.options={search:!0,history:!0,mode:"tree",name:void 0,schema:null,schemaRefs:null,autocomplete:null,navigationBar:!0,mainMenuBar:!0,limitDragging:!1,onSelectionChange:null,colorPicker:!0,onColorPicker:function(Ce,Ie,ve){var be;Me()?(be=Ce.getBoundingClientRect().top,be=(0,$e.getWindow)(Ce).innerHeight-be<300&&300<be,new(Me())({parent:Ce,color:Ie,popup:be?"top":"bottom",onDone:function(Ce){Ce=1===Ce.rgba[3]?Ce.hex.substr(0,7):Ce.hex,ve(Ce)}}).show()):Ae.warn("Cannot open color picker: the `vanilla-picker` library is not included in the bundle. Either use the full bundle or implement your own color picker using `onColorPicker`.")},timestampTag:!0,timestampFormat:null,createQuery:ke.r,executeQuery:ke.J,onEvent:null,enableSort:!0,enableTransform:!0},Ce&&(Object.keys(Ce).forEach((function(ve){Ie.options[ve]=Ce[ve]})),null==Ce.limitDragging&&null!=Ce.schema&&(this.options.limitDragging=!0)),this.setSchema(this.options.schema,this.options.schemaRefs),this._debouncedValidate=(0,$e.debounce)(this._validateAndCatch.bind(this),this.DEBOUNCE_INTERVAL),Ce.onSelectionChange&&this.onSelectionChange(Ce.onSelectionChange),(0,xe.cC)(this.options.languages),(0,xe.m0)(this.options.language)},ve.set=function(Ce){Ce instanceof Function||void 0===Ce?this.clear():(this.content.removeChild(this.table),Ce={field:this.options.name,value:Ce},Ce=new Ne(this,Ce),this._setRoot(Ce),this._validateAndCatch(),this.node.expand(!1),this.content.appendChild(this.table)),this.history&&this.history.clear(),this.searchBox&&this.searchBox.clear()},ve.update=function(Ce){var Ie,ve;this.node.deepEqual(Ce)||(Ie=this.getSelection(),this.onChangeDisabled=!0,this.node.update(Ce),this.onChangeDisabled=!1,this._validateAndCatch(),this.searchBox&&!this.searchBox.isEmpty()&&this.searchBox.forceSearch(),Ie&&Ie.start&&Ie.end?(Ce=this.node.findNodeByPath(Ie.start.path),ve=this.node.findNodeByPath(Ie.end.path),Ce&&ve?this.setSelection(Ie.start,Ie.end):this.setSelection({},{})):this.setSelection({},{}))},ve.get=function(){if(this.node)return this.node.getValue()},ve.getText=function(){return JSON.stringify(this.get())},ve.setText=function(Ce){try{this.set((0,$e.parse)(Ce))}catch(Ie){Ce=(0,$e.tryJsonRepair)(Ce),this.set((0,$e.parse)(Ce))}},ve.updateText=function(Ce){try{this.update((0,$e.parse)(Ce))}catch(Ie){Ce=(0,$e.tryJsonRepair)(Ce),this.update((0,$e.parse)(Ce))}},ve.setName=function(Ce){this.options.name=Ce,this.node&&this.node.updateField(this.options.name)},ve.getName=function(){return this.options.name},ve.focus=function(){var Ce=this.scrollableContent.querySelector("[contenteditable=true]");Ce?Ce.focus():this.node.dom.expand?this.node.dom.expand.focus():this.node.dom.menu?this.node.dom.menu.focus():(Ce=this.frame.querySelector("button"))&&Ce.focus()},ve.clear=function(){this.node&&(this.node.hide(),delete this.node),this.treePath&&this.treePath.reset()},ve._setRoot=function(Ce){this.clear(),(this.node=Ce).setParent(null),Ce.setField(this.getName(),!1),delete Ce.index,this.tbody.appendChild(Ce.getDom())},ve.search=function(Ce){var Ie;return this.node?(this.content.removeChild(this.table),Ie=this.node.search(Ce),this.content.appendChild(this.table)):Ie=[],Ie},ve.expandAll=function(){this.node&&(this.content.removeChild(this.table),this.node.expand(),this.content.appendChild(this.table))},ve.collapseAll=function(){this.node&&(this.content.removeChild(this.table),this.node.collapse(),this.content.appendChild(this.table))},ve._onAction=function(Ce,Ie){this.history&&this.history.add(Ce,Ie),this._onChange()},ve._onChange=function(){if(!this.onChangeDisabled){var Ce;if(this.selection=this.getDomSelection(),this._debouncedValidate(),this.treePath&&((Ce=this.node&&this.selection?this.node.findNodeByInternalPath(this.selection.path):this.multiselection?this.multiselection.nodes[0]:void 0)?this._updateTreePath(Ce.getNodePath()):this.treePath.reset()),this.options.onChange)try{this.options.onChange()}catch(Ce){Ae.error("Error in onChange callback: ",Ce)}if(this.options.onChangeJSON)try{this.options.onChangeJSON(this.get())}catch(Ce){Ae.error("Error in onChangeJSON callback: ",Ce)}if(this.options.onChangeText)try{this.options.onChangeText(this.getText())}catch(Ce){Ae.error("Error in onChangeText callback: ",Ce)}if(this.options.onClassName&&this.node.recursivelyUpdateCssClassesOnNodes(),this.options.onNodeName&&this.node.childs)try{this.node.recursivelyUpdateNodeName()}catch(Ce){Ae.error("Error in onNodeName callback: ",Ce)}}},ve.validate=function(){var Ce=this,Ie=this.node;if(Ie){var ve=Ie.getValue(),Ae=[];this.validateSchema&&(this.validateSchema(ve)||(Ae=this.validateSchema.errors.map((function(Ce){return(0,$e.improveSchemaError)(Ce)})).map((function(Ce){return{node:Ie.findNode(Ce.dataPath),error:Ce,type:"validation"}})).filter((function(Ce){return null!=Ce.node}))));try{this.validationSequence++;var be=this,ye=this.validationSequence;return this._validateCustom(ve).then((function(Ie){return ye===be.validationSequence&&(Ie=[].concat(Ae,Ie||[]),be._renderValidationErrors(Ie),"function"==typeof Ce.options.onValidationError&&(0,$e.isValidationErrorChanged)(Ie,Ce.lastSchemaErrors)&&Ce.options.onValidationError.call(Ce,Ie),Ce.lastSchemaErrors=Ie),Ce.lastSchemaErrors}))}catch(ve){return Promise.reject(ve)}}},ve._validateAndCatch=function(){this.validate().catch((function(Ce){Ae.error("Error running validation:",Ce)}))},ve._renderValidationErrors=function(Ce){this.errorNodes&&this.errorNodes.forEach((function(Ce){Ce.setError(null)}));var Ie=Ce.reduce((function(Ce,Ie){return Ie.node.findParents().filter((function(Ie){return!Ce.some((function(Ce){return Ce[0]===Ie}))})).map((function(Ce){return[Ce,Ie.node]})).concat(Ce)}),[]);this.errorNodes=Ie.map((function(Ce){return{node:Ce[0],child:Ce[1],error:{message:"object"===Ce[0].type?(0,xe.Iu)("containsInvalidProperties"):(0,xe.Iu)("containsInvalidItems")}}})).concat(Ce).map((function(Ce){return Ce.node.setError(Ce.error,Ce.child),Ce.node}))},ve._validateCustom=function(Ce){try{var Ie,ve;if(this.options.onValidate)return Ie=this.node,ve=this.options.onValidate(Ce),((0,$e.isPromise)(ve)?ve:Promise.resolve(ve)).then((function(Ce){return Array.isArray(Ce)?Ce.filter((function(Ce){var Ie=(0,$e.isValidValidationError)(Ce);return Ie||Ae.warn('Ignoring a custom validation error with invalid structure. Expected structure: {path: [...], message: "..."}. Actual error:',Ce),Ie})).map((function(Ce){var ve;try{ve=Ce&&Ce.path?Ie.findNodeByPath(Ce.path):null}catch(Ce){}return ve||Ae.warn("Ignoring validation error: node not found. Path:",Ce.path,"Error:",Ce),{node:ve,error:Ce,type:"customValidation"}})).filter((function(Ce){return Ce&&Ce.node&&Ce.error&&Ce.error.message})):null}))}catch(Ce){return Promise.reject(Ce)}return Promise.resolve(null)},ve.refresh=function(){this.node&&this.node.updateDom({recurse:!0})},ve.startAutoScroll=function(Ce){var Ie=this,ve=this.scrollableContent,Ae=(0,$e.getAbsoluteTop)(ve),be=ve.clientHeight,ye=Ae+be;Ce<Ae+24&&0<ve.scrollTop?this.autoScrollStep=(Ae+24-Ce)/3:ye-24<Ce&&be+ve.scrollTop<ve.scrollHeight?this.autoScrollStep=(ye-24-Ce)/3:this.autoScrollStep=void 0,this.autoScrollStep?this.autoScrollTimer||(this.autoScrollTimer=setInterval((function(){Ie.autoScrollStep?ve.scrollTop-=Ie.autoScrollStep:Ie.stopAutoScroll()}),50)):this.stopAutoScroll()},ve.stopAutoScroll=function(){this.autoScrollTimer&&(clearTimeout(this.autoScrollTimer),delete this.autoScrollTimer),this.autoScrollStep&&delete this.autoScrollStep},ve.setDomSelection=function(Ce){var Ie,ve,Ae;Ce&&("scrollTop"in Ce&&this.scrollableContent&&(this.scrollableContent.scrollTop=Ce.scrollTop),Ce.paths?(Ie=this,ve=Ce.paths.map((function(Ce){return Ie.node.findNodeByInternalPath(Ce)})),this.select(ve)):(Ae=(ve=Ce.path?this.node.findNodeByInternalPath(Ce.path):null)&&Ce.domName?ve.dom[Ce.domName]:null,Ce.range&&Ae?(Ce=Object.assign({},Ce.range,{container:Ae}),(0,$e.setSelectionOffset)(Ce)):ve&&ve.focus()))},ve.getDomSelection=function(){var Ce=Ne.getNodeFromTarget(this.focusTarget),Ie=this.focusTarget,ve=Ce?Object.keys(Ce.dom).find((function(ve){return Ce.dom[ve]===Ie})):null,Ae=(0,$e.getSelectionOffset)();return(Ae=(Ae=Ae&&"DIV"!==Ae.container.nodeName?null:Ae)&&Ae.container!==Ie?null:Ae)&&delete Ae.container,{path:Ce?Ce.getInternalPath():null,domName:ve,range:Ae,paths:0<this.multiselection.length?this.multiselection.nodes.map((function(Ce){return Ce.getInternalPath()})):null,scrollTop:this.scrollableContent?this.scrollableContent.scrollTop:0}},ve.scrollTo=function(Ce,Ie){var ve,Ae,be,ye,we=this.scrollableContent;we?((ve=this).animateTimeout&&(clearTimeout(ve.animateTimeout),delete ve.animateTimeout),ve.animateCallback&&(ve.animateCallback(!1),delete ve.animateCallback),Ae=we.clientHeight,be=we.scrollHeight-Ae,ye=Math.min(Math.max(Ce-Ae/4,0),be),function e(){var Ce=we.scrollTop;Ce=ye-Ce,3<Math.abs(Ce)?(we.scrollTop+=Ce/3,ve.animateCallback=Ie,ve.animateTimeout=setTimeout(e,50)):(Ie&&Ie(!0),we.scrollTop=ye,delete ve.animateTimeout,delete ve.animateCallback)}()):Ie&&Ie(!1)},ve._createFrame=function(){this.frame=document.createElement("div"),this.frame.className="jsoneditor jsoneditor-mode-"+this.options.mode,this.container.appendChild(this.frame),this.contentOuter=document.createElement("div"),this.contentOuter.className="jsoneditor-outer";var Ce=this;function i(Ie){Ce._onEvent&&Ce._onEvent(Ie)}var Ie,ve,Ae,be={target:this.frame,onFocus:this.options.onFocus||null,onBlur:this.options.onBlur||null};this.frameFocusTracker=new we.R(be),this.frame.onclick=function(Ce){var Ie=Ce.target;i(Ce),"BUTTON"===Ie.nodeName&&Ce.preventDefault()},this.frame.oninput=i,this.frame.onchange=i,this.frame.onkeydown=i,this.frame.onkeyup=i,this.frame.oncut=i,this.frame.onpaste=i,this.frame.onmousedown=i,this.frame.onmouseup=i,this.frame.onmouseover=i,this.frame.onmouseout=i,(0,$e.addEventListener)(this.frame,"focus",i,!0),(0,$e.addEventListener)(this.frame,"blur",i,!0),this.frame.onfocusin=i,this.frame.onfocusout=i,this.options.mainMenuBar&&((0,$e.addClassName)(this.contentOuter,"has-main-menu-bar"),this.menu=document.createElement("div"),this.menu.className="jsoneditor-menu",this.frame.appendChild(this.menu),(be=document.createElement("button")).type="button",be.className="jsoneditor-expand-all",be.title=(0,xe.Iu)("expandAll"),be.onclick=function(){Ce.expandAll()},this.menu.appendChild(be),(be=document.createElement("button")).type="button",be.title=(0,xe.Iu)("collapseAll"),be.className="jsoneditor-collapse-all",be.onclick=function(){Ce.collapseAll()},this.menu.appendChild(be),this.options.enableSort&&((be=document.createElement("button")).type="button",be.className="jsoneditor-sort",be.title=(0,xe.Iu)("sortTitleShort"),be.onclick=function(){Ce.node.showSortModal()},this.menu.appendChild(be)),this.options.enableTransform&&((be=document.createElement("button")).type="button",be.title=(0,xe.Iu)("transformTitleShort"),be.className="jsoneditor-transform",be.onclick=function(){Ce.node.showTransformModal()},this.menu.appendChild(be)),this.history&&((Ie=document.createElement("button")).type="button",Ie.className="jsoneditor-undo jsoneditor-separator",Ie.title=(0,xe.Iu)("undo"),Ie.onclick=function(){Ce._onUndo()},this.menu.appendChild(Ie),this.dom.undo=Ie,(ve=document.createElement("button")).type="button",ve.className="jsoneditor-redo",ve.title=(0,xe.Iu)("redo"),ve.onclick=function(){Ce._onRedo()},this.menu.appendChild(ve),this.dom.redo=ve,this.history.onChange=function(){Ie.disabled=!Ce.history.canUndo(),ve.disabled=!Ce.history.canRedo()},this.history.onChange()),this.options&&this.options.modes&&this.options.modes.length&&((Ae=this).modeSwitcher=new Ee.x(this.menu,this.options.modes,this.options.mode,(function(Ce){try{Ae.setMode(Ce),Ae.modeSwitcher.focus()}catch(Ce){Ae._onError(Ce)}}))),this.options.search&&(this.searchBox=new Ve(this,this.menu))),this.options.navigationBar&&(this.navBar=document.createElement("div"),this.navBar.className="jsoneditor-navigation-bar nav-bar-empty",this.frame.appendChild(this.navBar),this.treePath=new Ze(this.navBar,this.getPopupAnchor()),this.treePath.onSectionSelected(this._onTreePathSectionSelected.bind(this)),this.treePath.onContextMenuItemSelected(this._onTreePathMenuItemSelected.bind(this)))},ve._onUndo=function(){this.history&&(this.history.undo(),this._onChange())},ve._onRedo=function(){this.history&&(this.history.redo(),this._onChange())},ve._onEvent=function(Ce){if(!Ne.targetIsColorPicker(Ce.target)){var Ie,ve=Ne.getNodeFromTarget(Ce.target);if("keydown"===Ce.type&&this._onKeyDown(Ce),ve&&"focus"===Ce.type&&(this.focusTarget=Ce.target,this.options.autocomplete&&"focus"===this.options.autocomplete.trigger&&this._showAutoComplete(Ce.target)),"mousedown"===Ce.type&&this._startDragDistance(Ce),"mousemove"!==Ce.type&&"mouseup"!==Ce.type&&"click"!==Ce.type||this._updateDragDistance(Ce),ve&&this.options&&this.options.navigationBar&&ve&&("keydown"===Ce.type||"mousedown"===Ce.type)&&(Ie=this,setTimeout((function(){Ie._updateTreePath(ve.getNodePath())}))),ve&&ve.selected){if("click"===Ce.type){if(Ce.target===ve.dom.menu)return void this.showContextMenu(Ce.target);Ce.hasMoved||this.deselect()}"mousedown"===Ce.type&&Ne.onDragStart(this.multiselection.nodes,Ce)}else"mousedown"===Ce.type&&(0,$e.hasParentNode)(Ce.target,this.content)&&(this.deselect(),ve&&Ce.target===ve.dom.drag?Ne.onDragStart(ve,Ce):ve&&(Ce.target===ve.dom.field||Ce.target===ve.dom.value||Ce.target===ve.dom.select)||this._onMultiSelectStart(Ce));ve&&ve.onEvent(Ce)}},ve._updateTreePath=function(Ce){var Ie;function n(Ce){return Ce.parent?"array"===Ce.parent.type?Ce.index:Ce.field:Ce.field||Ce.type}Ce&&Ce.length?((0,$e.removeClassName)(this.navBar,"nav-bar-empty"),Ie=[],Ce.forEach((function(Ce){var ve={name:n(Ce),node:Ce,children:[]};Ce.childs&&Ce.childs.length&&Ce.childs.forEach((function(Ce){ve.children.push({name:n(Ce),node:Ce})})),Ie.push(ve)})),this.treePath.setPath(Ie)):(0,$e.addClassName)(this.navBar,"nav-bar-empty")},ve._onTreePathSectionSelected=function(Ce){Ce&&Ce.node&&(Ce.node.expandTo(),Ce.node.focus())},ve._onTreePathMenuItemSelected=function(Ce,Ie){Ce&&Ce.children.length&&(Ce=Ce.children.find((function(Ce){return Ce.name===Ie})))&&Ce.node&&(this._updateTreePath(Ce.node.getNodePath()),Ce.node.expandTo(),Ce.node.focus())},ve._startDragDistance=function(Ce){this.dragDistanceEvent={initialTarget:Ce.target,initialPageX:Ce.pageX,initialPageY:Ce.pageY,dragDistance:0,hasMoved:!1}},ve._updateDragDistance=function(Ce){this.dragDistanceEvent||this._startDragDistance(Ce);var Ie=Ce.pageX-this.dragDistanceEvent.initialPageX,ve=Ce.pageY-this.dragDistanceEvent.initialPageY;return this.dragDistanceEvent.dragDistance=Math.sqrt(Ie*Ie+ve*ve),this.dragDistanceEvent.hasMoved=this.dragDistanceEvent.hasMoved||10<this.dragDistanceEvent.dragDistance,Ce.dragDistance=this.dragDistanceEvent.dragDistance,Ce.hasMoved=this.dragDistanceEvent.hasMoved,Ce.dragDistance},ve._onMultiSelectStart=function(Ce){var Ie,ve=Ne.getNodeFromTarget(Ce.target);"tree"===this.options.mode&&void 0===this.options.onEditable&&(this.multiselection={start:ve||null,end:null,nodes:[]},this._startDragDistance(Ce),(Ie=this).mousemove||(this.mousemove=(0,$e.addEventListener)(Ce.view,"mousemove",(function(Ce){Ie._onMultiSelect(Ce)}))),this.mouseup||(this.mouseup=(0,$e.addEventListener)(Ce.view,"mouseup",(function(Ce){Ie._onMultiSelectEnd(Ce)}))),Ce.preventDefault())},ve._onMultiSelect=function(Ce){var Ie;Ce.preventDefault(),this._updateDragDistance(Ce),Ce.hasMoved&&((Ce=Ne.getNodeFromTarget(Ce.target))&&(null==this.multiselection.start&&(this.multiselection.start=Ce),this.multiselection.end=Ce),this.deselect(),Ce=this.multiselection.start,Ie=this.multiselection.end||this.multiselection.start,Ce&&Ie&&(this.multiselection.nodes=this._findTopLevelNodes(Ce,Ie),this.multiselection.nodes&&this.multiselection.nodes.length&&(Ce=this.multiselection.nodes[0],this.multiselection.start===Ce||this.multiselection.start.isDescendantOf(Ce)?this.multiselection.direction="down":this.multiselection.direction="up"),this.select(this.multiselection.nodes)))},ve._onMultiSelectEnd=function(Ce){var Ie=this.multiselection.nodes[0];Ie&&Ie.dom.menu&&Ie.dom.menu.focus(),this.multiselection.start=null,this.multiselection.end=null,this.mousemove&&((0,$e.removeEventListener)(Ce.view,"mousemove",this.mousemove),delete this.mousemove),this.mouseup&&((0,$e.removeEventListener)(Ce.view,"mouseup",this.mouseup),delete this.mouseup)},ve.deselect=function(Ce){var Ie=!!this.multiselection.nodes.length;this.multiselection.nodes.forEach((function(Ce){Ce.setSelected(!1)})),this.multiselection.nodes=[],Ce&&(this.multiselection.start=null,this.multiselection.end=null),Ie&&this._selectionChangedHandler&&this._selectionChangedHandler()},ve.select=function(Ce){if(!Array.isArray(Ce))return this.select([Ce]);var Ie;Ce&&(this.deselect(),this.multiselection.nodes=Ce.slice(0),Ie=Ce[0],Ce.forEach((function(Ce){Ce.expandPathToNode(),Ce.setSelected(!0,Ce===Ie)})),this._selectionChangedHandler&&(Ce=this.getSelection(),this._selectionChangedHandler(Ce.start,Ce.end)))},ve._findTopLevelNodes=function(Ce,Ie){for(var ve=Ce.getNodePath(),Ae=Ie.getNodePath(),be=0;be<ve.length&&ve[be]===Ae[be];)be++;Ce=ve[be-1],Ie=ve[be];var ye,we=Ae[be];return Ie&&we||(Ce.parent?Ce=(we=Ie=Ce).parent:(Ie=Ce.childs[0],we=Ce.childs[Ce.childs.length-1])),Ce&&Ie&&we?(Ie=Ce.childs.indexOf(Ie),we=Ce.childs.indexOf(we),ye=Math.min(Ie,we),Ie=Math.max(Ie,we),Ce.childs.slice(ye,Ie+1)):[]},ve._showAutoComplete=function(Ce){var Ie,ve=Ne.getNodeFromTarget(Ce),be="";0<=Ce.className.indexOf("jsoneditor-value")&&(be="value"),""!==(be=0<=Ce.className.indexOf("jsoneditor-field")?"field":be)&&(Ie=this,setTimeout((function(){var ye;ve&&("focus"===Ie.options.autocomplete.trigger||0<Ce.innerText.length)&&null!==(ye=Ie.options.autocomplete.getOptions(Ce.innerText,ve.getPath(),be,ve.editor))?"function"==typeof ye.then?ye.then((function(ve){null===ve?Ie.autocomplete.hideDropDown():ve.options?Ie.autocomplete.show(Ce,ve.startFrom,ve.options):Ie.autocomplete.show(Ce,0,ve)})).catch((function(Ce){Ae.error(Ce)})):ye.options?Ie.autocomplete.show(Ce,ye.startFrom,ye.options):Ie.autocomplete.show(Ce,0,ye):Ie.autocomplete.hideDropDown()}),50))},ve._onKeyDown=function(Ce){var Ie,ve=Ce.which||Ce.keyCode,Ae=Ce.altKey,be=Ce.ctrlKey,ye=Ce.metaKey,we=Ce.shiftKey,Se=!1,xe=this.focusTarget;9===ve&&(Ie=this,setTimeout((function(){Ie.focusTarget!==xe&&(0,$e.selectContentEditable)(Ie.focusTarget)}),0)),this.searchBox&&(be&&70===ve?(this.searchBox.dom.search.focus(),this.searchBox.dom.search.select(),Se=!0):(114===ve||be&&71===ve)&&(we?this.searchBox.previous(!0):this.searchBox.next(!0),Se=!0)),this.history&&(be&&!we&&90===ve?(this._onUndo(),Se=!0):be&&we&&90===ve&&(this._onRedo(),Se=!0)),this.options.autocomplete&&!Se&&(be||Ae||ye||1!==Ce.key.length&&8!==ve&&46!==ve||(Se=!1,this._showAutoComplete(Ce.target))),Se&&(Ce.preventDefault(),Ce.stopPropagation())},ve._createTable=function(){var Ce;this.options.navigationBar&&(0,$e.addClassName)(this.contentOuter,"has-nav-bar"),this.scrollableContent=document.createElement("div"),this.scrollableContent.className="jsoneditor-tree",this.contentOuter.appendChild(this.scrollableContent),this.content=document.createElement("div"),this.content.className="jsoneditor-tree-inner",this.scrollableContent.appendChild(this.content),this.table=document.createElement("table"),this.table.className="jsoneditor-tree",this.content.appendChild(this.table),this.colgroupContent=document.createElement("colgroup"),"tree"===this.options.mode&&((Ce=document.createElement("col")).width="24px",this.colgroupContent.appendChild(Ce)),(Ce=document.createElement("col")).width="24px",this.colgroupContent.appendChild(Ce),Ce=document.createElement("col"),this.colgroupContent.appendChild(Ce),this.table.appendChild(this.colgroupContent),this.tbody=document.createElement("tbody"),this.table.appendChild(this.tbody),this.frame.appendChild(this.contentOuter)},ve.showContextMenu=function(Ce,Ie){var ve,Ae=[],be=this.multiselection.nodes.slice();Ae.push({text:(0,xe.Iu)("duplicateText"),title:(0,xe.Iu)("duplicateTitle"),className:"jsoneditor-duplicate",click:function(){Ne.onDuplicate(be)}}),Ae.push({text:(0,xe.Iu)("remove"),title:(0,xe.Iu)("removeTitle"),className:"jsoneditor-remove",click:function(){Ne.onRemove(be)}}),this.options.onCreateMenu&&(ve=be.map((function(Ce){return Ce.getPath()})),Ae=this.options.onCreateMenu(Ae,{type:"multiple",path:ve[0],paths:ve})),new ye.x(Ae,{close:Ie}).show(Ce,this.getPopupAnchor())},ve.getPopupAnchor=function(){return this.options.popupAnchor||this.frame},ve.getSelection=function(){var Ce,Ie,ve={start:null,end:null};return this.multiselection.nodes&&this.multiselection.nodes.length&&this.multiselection.nodes.length&&(Ce=this.multiselection.nodes[0],Ie=this.multiselection.nodes[this.multiselection.nodes.length-1],"down"===this.multiselection.direction?(ve.start=Ce.serialize(),ve.end=Ie.serialize()):(ve.start=Ie.serialize(),ve.end=Ce.serialize())),ve},ve.onSelectionChange=function(Ce){"function"==typeof Ce&&(this._selectionChangedHandler=(0,$e.debounce)(Ce,this.DEBOUNCE_INTERVAL))},ve.setSelection=function(Ce,Ie){Ce&&Ce.dom&&Ce.range&&(Ae.warn("setSelection/getSelection usage for text selection is deprecated and should not be used, see documentation for supported selection options"),this.setDomSelection(Ce)),(Ce=this._getNodeInstancesByRange(Ce,Ie)).forEach((function(Ce){Ce.expandTo()})),this.select(Ce)},ve._getNodeInstancesByRange=function(Ce,Ie){Ce&&Ce.path&&(ve=this.node.findNodeByPath(Ce.path),Ie&&Ie.path&&(Ae=this.node.findNodeByPath(Ie.path)));var ve,Ae,be=[];if(ve instanceof Ne)if(Ae instanceof Ne&&Ae!==ve)if(ve.parent===Ae.parent){Ie=ve.getIndex()<Ae.getIndex()?(Ce=ve,Ae):(Ce=Ae,ve);var ye=Ce;for(be.push(ye);ye=ye.nextSibling(),be.push(ye),ye&&ye!==Ie;);}else be=this._findTopLevelNodes(ve,Ae);else be.push(ve);return be},ve.getNodesByRange=function(Ce,Ie){Ce=this._getNodeInstancesByRange(Ce,Ie);var ve=[];return Ce.forEach((function(Ce){ve.push(Ce.serialize())})),ve},[{mode:"tree",mixin:ve,data:"json"},{mode:"view",mixin:ve,data:"json"},{mode:"form",mixin:ve,data:"json"}])},2744:function(Ce,Ie,ve){Ie.tryRequireAjv=function(){try{return ve(8903)}catch(Ce){}}},9125:function(Ce,Ie,ve){Ie.O=function(){try{ve(4864)}catch(Ce){Ae.error(Ce)}}},9791:function(Ce,Ie,ve){"use strict";ve.r(Ie),ve.d(Ie,{parse:function(){return C},tryJsonRepair:function(){return I},escapeUnicodeChars:function(){return v},validate:function(){return A},extend:function(){return b},clear:function(){return y},getType:function(){return w},isUrl:function(){return x},isArray:function(){return k},getWindow:function(){return E},getAbsoluteLeft:function(){return R},getAbsoluteTop:function(){return T},addClassName:function(){return _},removeAllClassNames:function(){return $},removeClassName:function(){return L},stripFormatting:function(){return B},setEndOfContentEditable:function(){return W},selectContentEditable:function(){return N},getSelection:function(){return G},setSelection:function(){return P},getSelectionOffset:function(){return F},setSelectionOffset:function(){return H},getInnerText:function(){return c},removeReturnsAndSurroundingWhitespace:function(){return V},hasParentNode:function(){return Z},getInternetExplorerVersion:function(){return M},isFirefox:function(){return o},addEventListener:function(){return O},removeEventListener:function(){return D},isChildOf:function(){return K},parsePath:function(){return s},stringifyPath:function(){return j},improveSchemaError:function(){return z},isPromise:function(){return X},isValidValidationError:function(){return J},insideRect:function(){return Y},debounce:function(){return U},textDiff:function(){return Q},getInputSelection:function(){return q},getIndexForPosition:function(){return ee},getPositionForPath:function(){return te},compileJSONPointer:function(){return ie},getColorCSS:function(){return ne},isValidColor:function(){return re},makeFieldTooltip:function(){return oe},get:function(){return a},findUniqueName:function(){return se},getChildPaths:function(){return ae},sort:function(){return le},sortObjectKeys:function(){return ce},parseString:function(){return he},isTimestamp:function(){return de},formatSize:function(){return ue},limitCharacters:function(){return ge},isObject:function(){return l},contains:function(){return pe},isValidationErrorChanged:function(){return me}}),ve(4987),Ie=ve(233);var Ae=ve.n(Ie),be=(Ie=ve(3860),ve.n(Ie)),ye=ve(6589),we=ve(7026),Se=ve(7907);function r(Ce){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Ce){return typeof Ce}:function(Ce){return Ce&&"function"==typeof Symbol&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce})(Ce)}var xe=1e4,ke=9466848e5;function C(Ce){try{return JSON.parse(Ce)}catch(Ie){throw A(Ce),Ie}}function I(Ce){try{return be()(Ce)}catch(Ie){return Ce}}function v(Ce){return Ce.replace(/[\u007F-\uFFFF]/g,(function(Ce){return"\\u"+("0000"+Ce.charCodeAt(0).toString(16)).slice(-4)}))}function A(Ce){(void 0!==ye?ye:JSON).parse(Ce)}function b(Ce,Ie){for(var ve in Ie)fe(Ie,ve)&&(Ce[ve]=Ie[ve]);return Ce}function y(Ce){for(var Ie in Ce)fe(Ce,Ie)&&delete Ce[Ie];return Ce}function w(Ce){return null===Ce?"null":void 0===Ce?"undefined":Ce instanceof Number||"number"==typeof Ce?"number":Ce instanceof String||"string"==typeof Ce?"string":Ce instanceof Boolean||"boolean"==typeof Ce?"boolean":Ce instanceof RegExp?"regexp":k(Ce)?"array":"object"}var Ee=/^https?:\/\/\S+$/;function x(Ce){return("string"==typeof Ce||Ce instanceof String)&&Ee.test(Ce)}function k(Ce){return"[object Array]"===Object.prototype.toString.call(Ce)}function E(Ce){return Ce.ownerDocument.defaultView}function R(Ce){return Ce.getBoundingClientRect().left+window.pageXOffset||document.scrollLeft||0}function T(Ce){return Ce.getBoundingClientRect().top+window.pageYOffset||document.scrollTop||0}function _(Ce,Ie){var ve=Ce.className.split(" ");-1===ve.indexOf(Ie)&&(ve.push(Ie),Ce.className=ve.join(" "))}function $(Ce){Ce.className=""}function L(Ce,Ie){var ve=Ce.className.split(" ");-1!==(Ie=ve.indexOf(Ie))&&(ve.splice(Ie,1),Ce.className=ve.join(" "))}function B(Ce){for(var Ie=Ce.childNodes,ve=0,Ae=Ie.length;ve<Ae;ve++){var be=Ie[ve],ye=(be.style&&be.removeAttribute("style"),be.attributes);if(ye)for(var we=ye.length-1;0<=we;we--){var Se=ye[we];!0===Se.specified&&be.removeAttribute(Se.name)}B(be)}}function W(Ce){var Ie;document.createRange&&((Ie=document.createRange()).selectNodeContents(Ce),Ie.collapse(!1),(Ce=window.getSelection()).removeAllRanges(),Ce.addRange(Ie))}function N(Ce){var Ie;Ce&&"DIV"===Ce.nodeName&&window.getSelection&&document.createRange&&((Ie=document.createRange()).selectNodeContents(Ce),(Ce=window.getSelection()).removeAllRanges(),Ce.addRange(Ie))}function G(){if(window.getSelection){var Ce=window.getSelection();if(Ce.getRangeAt&&Ce.rangeCount)return Ce.getRangeAt(0)}return null}function P(Ce){var Ie;Ce&&window.getSelection&&((Ie=window.getSelection()).removeAllRanges(),Ie.addRange(Ce))}function F(){var Ce=G();return Ce&&"startOffset"in Ce&&"endOffset"in Ce&&Ce.startContainer&&Ce.startContainer===Ce.endContainer?{startOffset:Ce.startOffset,endOffset:Ce.endOffset,container:Ce.startContainer.parentNode}:null}function H(Ce){var Ie;document.createRange&&window.getSelection&&window.getSelection()&&(Ie=document.createRange(),Ce.container.firstChild||Ce.container.appendChild(document.createTextNode("")),Ie.setStart(Ce.container.firstChild,Ce.startOffset),Ie.setEnd(Ce.container.firstChild,Ce.endOffset),P(Ie))}function c(Ce,Ie){var ve;if(void 0===Ie&&(Ie={_text:"",flush:function(){var Ce=this._text;return this._text="",Ce},set:function(Ce){this._text=Ce}}),Ce.nodeValue)return""!==(ve=V(Ce.nodeValue))?Ie.flush()+ve:"";if(Ce.hasChildNodes()){for(var Ae=Ce.childNodes,be="",ye=0,we=Ae.length;ye<we;ye++){var Se,xe=Ae[ye];"DIV"===xe.nodeName||"P"===xe.nodeName?((Se=(Se=Ae[ye-1])?Se.nodeName:void 0)&&"DIV"!==Se&&"P"!==Se&&"BR"!==Se&&(""!==be&&(be+="\n"),Ie.flush()),be+=c(xe,Ie),Ie.set("\n")):"BR"===xe.nodeName?(be+=Ie.flush(),Ie.set("\n")):be+=c(xe,Ie)}return be}return""}function V(Ce){return Ce.replace(/(\b|^)\s*(\b|$)/g,(function(Ce){return/\n/.exec(Ce)?"":Ce}))}function Z(Ce,Ie){for(var ve=Ce?Ce.parentNode:void 0;ve;){if(ve===Ie)return!0;ve=ve.parentNode}return!1}function M(){var Ce;return-1===Re&&(Ce=-1,"undefined"!=typeof navigator&&"Microsoft Internet Explorer"===navigator.appName&&null!=/MSIE ([0-9]+[.0-9]+)/.exec(navigator.userAgent)&&(Ce=parseFloat(RegExp.$1)),Re=Ce),Re}var Re=-1;function o(){return"undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("Firefox")}function O(Ce,Ie,ve,Ae){return Ce.addEventListener?(void 0===Ae&&(Ae=!1),"mousewheel"===Ie&&o()&&(Ie="DOMMouseScroll"),Ce.addEventListener(Ie,ve,Ae),ve):Ce.attachEvent?(Ce.attachEvent("on"+Ie,Ae=function(){return ve.call(Ce,window.event)}),Ae):void 0}function D(Ce,Ie,ve,Ae){Ce.removeEventListener?(void 0===Ae&&(Ae=!1),"mousewheel"===Ie&&o()&&(Ie="DOMMouseScroll"),Ce.removeEventListener(Ie,ve,Ae)):Ce.detachEvent&&Ce.detachEvent("on"+Ie,ve)}function K(Ce,Ie){for(var ve=Ce.parentNode;ve;){if(ve===Ie)return!0;ve=ve.parentNode}return!1}function s(Ce){var Ie=[],ve=0;function t(Ie){for(var Ae="";void 0!==Ce[ve]&&Ce[ve]!==Ie;)Ae+=Ce[ve],ve++;if(Ce[ve]!==Ie)throw new Error("Invalid JSON path: unexpected end, character "+Ie+" expected");return Ae}for(;void 0!==Ce[ve];)if("."===Ce[ve])ve++,Ie.push(function(){for(var Ie="";void 0!==Ce[ve]&&/[\w$]/.test(Ce[ve]);)Ie+=Ce[ve],ve++;if(""===Ie)throw new Error("Invalid JSON path: property name expected at index "+ve);return Ie}());else{if("["!==Ce[ve])throw new Error('Invalid JSON path: unexpected character "'+Ce[ve]+'" at index '+ve);if("'"===Ce[++ve]||'"'===Ce[ve]){var Ae=Ce[ve];if(ve++,Ie.push(t(Ae)),Ce[ve]!==Ae)throw new Error("Invalid JSON path: closing quote ' expected at index "+ve);ve++}else{if(0===(Ae=t("]").trim()).length)throw new Error("Invalid JSON path: array value expected at index "+ve);Ae="*"===Ae?Ae:JSON.parse(Ae),Ie.push(Ae)}if("]"!==Ce[ve])throw new Error("Invalid JSON path: closing bracket ] expected at index "+ve);ve++}return Ie}function j(Ce){return Ce.map((function(Ce){return"number"==typeof Ce?"["+Ce+"]":"string"==typeof Ce&&Ce.match(/^[A-Za-z0-9_$]+$/)?"."+Ce:'["'+Ce+'"]'})).join("")}function z(Ce){var Ie,ve;return"enum"!==Ce.keyword||!Array.isArray(Ce.schema)||(ve=Ce.schema)&&(5<(ve=ve.map((function(Ce){return JSON.stringify(Ce)}))).length&&(Ie=["("+(ve.length-5)+" more...)"],(ve=ve.slice(0,5)).push(Ie)),Ce.message="should be equal to one of: "+ve.join(", ")),"additionalProperties"===Ce.keyword&&(Ce.message="should NOT have additional property: "+Ce.params.additionalProperty),Ce}function X(Ce){return Ce&&"function"==typeof Ce.then&&"function"==typeof Ce.catch}function J(Ce){return"object"===r(Ce)&&Array.isArray(Ce.path)&&"string"==typeof Ce.message}function Y(Ce,Ie,ve){return ve=void 0!==ve?ve:0,Ie.left-ve>=Ce.left&&Ie.right+ve<=Ce.right&&Ie.top-ve>=Ce.top&&Ie.bottom+ve<=Ce.bottom}function U(Ce,Ie,ve){var Ae;return function(){var be=this,ye=arguments,we=ve&&!Ae;clearTimeout(Ae),Ae=setTimeout((function(){Ae=null,ve||Ce.apply(be,ye)}),Ie),we&&Ce.apply(be,ye)}}function Q(Ce,Ie){for(var ve=Ie.length,Ae=0,be=Ce.length,ye=Ie.length;Ie.charAt(Ae)===Ce.charAt(Ae)&&Ae<ve;)Ae++;for(;Ie.charAt(ye-1)===Ce.charAt(be-1)&&Ae<ye&&0<be;)ye--,be--;return{start:Ae,end:ye}}function q(Ce){var Ie,ve,Ae,be,ye=0,we=0;return"number"==typeof Ce.selectionStart&&"number"==typeof Ce.selectionEnd?(ye=Ce.selectionStart,we=Ce.selectionEnd):(be=document.selection.createRange())&&be.parentElement()===Ce&&(Ae=Ce.value.length,Ie=Ce.value.replace(/\r\n/g,"\n"),(ve=Ce.createTextRange()).moveToBookmark(be.getBookmark()),(be=Ce.createTextRange()).collapse(!1),-1<ve.compareEndPoints("StartToEnd",be)?ye=we=Ae:(ye=-ve.moveStart("character",-Ae),ye+=Ie.slice(0,ye).split("\n").length-1,-1<ve.compareEndPoints("EndToEnd",be)?we=Ae:(we=-ve.moveEnd("character",-Ae),we+=Ie.slice(0,we).split("\n").length-1))),{startIndex:ye,endIndex:we,start:a(ye),end:a(we)};function a(Ie){return{row:((Ie=Ce.value.substring(0,Ie)).match(/\n/g)||[]).length+1,column:Ie.length-Ie.lastIndexOf("\n")}}}function ee(Ce,Ie,ve){return Ce=Ce.value||"",0<Ie&&0<ve?(Ce=Ce.split("\n",Ie),Ie=Math.min(Ce.length,Ie),ve=Math.min(Ce[Ie-1].length,ve-1),ve=1===Ie?ve:ve+1,Ce.slice(0,Ie-1).join("\n").length+ve):-1}function te(Ce,Ie){var ve,Ae=[];if(!Ie||!Ie.length)return Ae;try{ve=we.parse(Ce)}catch(Ce){return Ae}return Ie.forEach((function(Ce){var Ie=ie(s(Ce));(Ie=ve.pointers[Ie])&&Ae.push({path:Ce,line:Ie.key?Ie.key.line:Ie.value?Ie.value.line:0,column:Ie.key?Ie.key.column:Ie.value?Ie.value.column:0})})),Ae}function ie(Ce){return Ce.map((function(Ce){return"/"+String(Ce).replace(/~/g,"~0").replace(/\//g,"~1")})).join("")}function ne(Ce){var Ie=document.createElement("div");return Ie.style.color=Ce,Ie.style.color.split(/\s+/).join("").toLowerCase()||null}function re(Ce){return!!ne(Ce)}function oe(Ce,Ie){if(!Ce)return"";var ve="";return Ce.title&&(ve+=Ce.title),Ce.description&&(0<ve.length&&(ve+="\n"),ve+=Ce.description),Ce.default&&(0<ve.length&&(ve+="\n\n"),ve=(ve+=(0,Se.Iu)("default",void 0,Ie)+"\n")+JSON.stringify(Ce.default,null,2)),Array.isArray(Ce.examples)&&0<Ce.examples.length&&(0<ve.length&&(ve+="\n\n"),ve+=(0,Se.Iu)("examples",void 0,Ie)+"\n",Ce.examples.forEach((function(Ie,Ae){ve+=JSON.stringify(Ie,null,2),Ae!==Ce.examples.length-1&&(ve+="\n")}))),ve}function a(Ce,Ie){for(var ve=Ce,Ae=0;Ae<Ie.length&&null!=ve;Ae++)ve=ve[Ie[Ae]];return ve}function se(Ce,Ie){for(var ve=Ce.replace(/ \(copy( \d+)?\)$/,""),Ae=ve,be=1;-1!==Ie.indexOf(Ae);)Ae=ve+" (copy"+(1<be?" "+be:"")+")",be++;return Ae}function ae(Ce,Ie){var ve={};if(Array.isArray(Ce))for(var Ae=Math.min(Ce.length,xe),be=0;be<Ae;be++)!function t(Ce,Ie,ve,Ae){(Array.isArray(Ce)||l(Ce))&&!Ae||(Ie[ve||""]=!0),l(Ce)&&Object.keys(Ce).forEach((function(be){t(Ce[be],Ie,ve+"."+be,Ae)}))}(Ce[be],ve,"",Ie);else ve[""]=!0;return Object.keys(ve).sort()}function le(Ce,Ie,ve){var Ae=Ie&&"."!==Ie?s(Ie):[],be="desc"===ve?-1:1;return(Ie=Ce.slice()).sort((function(Ce,Ie){return Ce=a(Ce,Ae),Ie=a(Ie,Ae),be*(Ie<Ce?1:Ce<Ie?-1:0)})),Ie}function ce(Ce,Ie){var ve="desc"===Ie?-1:1,be=(Ie=Object.keys(Ce).sort((function(Ce,Ie){return ve*Ae()(Ce,Ie)})),{});return Ie.forEach((function(Ie){be[Ie]=Ce[Ie]})),be}function he(Ce){if(""===Ce)return"";if("null"===(Ie=Ce.toLowerCase()))return null;if("true"===Ie)return!0;if("false"===Ie)return!1;var Ie=Number(Ce),ve=parseFloat(Ce);return isNaN(Ie)||isNaN(ve)?Ce:Ie}function de(Ce,Ie){return"number"==typeof Ie&&ke<Ie&&isFinite(Ie)&&Math.floor(Ie)===Ie&&!isNaN(new Date(Ie).valueOf())}function ue(Ce){return Ce<900?Ce.toFixed()+" B":(Ce/=1e3)<900?Ce.toFixed(1)+" KB":(Ce/=1e3)<900?Ce.toFixed(1)+" MB":(Ce/=1e3)<900?Ce.toFixed(1)+" GB":(Ce/1e3).toFixed(1)+" TB"}function ge(Ce,Ie){return Ce.length<=Ie?Ce:Ce.slice(0,Ie)+"..."}function l(Ce){return"object"===r(Ce)&&null!==Ce&&!Array.isArray(Ce)}function pe(Ce,Ie){return-1!==Ce.indexOf(Ie)}function me(Ce,Ie){if(!Ie&&!Ce)return!1;if(Ie&&!Ce||!Ie&&Ce)return!0;if(Ie.length!==Ce.length)return!0;for(var ve=0;ve<Ce.length;++ve){var Ae=function(ve){if(!("error"===Ce[ve].type?Ie.find((function(Ie){return Ie.line===Ce[ve].line})):Ie.find((function(Ie){return Ie.dataPath===Ce[ve].dataPath&&Ie.schemaPath===Ce[ve].schemaPath}))))return{v:!0}}(ve);if("object"===r(Ae))return Ae.v}return!1}function fe(Ce,Ie){return Object.prototype.hasOwnProperty.call(Ce,Ie)}},8037:function(Ce,Ie,ve){var Ae;if(window.Picker)Ae=window.Picker;else try{Ae=ve(4049)}catch(Ce){}Ce.exports=Ae},6225:function(Ce,Ie,ve){function l(Ce,Ie){var ve,Ae;return Ie=Ee(Ce,Ie),(Ce=Se.modules[Ie])||("function"==typeof(Ce=Se.payloads[Ie])&&(ve={id:Ie,uri:"",exports:Ae={},packaged:!0},Ae=Ce((function(Ce,ve){return xe(Ie,Ce,ve)}),Ae,ve)||ve.exports,Se.modules[Ie]=Ae,delete Se.payloads[Ie]),Ce=Se.modules[Ie]=Ae||Ce),Ce}var be,ye,we,Se,xe,ke,Ee;Ce=ve.nmd(Ce),(we=function(){return this}())||"undefined"==typeof window||(we=window),(Se=function(Ce,Ie,ve){"string"==typeof Ce?(2==arguments.length&&(ve=Ie),Se.modules[Ce]||(Se.payloads[Ce]=ve,Se.modules[Ce]=null)):Se.original?Se.original.apply(this,arguments):(Ae.error("dropping module because define wasn't a string."),Ae.trace())}).modules={},Se.payloads={},xe=function(Ce,Ie,ve){if("string"==typeof Ie){var Ae=l(Ce,Ie);if(null!=Ae)return ve&&ve(),Ae}else if("[object Array]"===Object.prototype.toString.call(Ie)){for(var be=[],ye=0,we=Ie.length;ye<we;++ye){var Se=l(Ce,Ie[ye]);if(null==Se&&ke.original)return;be.push(Se)}return ve&&ve.apply(null,be)||!0}},ke=function(Ce,Ie){var ve=xe("",Ce,Ie);return null==ve&&ke.original?ke.original.apply(this,arguments):ve},Ee=function(Ce,Ie){var ve;if(-1!==Ie.indexOf("!"))return ve=Ie.split("!"),Ee(Ce,ve[0])+"!"+Ee(Ce,ve[1]);if("."==Ie.charAt(0))for(Ie=Ce.split("/").slice(0,-1).join("/")+"/"+Ie;-1!==Ie.indexOf(".")&&Ae!=Ie;){var Ae=Ie;Ie=Ie.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return Ie},ye=we,(be="ace")&&(we[be]||(we[be]={}),ye=we[be]),ye.define&&ye.define.packaged||(Se.original=ye.define,ye.define=Se,ye.define.packaged=!0),ye.require&&ye.require.packaged||(ke.original=ye.require,ye.require=ke,ye.require.packaged=!0),ace.define("ace/lib/fixoldbrowsers",["require","exports","module"],(function(Ce,Ie,ve){"use strict";"undefined"==typeof Element||Element.prototype.remove||Object.defineProperty(Element.prototype,"remove",{enumerable:!1,writable:!0,configurable:!0,value:function(){this.parentNode&&this.parentNode.removeChild(this)}})})),ace.define("ace/lib/useragent",["require","exports","module"],(function(Ce,Ie,ve){"use strict";Ie.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},Ie.getOS=function(){return Ie.isMac?Ie.OS.MAC:Ie.isLinux?Ie.OS.LINUX:Ie.OS.WINDOWS};var Ae="object"==typeof navigator?navigator:{},be=(/mac|win|linux/i.exec(Ae.platform)||["other"])[0].toLowerCase(),ye=Ae.userAgent||"";Ae=Ae.appName||"",Ie.isWin="win"==be,Ie.isMac="mac"==be,Ie.isLinux="linux"==be,Ie.isIE="Microsoft Internet Explorer"==Ae||0<=Ae.indexOf("MSAppHost")?parseFloat((ye.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((ye.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),Ie.isOldIE=Ie.isIE&&Ie.isIE<9,Ie.isGecko=Ie.isMozilla=ye.match(/ Gecko\/\d+/),Ie.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),Ie.isWebKit=parseFloat(ye.split("WebKit/")[1])||void 0,Ie.isChrome=parseFloat(ye.split(" Chrome/")[1])||void 0,Ie.isEdge=parseFloat(ye.split(" Edge/")[1])||void 0,Ie.isAIR=0<=ye.indexOf("AdobeAIR"),Ie.isAndroid=0<=ye.indexOf("Android"),Ie.isChromeOS=0<=ye.indexOf(" CrOS "),Ie.isIOS=/iPad|iPhone|iPod/.test(ye)&&!window.MSStream,Ie.isIOS&&(Ie.isMac=!0),Ie.isMobile=Ie.isIOS||Ie.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(Ce,Ie,ve){"use strict";Ce=Ce("./useragent");var Ae,be,ye=(Ie.buildDom=function e(Ce,Ie,ve){if("string"==typeof Ce&&Ce)return xe=document.createTextNode(Ce),Ie&&Ie.appendChild(xe),xe;if(!Array.isArray(Ce))return Ce&&Ce.appendChild&&Ie&&Ie.appendChild(Ce),Ce;if("string"!=typeof Ce[0]||!Ce[0]){for(var Ae=[],be=0;be<Ce.length;be++){var ye=e(Ce[be],Ie,ve);ye&&Ae.push(ye)}return Ae}var we=document.createElement(Ce[0]),Se=Ce[1],xe=1;for(be=xe=Se&&"object"==typeof Se&&!Array.isArray(Se)?2:xe;be<Ce.length;be++)e(Ce[be],we,ve);return 2==xe&&Object.keys(Se).forEach((function(Ce){var Ie=Se[Ce];"class"===Ce?we.className=Array.isArray(Ie)?Ie.join(" "):Ie:"function"==typeof Ie||"value"==Ce||"$"==Ce[0]?we[Ce]=Ie:"ref"===Ce?ve&&(ve[Ie]=we):"style"===Ce?"string"==typeof Ie&&(we.style.cssText=Ie):null!=Ie&&we.setAttribute(Ce,Ie)})),Ie&&Ie.appendChild(we),we},Ie.getDocumentHead=function(Ce){return(Ce=Ce||document).head||Ce.getElementsByTagName("head")[0]||Ce.documentElement},Ie.createElement=function(Ce,Ie){return document.createElementNS?document.createElementNS(Ie||"http://www.w3.org/1999/xhtml",Ce):document.createElement(Ce)},Ie.removeChildren=function(Ce){Ce.innerHTML=""},Ie.createTextNode=function(Ce,Ie){return(Ie?Ie.ownerDocument:document).createTextNode(Ce)},Ie.createFragment=function(Ce){return(Ce?Ce.ownerDocument:document).createDocumentFragment()},Ie.hasCssClass=function(Ce,Ie){return-1!==(Ce.className+"").split(/\s+/g).indexOf(Ie)},Ie.addCssClass=function(Ce,ve){Ie.hasCssClass(Ce,ve)||(Ce.className+=" "+ve)},Ie.removeCssClass=function(Ce,Ie){for(var ve=Ce.className.split(/\s+/g);;){var Ae=ve.indexOf(Ie);if(-1==Ae)break;ve.splice(Ae,1)}Ce.className=ve.join(" ")},Ie.toggleCssClass=function(Ce,Ie){for(var ve=Ce.className.split(/\s+/g),Ae=!0;;){var be=ve.indexOf(Ie);if(-1==be)break;Ae=!1,ve.splice(be,1)}return Ae&&ve.push(Ie),Ce.className=ve.join(" "),Ae},Ie.setCssClass=function(Ce,ve,Ae){Ae?Ie.addCssClass(Ce,ve):Ie.removeCssClass(Ce,ve)},Ie.hasCssString=function(Ce,Ie){var ve,Ae=0;if(ve=(Ie=Ie||document).querySelectorAll("style"))for(;Ae<ve.length;)if(ve[Ae++].id===Ce)return!0},[]);function l(){var Ce=ye;ye=null,Ce&&Ce.forEach((function(Ce){n(Ce[0],Ce[1])}))}function n(Ce,ve,be){if("undefined"!=typeof document){if(ye)if(be)l();else if(!1===be)return ye.push([Ce,ve]);if(!Ae){var we=be;if(be=(we=be&&be.getRootNode&&(we=be.getRootNode())&&we!=be?we:document).ownerDocument||we,ve&&Ie.hasCssString(ve,we))return null;ve&&(Ce+="\n/*# sourceURL=ace/css/"+ve+" */");var Se=Ie.createElement("style");Se.appendChild(be.createTextNode(Ce)),ve&&(Se.id=ve),(we=we==be?Ie.getDocumentHead(be):we).insertBefore(Se,we.firstChild)}}}Ie.useStrictCSP=function(Ce){0==(Ae=Ce)?l():ye=ye||[]},Ie.importCssString=n,Ie.importCssStylsheet=function(Ce,ve){Ie.buildDom(["link",{rel:"stylesheet",href:Ce}],Ie.getDocumentHead(ve))},Ie.scrollbarWidth=function(Ce){var ve,Ae=Ie.createElement("ace_inner"),be=(Ae.style.width="100%",Ae.style.minWidth="0px",Ae.style.height="200px",Ae.style.display="block",Ie.createElement("ace_outer")),ye=(((ve=be.style).position="absolute",ve.left="-10000px",ve.overflow="hidden",ve.width="200px",ve.minWidth="0px",ve.height="150px",ve.display="block",be.appendChild(Ae),Ce=Ce.documentElement).appendChild(be),Ae.offsetWidth);return ye==(ve.overflow="scroll",ve=Ae.offsetWidth)&&(ve=be.clientWidth),Ce.removeChild(be),ye-ve},Ie.computedStyle=function(Ce,Ie){return window.getComputedStyle(Ce,"")||{}},Ie.setStyle=function(Ce,Ie,ve){Ce[Ie]!==ve&&(Ce[Ie]=ve)},Ie.HAS_CSS_ANIMATION=!1,Ie.HAS_CSS_TRANSFORMS=!1,Ie.HI_DPI=!Ce.isWin||"undefined"!=typeof window&&1.5<=window.devicePixelRatio,Ce.isChromeOS&&(Ie.HI_DPI=!1),"undefined"!=typeof document&&(be=document.createElement("div"),Ie.HI_DPI&&void 0!==be.style.transform&&(Ie.HAS_CSS_TRANSFORMS=!0),Ce.isEdge||void 0===be.style.animationName||(Ie.HAS_CSS_ANIMATION=!0),be=null),Ie.HAS_CSS_TRANSFORMS?Ie.translate=function(Ce,Ie,ve){Ce.style.transform="translate("+Math.round(Ie)+"px, "+Math.round(ve)+"px)"}:Ie.translate=function(Ce,Ie,ve){Ce.style.top=Math.round(ve)+"px",Ce.style.left=Math.round(Ie)+"px"}})),ace.define("ace/lib/oop",["require","exports","module"],(function(Ce,Ie,ve){"use strict";Ie.inherits=function(Ce,Ie){Ce.super_=Ie,Ce.prototype=Object.create(Ie.prototype,{constructor:{value:Ce,enumerable:!1,writable:!0,configurable:!0}})},Ie.mixin=function(Ce,Ie){for(var ve in Ie)Ce[ve]=Ie[ve];return Ce},Ie.implement=function(Ce,ve){Ie.mixin(Ce,ve)}})),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("./oop"),be=function(){var Ce,Ie,ve={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(Ie in ve.FUNCTION_KEYS)Ce=ve.FUNCTION_KEYS[Ie].toLowerCase(),ve[Ce]=parseInt(Ie,10);for(Ie in ve.PRINTABLE_KEYS)Ce=ve.PRINTABLE_KEYS[Ie].toLowerCase(),ve[Ce]=parseInt(Ie,10);Ae.mixin(ve,ve.MODIFIER_KEYS),Ae.mixin(ve,ve.PRINTABLE_KEYS),Ae.mixin(ve,ve.FUNCTION_KEYS),ve.enter=ve.return,ve.escape=ve.esc,ve.del=ve.delete,ve[173]="-";for(var be=["cmd","ctrl","alt","shift"],ye=Math.pow(2,be.length);ye--;)ve.KEY_MODS[ye]=be.filter((function(Ce){return ye&ve.KEY_MODS[Ce]})).join("-")+"-";return ve.KEY_MODS[0]="",ve.KEY_MODS[-1]="input-",ve}();Ae.mixin(Ie,be),Ie.keyCodeToString=function(Ce){var Ie=be[Ce];return(Ie="string"!=typeof Ie?String.fromCharCode(Ce):Ie).toLowerCase()}})),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(Ce,Ie,ve){"use strict";var Ae,be=Ce("./keys"),ye=Ce("./useragent"),we=null,Se=0;function r(){if(null==Ae){Ae=!1;try{document.createComment("").addEventListener("test",(function(){}),{get passive(){Ae={passive:!1}}})}catch(Ce){}}return Ae}function c(Ce,Ie,ve){this.elem=Ce,this.type=Ie,this.callback=ve}function h(Ce){return(Ce.ctrlKey?1:0)|(Ce.altKey?2:0)|(Ce.shiftKey?4:0)|(Ce.metaKey?8:0)}c.prototype.destroy=function(){Ee(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var xe,ke=Ie.addListener=function(Ce,Ie,ve,Ae){Ce.addEventListener(Ie,ve,r()),Ae&&Ae.$toDestroy.push(new c(Ce,Ie,ve))},Ee=Ie.removeListener=function(Ce,Ie,ve){Ce.removeEventListener(Ie,ve,r())};function m(Ce,Ie,ve){var Ae=h(Ie);if(!ye.isMac&&we){if(Ie.getModifierState&&(Ie.getModifierState("OS")||Ie.getModifierState("Win"))&&(Ae|=8),we.altGr){if(!(3&~Ae))return;we.altGr=0}18!==ve&&17!==ve||(xe="location"in Ie?Ie.location:Ie.keyLocation,17===ve&&1===xe?1==we[ve]&&(Se=Ie.timeStamp):18===ve&&3===Ae&&2===xe&&Ie.timeStamp-Se<50&&(we.altGr=!0))}if(ve in be.MODIFIER_KEYS&&(ve=-1),!Ae&&13===ve){var xe="location"in Ie?Ie.location:Ie.keyLocation;if(3===xe&&(Ce(Ie,Ae,-ve),Ie.defaultPrevented))return}if(ye.isChromeOS&&8&Ae){if(Ce(Ie,Ae,ve),Ie.defaultPrevented)return;Ae&=-9}return!!(Ae||ve in be.FUNCTION_KEYS||ve in be.PRINTABLE_KEYS)&&Ce(Ie,Ae,ve)}function f(){we=Object.create(null)}Ie.stopEvent=function(Ce){return Ie.stopPropagation(Ce),Ie.preventDefault(Ce),!1},Ie.stopPropagation=function(Ce){Ce.stopPropagation&&Ce.stopPropagation()},Ie.preventDefault=function(Ce){Ce.preventDefault&&Ce.preventDefault()},Ie.getButton=function(Ce){return"dblclick"==Ce.type?0:"contextmenu"==Ce.type||ye.isMac&&Ce.ctrlKey&&!Ce.altKey&&!Ce.shiftKey?2:Ce.button},Ie.capture=function(Ce,Ie,ve){var Ae=Ce&&Ce.ownerDocument||document;function r(Ce){Ie&&Ie(Ce),ve&&ve(Ce),Ee(Ae,"mousemove",Ie),Ee(Ae,"mouseup",r),Ee(Ae,"dragstart",r)}return ke(Ae,"mousemove",Ie),ke(Ae,"mouseup",r),ke(Ae,"dragstart",r),r},Ie.addMouseWheelListener=function(Ce,Ie,ve){"onmousewheel"in Ce?ke(Ce,"mousewheel",(function(Ce){void 0!==Ce.wheelDeltaX?(Ce.wheelX=-Ce.wheelDeltaX/8,Ce.wheelY=-Ce.wheelDeltaY/8):(Ce.wheelX=0,Ce.wheelY=-Ce.wheelDelta/8),Ie(Ce)}),ve):"onwheel"in Ce?ke(Ce,"wheel",(function(Ce){switch(Ce.deltaMode){case Ce.DOM_DELTA_PIXEL:Ce.wheelX=.35*Ce.deltaX||0,Ce.wheelY=.35*Ce.deltaY||0;break;case Ce.DOM_DELTA_LINE:case Ce.DOM_DELTA_PAGE:Ce.wheelX=5*(Ce.deltaX||0),Ce.wheelY=5*(Ce.deltaY||0)}Ie(Ce)}),ve):ke(Ce,"DOMMouseScroll",(function(Ce){Ce.axis&&Ce.axis==Ce.HORIZONTAL_AXIS?(Ce.wheelX=5*(Ce.detail||0),Ce.wheelY=0):(Ce.wheelX=0,Ce.wheelY=5*(Ce.detail||0)),Ie(Ce)}),ve)},Ie.addMultiMouseDownListener=function(Ce,ve,Ae,be,we){var Se,xe,Ee,Re=0,_e={2:"dblclick",3:"tripleclick",4:"quadclick"};function h(Ce){var we;if(0!==Ie.getButton(Ce)?Re=0:1<Ce.detail&&!(4<++Re)||(Re=1),ye.isIE&&(we=5<Math.abs(Ce.clientX-Se)||5<Math.abs(Ce.clientY-xe),Ee&&!we||(Re=1),Ee&&clearTimeout(Ee),Ee=setTimeout((function(){Ee=null}),ve[Re-1]||600),1==Re&&(Se=Ce.clientX,xe=Ce.clientY)),Ce._clicks=Re,Ae[be]("mousedown",Ce),4<Re)Re=0;else if(1<Re)return Ae[be](_e[Re],Ce)}(Ce=Array.isArray(Ce)?Ce:[Ce]).forEach((function(Ce){ke(Ce,"mousedown",h,we)}))},Ie.getModifierString=function(Ce){return be.KEY_MODS[h(Ce)]},Ie.addCommandKeyListener=function(Ce,ve,Ae){var be,Se;ye.isOldGecko||ye.isOpera&&!("KeyboardEvent"in window)?(be=null,ke(Ce,"keydown",(function(Ce){be=Ce.keyCode}),Ae),ke(Ce,"keypress",(function(Ce){return m(ve,Ce,be)}),Ae)):(Se=null,ke(Ce,"keydown",(function(Ce){we[Ce.keyCode]=(we[Ce.keyCode]||0)+1;var Ie=m(ve,Ce,Ce.keyCode);return Se=Ce.defaultPrevented,Ie}),Ae),ke(Ce,"keypress",(function(Ce){Se&&(Ce.ctrlKey||Ce.altKey||Ce.shiftKey||Ce.metaKey)&&(Ie.stopEvent(Ce),Se=null)}),Ae),ke(Ce,"keyup",(function(Ce){we[Ce.keyCode]=null}),Ae),we||(f(),ke(window,"focus",f)))},"object"==typeof window&&window.postMessage&&!ye.isOldIE&&(xe=1,Ie.nextTick=function(Ce,ve){function n(be){be.data==Ae&&(Ie.stopPropagation(be),Ee(ve,"message",n),Ce())}ve=ve||window;var Ae="zero-timeout-message-"+xe++;ke(ve,"message",n),ve.postMessage(Ae,"*")}),Ie.$idleBlocked=!1,Ie.onIdle=function(Ce,ve){return setTimeout((function e(){Ie.$idleBlocked?setTimeout(e,100):Ce()}),ve)},Ie.$idleBlockId=null,Ie.blockIdle=function(Ce){Ie.$idleBlockId&&clearTimeout(Ie.$idleBlockId),Ie.$idleBlocked=!0,Ie.$idleBlockId=setTimeout((function(){Ie.$idleBlocked=!1}),Ce||100)},Ie.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),Ie.nextFrame?Ie.nextFrame=Ie.nextFrame.bind(window):Ie.nextFrame=function(Ce){setTimeout(Ce,17)}})),ace.define("ace/range",["require","exports","module"],(function(Ce,Ie,ve){"use strict";function o(Ce,Ie,ve,Ae){this.start={row:Ce,column:Ie},this.end={row:ve,column:Ae}}(function(){this.isEqual=function(Ce){return this.start.row===Ce.start.row&&this.end.row===Ce.end.row&&this.start.column===Ce.start.column&&this.end.column===Ce.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(Ce,Ie){return 0==this.compare(Ce,Ie)},this.compareRange=function(Ce){var Ie=Ce.end;return Ce=Ce.start,1==(Ie=this.compare(Ie.row,Ie.column))?1==(Ie=this.compare(Ce.row,Ce.column))?2:0==Ie?1:0:-1==Ie?-2:-1==(Ie=this.compare(Ce.row,Ce.column))?-1:1==Ie?42:0},this.comparePoint=function(Ce){return this.compare(Ce.row,Ce.column)},this.containsRange=function(Ce){return 0==this.comparePoint(Ce.start)&&0==this.comparePoint(Ce.end)},this.intersects=function(Ce){return-1==(Ce=this.compareRange(Ce))||0==Ce||1==Ce},this.isEnd=function(Ce,Ie){return this.end.row==Ce&&this.end.column==Ie},this.isStart=function(Ce,Ie){return this.start.row==Ce&&this.start.column==Ie},this.setStart=function(Ce,Ie){"object"==typeof Ce?(this.start.column=Ce.column,this.start.row=Ce.row):(this.start.row=Ce,this.start.column=Ie)},this.setEnd=function(Ce,Ie){"object"==typeof Ce?(this.end.column=Ce.column,this.end.row=Ce.row):(this.end.row=Ce,this.end.column=Ie)},this.inside=function(Ce,Ie){return 0==this.compare(Ce,Ie)&&!this.isEnd(Ce,Ie)&&!this.isStart(Ce,Ie)},this.insideStart=function(Ce,Ie){return 0==this.compare(Ce,Ie)&&!this.isEnd(Ce,Ie)},this.insideEnd=function(Ce,Ie){return 0==this.compare(Ce,Ie)&&!this.isStart(Ce,Ie)},this.compare=function(Ce,Ie){return this.isMultiLine()||Ce!==this.start.row?Ce<this.start.row?-1:Ce>this.end.row?1:this.start.row===Ce?Ie>=this.start.column?0:-1:this.end.row!==Ce||Ie<=this.end.column?0:1:Ie<this.start.column?-1:Ie>this.end.column?1:0},this.compareStart=function(Ce,Ie){return this.start.row==Ce&&this.start.column==Ie?-1:this.compare(Ce,Ie)},this.compareEnd=function(Ce,Ie){return this.end.row==Ce&&this.end.column==Ie?1:this.compare(Ce,Ie)},this.compareInside=function(Ce,Ie){return this.end.row==Ce&&this.end.column==Ie?1:this.start.row==Ce&&this.start.column==Ie?-1:this.compare(Ce,Ie)},this.clipRows=function(Ce,Ie){var ve,Ae;return this.end.row>Ie?ve={row:Ie+1,column:0}:this.end.row<Ce&&(ve={row:Ce,column:0}),this.start.row>Ie?Ae={row:Ie+1,column:0}:this.start.row<Ce&&(Ae={row:Ce,column:0}),o.fromPoints(Ae||this.start,ve||this.end)},this.extend=function(Ce,Ie){var ve,Ae,be=this.compare(Ce,Ie);return 0==be?this:(-1==be?ve={row:Ce,column:Ie}:Ae={row:Ce,column:Ie},o.fromPoints(ve||this.start,Ae||this.end))},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return o.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new o(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new o(this.start.row,0,this.end.row,0)},this.toScreenRange=function(Ce){var Ie=Ce.documentToScreenPosition(this.start);return Ce=Ce.documentToScreenPosition(this.end),new o(Ie.row,Ie.column,Ce.row,Ce.column)},this.moveBy=function(Ce,Ie){this.start.row+=Ce,this.start.column+=Ie,this.end.row+=Ce,this.end.column+=Ie}}).call(o.prototype),o.fromPoints=function(Ce,Ie){return new o(Ce.row,Ce.column,Ie.row,Ie.column)},o.comparePoints=function(Ce,Ie){return Ce.row-Ie.row||Ce.column-Ie.column},o.comparePoints=function(Ce,Ie){return Ce.row-Ie.row||Ce.column-Ie.column},Ie.Range=o})),ace.define("ace/lib/lang",["require","exports","module"],(function(Ce,Ie,ve){"use strict";Ie.last=function(Ce){return Ce[Ce.length-1]},Ie.stringReverse=function(Ce){return Ce.split("").reverse().join("")},Ie.stringRepeat=function(Ce,Ie){for(var ve="";0<Ie;)1&Ie&&(ve+=Ce),(Ie>>=1)&&(Ce+=Ce);return ve};var Ae=/^\s\s*/,be=/\s\s*$/;Ie.stringTrimLeft=function(Ce){return Ce.replace(Ae,"")},Ie.stringTrimRight=function(Ce){return Ce.replace(be,"")},Ie.copyObject=function(Ce){var Ie,ve={};for(Ie in Ce)ve[Ie]=Ce[Ie];return ve},Ie.copyArray=function(Ce){for(var Ie=[],ve=0,Ae=Ce.length;ve<Ae;ve++)Ce[ve]&&"object"==typeof Ce[ve]?Ie[ve]=this.copyObject(Ce[ve]):Ie[ve]=Ce[ve];return Ie},Ie.deepCopy=function e(Ce){if("object"!=typeof Ce||!Ce)return Ce;if(Array.isArray(Ce)){for(var Ie=[],ve=0;ve<Ce.length;ve++)Ie[ve]=e(Ce[ve]);return Ie}if("[object Object]"!==Object.prototype.toString.call(Ce))return Ce;for(ve in Ie={},Ce)Ie[ve]=e(Ce[ve]);return Ie},Ie.arrayToMap=function(Ce){for(var Ie={},ve=0;ve<Ce.length;ve++)Ie[Ce[ve]]=1;return Ie},Ie.createMap=function(Ce){var Ie,ve=Object.create(null);for(Ie in Ce)ve[Ie]=Ce[Ie];return ve},Ie.arrayRemove=function(Ce,Ie){for(var ve=0;ve<=Ce.length;ve++)Ie===Ce[ve]&&Ce.splice(ve,1)},Ie.escapeRegExp=function(Ce){return Ce.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},Ie.escapeHTML=function(Ce){return(""+Ce).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},Ie.getMatchOffsets=function(Ce,Ie){var ve=[];return Ce.replace(Ie,(function(Ce){ve.push({offset:arguments[arguments.length-2],length:Ce.length})})),ve},Ie.deferredCall=function(Ce){function t(){Ie=null,Ce()}function i(Ce){return i.cancel(),Ie=setTimeout(t,Ce||0),i}var Ie=null;return(i.schedule=i).call=function(){return this.cancel(),Ce(),i},i.cancel=function(){return clearTimeout(Ie),Ie=null,i},i.isPending=function(){return Ie},i},Ie.delayedCall=function(Ce,Ie){function i(){ve=null,Ce()}function n(Ce){null==ve&&(ve=setTimeout(i,Ce||Ie))}var ve=null;return n.delay=function(Ce){ve&&clearTimeout(ve),ve=setTimeout(i,Ce||Ie)},(n.schedule=n).call=function(){this.cancel(),Ce()},n.cancel=function(){ve&&clearTimeout(ve),ve=null},n.isPending=function(){return ve},n}})),ace.define("ace/clipboard",["require","exports","module"],(function(Ce,Ie,ve){"use strict";var Ae;ve.exports={lineMode:!1,pasteCancelled:function(){return!!(Ae&&Ae>Date.now()-50)||(Ae=!1)},cancel:function(){Ae=Date.now()}}})),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../lib/event"),be=Ce("../lib/useragent"),ye=Ce("../lib/dom"),we=Ce("../lib/lang"),Se=Ce("../clipboard"),xe=be.isChrome<18,ke=be.isIE,Ee=63<be.isChrome,Re=Ce("../lib/keys"),_e=Re.KEY_MODS,$e=be.isIOS,Le=$e?/\s/:/\n/,Be=be.isMobile;Ie.TextInput=function(Ce,Ie){var ve=ye.createElement("textarea"),We=(ve.className="ace_text-input",ve.setAttribute("wrap","off"),ve.setAttribute("autocorrect","off"),ve.setAttribute("autocapitalize","off"),ve.setAttribute("spellcheck",!1),ve.style.opacity="0",Ce.insertBefore(ve,Ce.firstChild),!1),Ne=!1,Ge=!1,Pe=!1,Fe="",He=(Be||(ve.style.fontSize="1px"),!1),Ve=!1,Ze="",Me=0,Oe=0,De=0;try{var Ke=document.activeElement===ve}catch(Ce){}function i(Ce){x(Ce,!0)}function n(Ce){x(Ce,!1)}function r(Ce){var ye=S(Ce);Se.pasteCancelled()||("string"==typeof ye?(ye&&Ie.onPaste(ye,Ce),be.isIE&&setTimeout(je),Ae.preventDefault(Ce)):(ve.value="",Ne=!0))}Ae.addListener(ve,"blur",(function(Ce){Ve||(Ie.onBlur(Ce),Ke=!1)}),Ie),Ae.addListener(ve,"focus",(function(Ce){if(!Ve){if(Ke=!0,be.isEdge)try{if(!document.hasFocus())return}catch(Ce){}Ie.onFocus(Ce),be.isEdge?setTimeout(je):je()}}),Ie),this.$focusScroll=!1,this.focus=function(){if(Fe||Ee||"browser"==this.$focusScroll)return ve.focus({preventScroll:!0});var Ce=ve.style.top;ve.style.position="fixed",ve.style.top="0px";try{var Ie=0!=ve.getBoundingClientRect().top}catch(Ce){return}var Ae=[];if(Ie)for(var be=ve.parentElement;be&&1==be.nodeType;)Ae.push(be),be.setAttribute("ace_nocontext",!0),be=!be.parentElement&&be.getRootNode?be.getRootNode().host:be.parentElement;ve.focus({preventScroll:!0}),Ie&&Ae.forEach((function(Ce){Ce.removeAttribute("ace_nocontext")})),setTimeout((function(){ve.style.position="","0px"==ve.style.top&&(ve.style.top=Ce)}),0)},this.blur=function(){ve.blur()},this.isFocused=function(){return Ke},Ie.on("beforeEndOperation",(function(){var Ce=Ie.curOp,Ae=Ce&&Ce.command&&Ce.command.name;"insertstring"!=Ae&&(Ae=Ae&&(Ce.docChanged||Ce.selectionChanged),Ge&&Ae&&(Ze=ve.value="",E()),je())}));var je=$e?function(Ce){var Ae;!Ke||We&&!Ce||Pe||((Ae="\n ab"+(Ce=Ce||"")+"cde fg\n")!=ve.value&&(ve.value=Ze=Ae),Ae=4+(Ce.length||(Ie.selection.isEmpty()?0:1)),4==Me&&Oe==Ae||ve.setSelectionRange(4,Ae),Me=4,Oe=Ae)}:function(){if(!Ge&&!Pe&&(Ke||Je)){Ge=!0;var Ce,Ae,be=0,ye=0,we="",Se=(Ie.session&&(Se=(Ce=Ie.selection).getRange(),Ce=Ce.cursor.row,be=Se.start.column,ye=Se.end.column,we=Ie.session.getLine(Ce),Se.start.row!=Ce?(Ae=Ie.session.getLine(Ce-1),be=Se.start.row<Ce-1?0:be,ye+=Ae.length+1,we=Ae+"\n"+we):Se.end.row!=Ce?(Ae=Ie.session.getLine(Ce+1),ye=Se.end.row>Ce+1?Ae.length:ye,ye+=we.length+1,we=we+"\n"+Ae):Be&&0<Ce&&(we="\n"+we,ye+=1,be+=1),400<we.length&&(be<400&&ye<400?we=we.slice(0,400):(we="\n",be==ye?be=ye=0:(be=0,ye=1)))),we+"\n\n");if(Se!=Ze&&(ve.value=Ze=Se,Me=Oe=Se.length),Je&&(Me=ve.selectionStart,Oe=ve.selectionEnd),Oe!=ye||Me!=be||ve.selectionEnd!=Oe)try{ve.setSelectionRange(be,ye),Me=be,Oe=ye}catch(Ce){}Ge=!1}},ze=(this.resetSelection=je,Ke&&Ie.onFocus(),function(Ce){return 0===Ce.selectionStart&&Ce.selectionEnd>=Ze.length&&Ce.value===Ze&&Ze&&Ce.selectionEnd!==Oe}),Xe=null,Je=(this.setInputHandler=function(Ce){Xe=Ce},!(this.getInputHandler=function(){return Xe})),y=function(Ce,Ae){if(Je=Je&&!1,Ne)return je(),Ce&&Ie.onPaste(Ce),Ne=!1,"";for(var ye=ve.selectionStart,we=ve.selectionEnd,Se=Me,xe=Ze.length-Oe,ke=Ce,Ee=Ce.length-ye,Re=Ce.length-we,_e=0;0<Se&&Ze[_e]==Ce[_e];)_e++,Se--;for(ke=ke.slice(_e),_e=1;0<xe&&Ze.length-_e>Me-1&&Ze[Ze.length-_e]==Ce[Ce.length-_e];)_e++,xe--;Ee-=_e-1,Re-=_e-1;var $e=ke.length-_e+1;return $e<0&&(Se=-$e,$e=0),ke=ke.slice(0,$e),Ae||ke||Ee||Se||xe||Re?($e=!(Pe=!0),be.isAndroid&&". "==ke&&(ke=" ",$e=!0),ke&&!Se&&!xe&&!Ee&&!Re||He?Ie.onTextInput(ke):Ie.onTextInput(ke,{extendLeft:Se,extendRight:xe,restoreStart:Ee,restoreEnd:Re}),Pe=!1,Ze=Ce,Me=ye,Oe=we,De=Re,$e?"\n":ke):""},w=function(Ce){if(Ge)return Ye();if(Ce&&Ce.inputType){if("historyUndo"==Ce.inputType)return Ie.execCommand("undo");if("historyRedo"==Ce.inputType)return Ie.execCommand("redo")}Ce=ve.value;var Ae=y(Ce,!0);(500<Ce.length||Le.test(Ae)||Be&&Me<1&&Me==Oe)&&je()},S=function(Ce,Ie,ve){var Ae=Ce.clipboardData||window.clipboardData;if(Ae&&!xe){var be=ke||ve?"Text":"text/plain";try{return Ie?!1!==Ae.setData(be,Ie):Ae.getData(be)}catch(Ce){if(!ve)return S(Ce,Ie,!0)}}},x=function(Ce,be){var ye=Ie.getCopyText();if(!ye)return Ae.preventDefault(Ce);S(Ce,ye)?($e&&(je(ye),We=ye,setTimeout((function(){We=!1}),10)),be?Ie.onCut():Ie.onCopy(),Ae.preventDefault(Ce)):(We=!0,ve.value=ye,ve.select(),setTimeout((function(){We=!1,je(),be?Ie.onCut():Ie.onCopy()})))},Ye=(Ae.addCommandKeyListener(ve,Ie.onCommandKey.bind(Ie),Ie),Ae.addListener(ve,"select",(function(Ce){Ge||(We?We=!1:ze(ve)?(Ie.selectAll(),je()):Be&&ve.selectionStart!=Me&&je())}),Ie),Ae.addListener(ve,"input",w,Ie),Ae.addListener(ve,"cut",i,Ie),Ae.addListener(ve,"copy",n,Ie),Ae.addListener(ve,"paste",r,Ie),"oncut"in ve&&"oncopy"in ve&&"onpaste"in ve||Ae.addListener(Ce,"keydown",(function(Ce){if((!be.isMac||Ce.metaKey)&&Ce.ctrlKey)switch(Ce.keyCode){case 67:n(Ce);break;case 86:r(Ce);break;case 88:i(Ce)}}),Ie),function(){var Ce;if(Ge&&Ie.onCompositionUpdate&&!Ie.$readOnly)return He?R():void(Ge.useTextareaForIME?Ie.onCompositionUpdate(ve.value):(Ce=ve.value,y(Ce),Ge.markerRange&&(Ge.context&&(Ge.markerRange.start.column=Ge.selectionStart=Ge.context.compositionStartOffset),Ge.markerRange.end.column=Ge.markerRange.start.column+Oe-Ge.selectionStart+De)))}),E=function(Ce){Ie.onCompositionEnd&&!Ie.$readOnly&&(Ge=!1,Ie.onCompositionEnd(),Ie.off("mousedown",R),Ce&&w())};function R(){Ve=!0,ve.blur(),ve.focus(),Ve=!1}var Ue,Qe=we.delayedCall(Ye,50).schedule.bind(null,null);function $(){clearTimeout(Ue),Ue=setTimeout((function(){Fe&&(ve.style.cssText=Fe,Fe=""),Ie.renderer.$isMousePressed=!1,Ie.renderer.$keepTextAreaAtCursor&&Ie.renderer.$moveTextAreaToCursor()}),0)}function L(Ce){Ie.textInput.onContextMenu(Ce),$()}if(Ae.addListener(ve,"compositionstart",(function(Ce){Ge||!Ie.onCompositionStart||Ie.$readOnly||(Ge={},He||(Ce.data&&(Ge.useTextareaForIME=!1),setTimeout(Ye,0),Ie._signal("compositionStart"),Ie.on("mousedown",R),(Ce=Ie.getSelectionRange()).end.row=Ce.start.row,Ce.end.column=Ce.start.column,Ge.markerRange=Ce,Ge.selectionStart=Me,Ie.onCompositionStart(Ge),Ge.useTextareaForIME?(Ze=ve.value="",Oe=Me=0):(ve.msGetInputContext&&(Ge.context=ve.msGetInputContext()),ve.getInputContext&&(Ge.context=ve.getInputContext()))))}),Ie),Ae.addListener(ve,"compositionupdate",Ye,Ie),Ae.addListener(ve,"keyup",(function(Ce){27==Ce.keyCode&&ve.value.length<ve.selectionStart&&(Ge||(Ze=ve.value),Me=Oe=-1,je()),Qe()}),Ie),Ae.addListener(ve,"keydown",Qe,Ie),Ae.addListener(ve,"compositionend",E,Ie),this.getElement=function(){return ve},this.setCommandMode=function(Ce){He=Ce,ve.readOnly=!1},this.setReadOnly=function(Ce){He||(ve.readOnly=Ce)},this.setCopyWithEmptySelection=function(Ce){},this.onContextMenu=function(Ce){Je=!0,je(),Ie._emit("nativecontextmenu",{target:Ie,domEvent:Ce}),this.moveToMouse(Ce,!0)},this.moveToMouse=function(Ce,we){function i(Ce){ye.translate(ve,Ce.clientX-ke-2,Math.min(Ce.clientY-xe-2,Ee))}Fe=Fe||ve.style.cssText,ve.style.cssText=(we?"z-index:100000;":"")+(be.isIE?"opacity:0.1;":"")+"text-indent: -"+(Me+Oe)*Ie.renderer.characterWidth*.5+"px;",we=Ie.container.getBoundingClientRect();var Se=ye.computedStyle(Ie.container),xe=we.top+(parseInt(Se.borderTopWidth)||0),ke=we.left+(parseInt(we.borderLeftWidth)||0),Ee=we.bottom-xe-ve.clientHeight-2;i(Ce),"mousedown"==Ce.type&&(Ie.renderer.$isMousePressed=!0,clearTimeout(Ue),be.isWin&&Ae.capture(Ie.container,i,$))},this.onContextMenuClose=$,Ae.addListener(ve,"mouseup",L,Ie),Ae.addListener(ve,"mousedown",(function(Ce){Ce.preventDefault(),$()}),Ie),Ae.addListener(Ie.renderer.scroller,"contextmenu",L,Ie),Ae.addListener(ve,"contextmenu",L,Ie),$e){var qe=Ie,et=ve;function N(Ce){var Ie,ve,Ae,be;document.activeElement===et&&(it||Ge||qe.$mouseHandler.isMousePressed||We||(Ie=et.selectionStart,ve=et.selectionEnd,Ae=null,(be=0)==Ie?Ae=Re.up:1==Ie?Ae=Re.home:Oe<ve&&"\n"==Ze[ve]?Ae=Re.end:Ie<Me&&" "==Ze[Ie-1]?(Ae=Re.left,be=_e.option):Ie<Me||Ie==Me&&Oe!=Me&&Ie==ve?Ae=Re.left:Oe<ve&&2<Ze.slice(0,ve).split("\n").length?Ae=Re.down:Oe<ve&&" "==Ze[ve-1]?(Ae=Re.right,be=_e.option):(Oe<ve||ve==Oe&&Oe!=Me&&Ie==ve)&&(Ae=Re.right),Ie!==ve&&(be|=_e.shift),Ae&&(!qe.onCommandKey({},be,Ae)&&qe.commands&&(Ae=Re.keyCodeToString(Ae),(be=qe.commands.findKeyCommand(be,Ae))&&qe.execCommand(be)),Me=Ie,Oe=ve,je(""))))}var tt=null,it=!1;et.addEventListener("keydown",(function(Ce){tt&&clearTimeout(tt),it=!0}),!0),et.addEventListener("keyup",(function(Ce){tt=setTimeout((function(){it=!1}),100)}),!0),document.addEventListener("selectionchange",N),qe.on("destroy",(function(){document.removeEventListener("selectionchange",N)}))}},Ie.$setUserAgentForTests=function(Ce,Ie){Be=Ce,$e=Ie}})),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../lib/useragent");function n(Ce){Ce.$clickSelection=null;var Ie=Ce.editor;Ie.setDefaultHandler("mousedown",this.onMouseDown.bind(Ce)),Ie.setDefaultHandler("dblclick",this.onDoubleClick.bind(Ce)),Ie.setDefaultHandler("tripleclick",this.onTripleClick.bind(Ce)),Ie.setDefaultHandler("quadclick",this.onQuadClick.bind(Ce)),Ie.setDefaultHandler("mousewheel",this.onMouseWheel.bind(Ce)),["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach((function(Ie){Ce[Ie]=this[Ie]}),this),Ce.selectByLines=this.extendSelectionBy.bind(Ce,"getLineRange"),Ce.selectByWords=this.extendSelectionBy.bind(Ce,"getWordRange")}function s(Ce,Ie){return(Ce.start.row==Ce.end.row?2*Ie.column-Ce.start.column-Ce.end.column:Ce.start.row!=Ce.end.row-1||Ce.start.column||Ce.end.column?2*Ie.row-Ce.start.row-Ce.end.row:Ie.column-4)<0?{cursor:Ce.start,anchor:Ce.end}:{cursor:Ce.end,anchor:Ce.start}}(function(){this.onMouseDown=function(Ce){var Ie=Ce.inSelection(),ve=Ce.getDocumentPosition(),be=(this.mousedownEvent=Ce,this.editor),ye=Ce.getButton();return 0!==ye?(!be.getSelectionRange().isEmpty()&&1!=ye||be.selection.moveToPosition(ve),void(2==ye&&(be.textInput.onContextMenu(Ce.domEvent),Ae.isMozilla||Ce.preventDefault()))):(this.mousedownEvent.time=Date.now(),!Ie||be.isFocused()||(be.focus(),!this.$focusTimeout||this.$clickSelection||be.inMultiSelectMode)?(this.captureMouse(Ce),this.startSelect(ve,1<Ce.domEvent._clicks),Ce.preventDefault()):(this.setState("focusWait"),void this.captureMouse(Ce)))},this.startSelect=function(Ce,Ie){Ce=Ce||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var ve=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?ve.selection.selectToPosition(Ce):Ie||ve.selection.moveToPosition(Ce),Ie||this.select(),ve.renderer.scroller.setCapture&&ve.renderer.scroller.setCapture(),ve.setStyle("ace_selecting"),this.setState("select"))},this.select=function(){var Ce,Ie=this.editor,ve=Ie.renderer.screenToTextCoordinates(this.x,this.y);this.$clickSelection&&(Ce=-1==(Ce=this.$clickSelection.comparePoint(ve))?this.$clickSelection.end:1==Ce?this.$clickSelection.start:(ve=(Ce=s(this.$clickSelection,ve)).cursor,Ce.anchor),Ie.selection.setSelectionAnchor(Ce.row,Ce.column)),Ie.selection.selectToPosition(ve),Ie.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(Ce){var Ie,ve,Ae,be=this.editor,ye=be.renderer.screenToTextCoordinates(this.x,this.y);Ce=be.selection[Ce](ye.row,ye.column),this.$clickSelection&&(ve=this.$clickSelection.comparePoint(Ce.start),Ie=this.$clickSelection.comparePoint(Ce.end),-1==ve&&Ie<=0?(Ae=this.$clickSelection.end,Ce.end.row==ye.row&&Ce.end.column==ye.column||(ye=Ce.start)):1==Ie&&0<=ve?(Ae=this.$clickSelection.start,Ce.start.row==ye.row&&Ce.start.column==ye.column||(ye=Ce.end)):Ae=-1==ve&&1==Ie?(ye=Ce.end,Ce.start):(ye=(ve=s(this.$clickSelection,ye)).cursor,ve.anchor),be.selection.setSelectionAnchor(Ae.row,Ae.column)),be.selection.selectToPosition(ye),be.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){Ae=this.mousedownEvent.x,Ce=this.mousedownEvent.y,ve=this.x,Ie=this.y;var Ce,Ie,ve=Math.sqrt(Math.pow(ve-Ae,2)+Math.pow(Ie-Ce,2)),Ae=Date.now();(0<ve||Ae-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(Ce){Ce=Ce.getDocumentPosition();var Ie=this.editor,ve=Ie.session.getBracketRange(Ce);ve?(ve.isEmpty()&&(ve.start.column--,ve.end.column++),this.setState("select")):(ve=Ie.selection.getWordRange(Ce.row,Ce.column),this.setState("selectByWords")),this.$clickSelection=ve,this.select()},this.onTripleClick=function(Ce){Ce=Ce.getDocumentPosition();var Ie=this.editor,ve=(this.setState("selectByLines"),Ie.getSelectionRange());ve.isMultiLine()&&ve.contains(Ce.row,Ce.column)?(this.$clickSelection=Ie.selection.getLineRange(ve.start.row),this.$clickSelection.end=Ie.selection.getLineRange(ve.end.row).end):this.$clickSelection=Ie.selection.getLineRange(Ce.row),this.select()},this.onQuadClick=function(Ce){var Ie=this.editor;Ie.selectAll(),this.$clickSelection=Ie.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(Ce){var Ie,ve,Ae,be,ye,we,Se;if(!Ce.getAccelKey())return Ce.getShiftKey()&&Ce.wheelY&&!Ce.wheelX&&(Ce.wheelX=Ce.wheelY,Ce.wheelY=0),Ie=this.editor,this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0}),ve=this.$lastScroll,be=(we=(Ae=Ce.domEvent.timeStamp)-ve.t)?Ce.wheelX/we:ve.vx,ye=we?Ce.wheelY/we:ve.vy,we<550&&(be=(be+ve.vx)/2,ye=(ye+ve.vy)/2),Se=!1,1<=(we=Math.abs(be/ye))&&Ie.renderer.isScrollableBy(Ce.wheelX*Ce.speed,0)&&(Se=!0),(Se=!!(we<=1&&Ie.renderer.isScrollableBy(0,Ce.wheelY*Ce.speed))||Se)?ve.allowed=Ae:Ae-ve.allowed<550&&(Math.abs(be)<=1.5*Math.abs(ve.vx)&&Math.abs(ye)<=1.5*Math.abs(ve.vy)?(Se=!0,ve.allowed=Ae):ve.allowed=0),ve.t=Ae,ve.vx=be,ve.vy=ye,Se?(Ie.renderer.scrollBy(Ce.wheelX*Ce.speed,Ce.wheelY*Ce.speed),Ce.stop()):void 0}}).call(n.prototype),Ie.DefaultHandlers=n})),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";Ce("./lib/oop");var Ae=Ce("./lib/dom");function r(Ce){this.isOpen=!1,this.$element=null,this.$parentNode=Ce}(function(){this.$init=function(){return this.$element=Ae.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(Ce){this.getElement().textContent=Ce},this.setHtml=function(Ce){this.getElement().innerHTML=Ce},this.setPosition=function(Ce,Ie){this.getElement().style.left=Ce+"px",this.getElement().style.top=Ie+"px"},this.setClassName=function(Ce){Ae.addCssClass(this.getElement(),Ce)},this.show=function(Ce,Ie,ve){null!=Ce&&this.setText(Ce),null!=Ie&&null!=ve&&this.setPosition(Ie,ve),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(r.prototype),Ie.Tooltip=r})),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../lib/dom"),be=Ce("../lib/oop"),ye=Ce("../lib/event"),we=Ce("../tooltip").Tooltip;function g(Ce){we.call(this,Ce)}be.inherits(g,we),function(){this.setPosition=function(Ce,Ie){var ve=window.innerWidth||document.documentElement.clientWidth,Ae=window.innerHeight||document.documentElement.clientHeight,be=this.getWidth(),ye=this.getHeight();ve<(Ce+=15)+be&&(Ce-=Ce+be-ve),Ae<(Ie+=15)+ye&&(Ie-=20+ye),we.prototype.setPosition.call(this,Ce,Ie)}}.call(g.prototype),Ie.GutterHandler=function(Ce){var Ie,ve,be,we=Ce.editor,Se=we.renderer.$gutterLayer,xe=new g(we.container);function c(){Ie=Ie&&clearTimeout(Ie),be&&(xe.hide(),be=null,we._signal("hideGutterTooltip",xe),we.off("mousewheel",c))}function h(Ce){xe.setPosition(Ce.x,Ce.y)}Ce.editor.setDefaultHandler("guttermousedown",(function(Ie){if(we.isFocused()&&0==Ie.getButton()&&"foldWidgets"!=Se.getRegion(Ie)){var ve=Ie.getDocumentPosition().row,Ae=we.session.selection;if(Ie.getShiftKey())Ae.selectTo(ve,0);else{if(2==Ie.domEvent.detail)return we.selectAll(),Ie.preventDefault();Ce.$clickSelection=we.selection.getLineRange(ve)}return Ce.setState("selectByLines"),Ce.captureMouse(Ie),Ie.preventDefault()}})),Ce.editor.setDefaultHandler("guttermousemove",(function(ye){var ke=ye.domEvent.target||ye.domEvent.srcElement;if(Ae.hasCssClass(ke,"ace_fold-widget"))return c();be&&Ce.$tooltipFollowsMouse&&h(ye),ve=ye,Ie=Ie||setTimeout((function(){Ie=null,(ve&&!Ce.isMousePressed?function(){var Ie=ve.getDocumentPosition().row,Ae=Se.$annotations[Ie];if(!Ae)return c();if(Ie==we.session.getLength()){Ie=we.renderer.pixelToScreenCoordinates(0,ve.y).row;var ye=ve.$pos;if(Ie>we.session.documentToScreenRow(ye.row,ye.column))return c()}be!=Ae&&(be=Ae.text.join("<br/>"),xe.setHtml(be),xe.show(),we._signal("showGutterTooltip",xe),we.on("mousewheel",c),Ce.$tooltipFollowsMouse?h(ve):(Ie=ve.domEvent.target.getBoundingClientRect(),(ye=xe.getElement().style).left=Ie.right+"px",ye.top=Ie.bottom+"px"))}:c)()}),50)})),ye.addListener(we.renderer.$gutter,"mouseout",(function(Ce){ve=null,be&&!Ie&&(Ie=setTimeout((function(){Ie=null,c()}),50))}),we),we.on("changeSession",c)}})),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../lib/event"),be=Ce("../lib/useragent");Ce=Ie.MouseEvent=function(Ce,Ie){this.domEvent=Ce,this.editor=Ie,this.x=this.clientX=Ce.clientX,this.y=this.clientY=Ce.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1},function(){this.stopPropagation=function(){Ae.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){Ae.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var Ce,Ie=this.editor.getSelectionRange();return Ie.isEmpty()?this.$inSelection=!1:(Ce=this.getDocumentPosition(),this.$inSelection=Ie.contains(Ce.row,Ce.column)),this.$inSelection},this.getButton=function(){return Ae.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=be.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}.call(Ce.prototype)})),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../lib/dom"),be=Ce("../lib/event"),ye=Ce("../lib/useragent");function n(Ce){var Ie,ve,we,Se,xe,ke,Ee,Re,_e,$e,Le,Be=Ce.editor,We=Ae.createElement("div"),Ne=(We.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",We.textContent=" ",["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach((function(Ie){Ce[Ie]=this[Ie]}),this),Be.on("mousedown",this.onMouseDown.bind(Ce)),Be.container),Ge=0;function f(){var Ce,Ie,Ae,be,ye,Se,xe,Ee,Re=ke;Ae=ke=Be.renderer.screenToTextCoordinates(ve,we),Ie=Re,be=Date.now(),Ce=!Ie||Ae.row!=Ie.row,Ie=!Ie||Ae.column!=Ie.column,!$e||Ce||Ie?(Be.moveCursorToPosition(Ae),$e=be,Le={x:ve,y:we}):5<k(Le.x,Le.y,ve,we)?$e=null:200<=be-$e&&(Be.renderer.scrollCursorIntoView(),$e=null),Ce=ke,Ie=Re,Ae=Date.now(),be=Be.renderer.layerConfig.lineHeight,Re=Be.renderer.layerConfig.characterWidth,ye=Be.renderer.scroller.getBoundingClientRect(),ye={x:{left:ve-ye.left,right:ye.right-ve},y:{top:we-ye.top,bottom:ye.bottom-we}},Se=Math.min(ye.x.left,ye.x.right),xe=Math.min(ye.y.top,ye.y.bottom),Ee={row:Ce.row,column:Ce.column},Se/Re<=2&&(Ee.column+=ye.x.left<ye.x.right?-3:2),xe/be<=1&&(Ee.row+=ye.y.top<ye.y.bottom?-1:1),Se=Ce.row!=Ee.row,Re=Ce.column!=Ee.column,xe=!Ie||Ce.row!=Ie.row,Se||Re&&!xe?_e?200<=Ae-_e&&Be.renderer.scrollCursorIntoView(Ee):_e=Ae:_e=null}function C(){xe=Be.selection.toOrientedRange(),Ie=Be.session.addMarker(xe,"ace_selection",Be.getSelectionStyle()),Be.clearSelection(),Be.isFocused()&&Be.renderer.$cursorLayer.setBlinking(!1),clearInterval(Se),f(),Se=setInterval(f,20),Ge=0,be.addListener(document,"mousemove",A)}function I(){clearInterval(Se),Be.session.removeMarker(Ie),Ie=null,Be.selection.fromOrientedRange(xe),Be.isFocused()&&!Re&&Be.$resetCursorStyle(),Ge=0,$e=_e=ke=xe=null,be.removeListener(document,"mousemove",A)}this.onDragStart=function(Ce){var Ie;if(this.cancelDrag||!Ne.draggable)return Ie=this,setTimeout((function(){Ie.startSelect(),Ie.captureMouse(Ce)}),0),Ce.preventDefault();xe=Be.getSelectionRange();var ve=Ce.dataTransfer;ve.effectAllowed=Be.getReadOnly()?"copy":"copyMove",Be.container.appendChild(We),ve.setDragImage&&ve.setDragImage(We,0,0),setTimeout((function(){Be.container.removeChild(We)})),ve.clearData(),ve.setData("Text",Be.session.getTextRange()),Re=!0,this.setState("drag")},this.onDragEnd=function(Ce){Ne.draggable=!1,Re=!1,this.setState(null),Be.getReadOnly()||(Ce=Ce.dataTransfer.dropEffect,Ee||"move"!=Ce||Be.session.remove(Be.getSelectionRange()),Be.$resetCursorStyle()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(Ce){if(!Be.getReadOnly()&&b(Ce.dataTransfer))return ve=Ce.clientX,we=Ce.clientY,Ie||C(),Ge++,Ce.dataTransfer.dropEffect=Ee=y(Ce),be.preventDefault(Ce)},this.onDragOver=function(Ce){if(!Be.getReadOnly()&&b(Ce.dataTransfer))return ve=Ce.clientX,we=Ce.clientY,Ie||(C(),Ge++),null!==Pe&&(Pe=null),Ce.dataTransfer.dropEffect=Ee=y(Ce),be.preventDefault(Ce)},this.onDragLeave=function(Ce){if(--Ge<=0&&Ie)return I(),Ee=null,be.preventDefault(Ce)},this.onDrop=function(Ce){if(ke){var Ie=Ce.dataTransfer;if(Re)switch(Ee){case"move":xe=xe.contains(ke.row,ke.column)?{start:ke,end:ke}:Be.moveText(xe,ke);break;case"copy":xe=Be.moveText(xe,ke,!0)}else Ie=Ie.getData("Text"),xe={start:ke,end:Be.session.insert(ke,Ie)},Be.focus(),Ee=null;return I(),be.preventDefault(Ce)}},be.addListener(Ne,"dragstart",this.onDragStart.bind(Ce),Be),be.addListener(Ne,"dragend",this.onDragEnd.bind(Ce),Be),be.addListener(Ne,"dragenter",this.onDragEnter.bind(Ce),Be),be.addListener(Ne,"dragover",this.onDragOver.bind(Ce),Be),be.addListener(Ne,"dragleave",this.onDragLeave.bind(Ce),Be),be.addListener(Ne,"drop",this.onDrop.bind(Ce),Be);var Pe=null;function A(){null==Pe&&(Pe=setTimeout((function(){null!=Pe&&Ie&&I()}),20))}function b(Ce){return!(Ce=Ce.types)||Array.prototype.some.call(Ce,(function(Ce){return"text/plain"==Ce||"Text"==Ce}))}function y(Ce){var Ie=["copy","copymove","all","uninitialized"],ve=ye.isMac?Ce.altKey:Ce.ctrlKey,Ae="uninitialized";try{Ae=Ce.dataTransfer.effectAllowed.toLowerCase()}catch(Ce){}var be="none";return ve&&0<=Ie.indexOf(Ae)?be="copy":0<=["move","copymove","linkmove","all","uninitialized"].indexOf(Ae)?be="move":0<=Ie.indexOf(Ae)&&(be="copy"),be}}function k(Ce,Ie,ve,Ae){return Math.sqrt(Math.pow(ve-Ce,2)+Math.pow(Ae-Ie,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(Ce){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var Ce=this.editor,Ie=(Ce.container.draggable=!0,Ce.renderer.$cursorLayer.setBlinking(!1),Ce.setStyle("ace_dragging"),ye.isWin?"default":"move");Ce.renderer.setCursorStyle(Ie),this.setState("dragReady")},this.onMouseDrag=function(Ce){var Ie=this.editor.container;ye.isIE&&"dragReady"==this.state&&3<k(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)&&Ie.dragDrop(),"dragWait"===this.state&&0<k(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)&&(Ie.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))},this.onMouseDown=function(Ce){var Ie,ve,Ae;this.$dragEnabled&&(this.mousedownEvent=Ce,Ie=this.editor,ve=Ce.inSelection(),Ae=Ce.getButton(),1===(Ce.domEvent.detail||1)&&0===Ae&&ve&&(Ce.editor.inMultiSelectMode&&(Ce.getAccelKey()||Ce.getShiftKey())||(this.mousedownEvent.time=Date.now(),"unselectable"in(Ae=Ce.domEvent.target||Ce.domEvent.srcElement)&&(Ae.unselectable="on"),Ie.getDragDelay()?(ye.isWebKit&&(this.cancelDrag=!0,Ie.container.draggable=!0),this.setState("dragWait")):this.startDrag(),this.captureMouse(Ce,this.onMouseDrag.bind(this)),Ce.defaultPrevented=!0)))}}).call(n.prototype),Ie.DragdropHandler=n})),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("./mouse_event").MouseEvent,be=Ce("../lib/event"),ye=Ce("../lib/dom");Ie.addTouchListeners=function(Ce,Ie){var ve,we,Se,xe,ke,Ee,Re,_e,$e,Le="scroll",Be=0,We=0,Ne=0,Ge=0;function r(){function t(Ae){var be,we=Ae.target.getAttribute("action");if("more"==we||!ve)return ve=!ve,Ae=Ie.getCopyText(),be=Ie.session.getUndoManager().hasUndo(),void $e.replaceChild(ye.buildDom(ve?["span",!Ae&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],Ae&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],Ae&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],Ce&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],be&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],["span",{class:"ace_mobile-button",action:"find"},"Find"],["span",{class:"ace_mobile-button",action:"openCommandPallete"},"Pallete"]]:["span"]),$e.firstChild);"paste"==we?Ce.readText().then((function(Ce){Ie.execCommand(we,Ce)})):we&&("cut"!=we&&"copy"!=we||(Ce?Ce.writeText(Ie.getCopyText()):document.execCommand("copy")),Ie.execCommand(we)),$e.firstChild.style.display="none",ve=!1,"openCommandPallete"!=we&&Ie.focus()}var Ce=window.navigator&&window.navigator.clipboard,ve=!1;$e=ye.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(Ce){Le="menu",Ce.stopPropagation(),Ce.preventDefault(),Ie.textInput.focus()},ontouchend:function(Ce){Ce.stopPropagation(),Ce.preventDefault(),t(Ce)},onclick:t},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],Ie.container)}function i(){$e||r();var Ce=Ie.selection.cursor,ve=(Ce=Ie.renderer.textToScreenCoordinates(Ce.row,Ce.column),Ie.renderer.textToScreenCoordinates(0,0).pageX),Ae=Ie.renderer.scrollLeft,be=Ie.container.getBoundingClientRect();$e.style.top=Ce.pageY-be.top-3+"px",Ce.pageX-be.left<be.width-70?($e.style.left="",$e.style.right="10px"):($e.style.right="",$e.style.left=ve+Ae-be.left+"px"),$e.style.display="",$e.firstChild.style.display="none",Ie.on("input",s)}function s(Ce){$e&&($e.style.display="none"),Ie.off("input",s)}function w(){ke=null,clearTimeout(ke);var Ce=Ie.selection.getRange(),ve=Ce.contains(Re.row,Re.column);!Ce.isEmpty()&&ve||(Ie.selection.moveToPosition(Re),Ie.selection.selectWord()),Le="wait",i()}be.addListener(Ce,"contextmenu",(function(Ce){_e&&Ie.textInput.getElement().focus()}),Ie),be.addListener(Ce,"touchstart",(function(Ce){var be=Ce.touches;if(ke||1<be.length)return clearTimeout(ke),ke=null,Se=-1,void(Le="zoom");_e=Ie.$mouseHandler.isMousePressed=!0;var ye=Ie.renderer.layerConfig.lineHeight,Ee=Ie.renderer.layerConfig.lineHeight,$e=Ce.timeStamp,Pe=(xe=$e,Fe=be[0]).clientX,Fe=Fe.clientY;if(Math.abs(ve-Pe)+Math.abs(we-Fe)>ye&&(Se=-1),ve=Ce.clientX=Pe,we=Ce.clientY=Fe,Ne=Ge=0,Pe=new Ae(Ce,Ie),Re=Pe.getDocumentPosition(),$e-Se<500&&1==be.length&&!Be)We++,Ce.preventDefault(),Ce.button=0,ke=null,clearTimeout(ke),Ie.selection.moveToPosition(Re),(Fe=2<=We?Ie.selection.getLineRange(Re.row):Ie.session.getBracketRange(Re))&&!Fe.isEmpty()?Ie.selection.setRange(Fe):Ie.selection.selectWord(),Le="wait";else{We=0,Pe=Ie.selection.cursor,be=Ie.selection.isEmpty()?Pe:Ie.selection.anchor,Fe=Ie.renderer.$cursorLayer.getPixelPosition(Pe,!0),Pe=Ie.renderer.$cursorLayer.getPixelPosition(be,!0),be=Ie.renderer.scroller.getBoundingClientRect();var He=Ie.renderer.layerConfig.offset,Ve=Ie.renderer.scrollLeft,c=function(Ce,Ie){return(Ce/=Ee)*Ce+(Ie=Ie/ye-.75)*Ie};if(Ce.clientX<be.left)return void(Le="zoom");Fe=c(Ce.clientX-be.left-Fe.left+Ve,Ce.clientY-be.top-Fe.top+He),c=c(Ce.clientX-be.left-Pe.left+Ve,Ce.clientY-be.top-Pe.top+He),Fe<3.5&&c<3.5&&(Le=c<Fe?"cursor":"anchor"),Le=c<3.5?"anchor":Fe<3.5?"cursor":"scroll",ke=setTimeout(w,450)}Se=$e}),Ie),be.addListener(Ce,"touchend",(function(Ce){_e=Ie.$mouseHandler.isMousePressed=!1,Ee&&clearInterval(Ee),"zoom"==Le?(Le="",Be=0):ke?(Ie.selection.moveToPosition(Re),Be=0,i()):"scroll"==Le?(Be+=60,Ee=setInterval((function(){Be--<=0&&(clearInterval(Ee),Ee=null),Math.abs(Ne)<.01&&(Ne=0),Math.abs(Ge)<.01&&(Ge=0),Be<20&&(Ne*=.9),Be<20&&(Ge*=.9);var Ce=Ie.session.getScrollTop();Ie.renderer.scrollBy(10*Ne,10*Ge),Ce==Ie.session.getScrollTop()&&(Be=0)}),10),s()):i(),clearTimeout(ke),ke=null}),Ie),be.addListener(Ce,"touchmove",(function(Ce){if(ke&&(clearTimeout(ke),ke=null),!(1<(be=Ce.touches).length||"zoom"==Le)){var be=be[0],ye=ve-be.clientX,Se=we-be.clientY;if("wait"==Le){if(!(4<ye*ye+Se*Se))return Ce.preventDefault();Le="cursor"}ve=be.clientX,we=be.clientY,Ce.clientX=be.clientX,Ce.clientY=be.clientY;var Ee=(be=Ce.timeStamp)-xe;xe=be,"scroll"==Le?((be=new Ae(Ce,Ie)).speed=1,be.wheelX=ye,be.wheelY=Se,10*Math.abs(ye)<Math.abs(Se)&&(ye=0),10*Math.abs(Se)<Math.abs(ye)&&(Se=0),0!=Ee&&(Ne=ye/Ee,Ge=Se/Ee),Ie._emit("mousewheel",be),be.propagationStopped||(Ne=Ge=0)):(ye=new Ae(Ce,Ie).getDocumentPosition(),"cursor"==Le?Ie.selection.moveCursorToPosition(ye):"anchor"==Le&&Ie.selection.setSelectionAnchor(ye.row,ye.column),Ie.renderer.scrollCursorIntoView(ye),Ce.preventDefault())}}),Ie)}})),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("./dom");Ie.get=function(Ce,Ie){var ve=new XMLHttpRequest;ve.open("GET",Ce,!0),ve.onreadystatechange=function(){4===ve.readyState&&Ie(ve.responseText)},ve.send(null)},Ie.loadScript=function(Ce,Ie){var ve=Ae.getDocumentHead(),be=document.createElement("script");be.src=Ce,ve.appendChild(be),be.onload=be.onreadystatechange=function(Ce,ve){!ve&&be.readyState&&"loaded"!=be.readyState&&"complete"!=be.readyState||(be=be.onload=be.onreadystatechange=null,ve||Ie())}},Ie.qualifyURL=function(Ce){var Ie=document.createElement("a");return Ie.href=Ce,Ie.href}})),ace.define("ace/lib/event_emitter",["require","exports","module"],(function(Ce,Ie,ve){"use strict";function o(){this.propagationStopped=!0}function s(){this.defaultPrevented=!0}var Ae={};Ae._emit=Ae._dispatchEvent=function(Ce,Ie){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var ve=this._eventRegistry[Ce]||[],Ae=this._defaultHandlers[Ce];if(ve.length||Ae){(Ie="object"==typeof Ie&&Ie?Ie:{}).type||(Ie.type=Ce),Ie.stopPropagation||(Ie.stopPropagation=o),Ie.preventDefault||(Ie.preventDefault=s),ve=ve.slice();for(var be=0;be<ve.length&&(ve[be](Ie,this),!Ie.propagationStopped);be++);return Ae&&!Ie.defaultPrevented?Ae(Ie,this):void 0}},Ae._signal=function(Ce,Ie){if(ve=(this._eventRegistry||{})[Ce])for(var ve=ve.slice(),Ae=0;Ae<ve.length;Ae++)ve[Ae](Ie,this)},Ae.once=function(Ce,Ie){var ve=this;if(this.on(Ce,(function e(){ve.off(Ce,e),Ie.apply(null,arguments)})),!Ie)return new Promise((function(Ce){Ie=Ce}))},Ae.setDefaultHandler=function(Ce,Ie){var ve,Ae,be=this._defaultHandlers;(be=be||(this._defaultHandlers={_disabled_:{}}))[Ce]&&(Ae=be[Ce],(ve=be._disabled_[Ce])||(be._disabled_[Ce]=ve=[]),ve.push(Ae),-1!=(Ae=ve.indexOf(Ie))&&ve.splice(Ae,1)),be[Ce]=Ie},Ae.removeDefaultHandler=function(Ce,Ie){var ve,Ae=this._defaultHandlers;Ae&&(ve=Ae._disabled_[Ce],Ae[Ce]==Ie?ve&&this.setDefaultHandler(Ce,ve.pop()):!ve||-1!=(Ae=ve.indexOf(Ie))&&ve.splice(Ae,1))},Ae.on=Ae.addEventListener=function(Ce,Ie,ve){this._eventRegistry=this._eventRegistry||{};var Ae=this._eventRegistry[Ce];return-1==(Ae=Ae||(this._eventRegistry[Ce]=[])).indexOf(Ie)&&Ae[ve?"unshift":"push"](Ie),Ie},Ae.off=Ae.removeListener=Ae.removeEventListener=function(Ce,Ie){this._eventRegistry=this._eventRegistry||{},!(Ce=this._eventRegistry[Ce])||-1!==(Ie=Ce.indexOf(Ie))&&Ce.splice(Ie,1)},Ae.removeAllListeners=function(Ce){Ce||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[Ce]=void 0),this._defaultHandlers&&(this._defaultHandlers[Ce]=void 0)},Ie.EventEmitter=Ae})),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(Ce,Ie,ve){var be=Ce("./oop"),ye=Ce("./event_emitter").EventEmitter,we={setOptions:function(Ce){Object.keys(Ce).forEach((function(Ie){this.setOption(Ie,Ce[Ie])}),this)},getOptions:function(Ce){var Ie,ve={};return Ce?Array.isArray(Ce)||(ve=Ce,Ce=Object.keys(ve)):(Ie=this.$options,Ce=Object.keys(Ie).filter((function(Ce){return!Ie[Ce].hidden}))),Ce.forEach((function(Ce){ve[Ce]=this.getOption(Ce)}),this),ve},setOption:function(Ce,Ie){var ve;if(this["$"+Ce]!==Ie)return(ve=this.$options[Ce])?ve.forwardTo?this[ve.forwardTo]&&this[ve.forwardTo].setOption(Ce,Ie):(ve.handlesSet||(this["$"+Ce]=Ie),void(ve&&ve.set&&ve.set.call(this,Ie))):s('misspelled option "'+Ce+'"')},getOption:function(Ce){var Ie=this.$options[Ce];return Ie?Ie.forwardTo?this[Ie.forwardTo]&&this[Ie.forwardTo].getOption(Ce):Ie&&Ie.get?Ie.get.call(this):this["$"+Ce]:s('misspelled option "'+Ce+'"')}};function s(Ce){void 0!==Ae&&Ae.warn&&Ae.warn.apply(Ae,arguments)}function a(Ce,Ie){var ve=new Error(Ce);ve.data=Ie,"object"==typeof Ae&&Ae.error&&Ae.error(ve),setTimeout((function(){throw ve}))}function l(){this.$defaultOptions={}}(function(){be.implement(this,ye),this.defineOptions=function(Ce,Ie,ve){return Ce.$options||(this.$defaultOptions[Ie]=Ce.$options={}),Object.keys(ve).forEach((function(Ie){var Ae=ve[Ie];(Ae="string"==typeof Ae?{forwardTo:Ae}:Ae).name||(Ae.name=Ie),"initialValue"in(Ce.$options[Ae.name]=Ae)&&(Ce["$"+Ae.name]=Ae.initialValue)})),be.implement(Ce,we),this},this.resetOptions=function(Ce){Object.keys(Ce.$options).forEach((function(Ie){var ve=Ce.$options[Ie];"value"in ve&&Ce.setOption(Ie,ve.value)}))},this.setDefaultValue=function(Ce,Ie,ve){if(!Ce){for(Ce in this.$defaultOptions)if(this.$defaultOptions[Ce][Ie])break;if(!this.$defaultOptions[Ce][Ie])return!1}var Ae=this.$defaultOptions[Ce]||(this.$defaultOptions[Ce]={});Ae[Ie]&&(Ae.forwardTo?this.setDefaultValue(Ae.forwardTo,Ie,ve):Ae[Ie].value=ve)},this.setDefaultValues=function(Ce,Ie){Object.keys(Ie).forEach((function(ve){this.setDefaultValue(Ce,ve,Ie[ve])}),this)},this.warn=s,this.reportError=a}).call(l.prototype),Ie.AppConfig=l})),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/dom","ace/lib/app_config"],(function(Ce,Ie,be){var ye=Ce("./lib/lang"),we=(Ce("./lib/oop"),Ce("./lib/net")),Se=Ce("./lib/dom"),xe=Ce("./lib/app_config").AppConfig,ke=(be.exports=Ie=new xe,function(){return this||"undefined"!=typeof window&&window}()),Ee={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null},Re=(Ie.get=function(Ce){if(!Ee.hasOwnProperty(Ce))throw new Error("Unknown config key: "+Ce);return Ee[Ce]},Ie.set=function(Ce,Ie){if(Ee.hasOwnProperty(Ce))Ee[Ce]=Ie;else if(0==this.setDefaultValue("",Ce,Ie))throw new Error("Unknown config key: "+Ce);"useStrictCSP"==Ce&&Se.useStrictCSP(Ie)},Ie.all=function(){return ye.copyObject(Ee)},Ie.$modes={},Ie.moduleUrl=function(Ce,Ie){if(Ee.$moduleUrls[Ce])return Ee.$moduleUrls[Ce];Ce=Ce.split("/");var ve="snippets"==(Ie=Ie||Ce[Ce.length-2]||"")?"/":"-",Ae=Ce[Ce.length-1],be=("worker"==Ie&&"-"==ve&&(be=new RegExp("^"+Ie+"[\\-_]|[\\-_]"+Ie+"$","g"),Ae=Ae.replace(be,"")),(!Ae||Ae==Ie)&&1<Ce.length&&(Ae=Ce[Ce.length-2]),Ee[Ie+"Path"]);return null==be?be=Ee.basePath:"/"==ve&&(Ie=ve=""),be&&"/"!=be.slice(-1)&&(be+="/"),be+Ie+ve+Ae+this.get("suffix")},Ie.setModuleUrl=function(Ce,Ie){return Ee.$moduleUrls[Ce]=Ie},Ie.$loading={},Ie.loadModule=function(ve,Ae){var be,ye;Array.isArray(ve)&&(ye=ve[0],ve=ve[1]);try{be=Ce(ve)}catch(Ae){}if(be&&!Ie.$loading[ve])return Ae&&Ae(be);if(Ie.$loading[ve]||(Ie.$loading[ve]=[]),Ie.$loading[ve].push(Ae),!(1<Ie.$loading[ve].length)){function r(){Ce([ve],(function(Ce){Ie._emit("load.module",{name:ve,module:Ce});var Ae=Ie.$loading[ve];Ie.$loading[ve]=null,Ae.forEach((function(Ie){Ie&&Ie(Ce)}))}))}if(!Ie.get("packaged"))return r();we.loadScript(Ie.moduleUrl(ve,ye),r),Re()}},function(){Ee.basePath||Ee.workerPath||Ee.modePath||Ee.themePath||Object.keys(Ee.$moduleUrls).length||(Ae.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),Re=function(){})});function t(Ae){if(ke&&ke.document){Ee.packaged=Ae||Ce.packaged||be.packaged||ke.define&&ve.amdD.packaged;for(var ye,we={},Se="",xe=((Ae=document.currentScript||document._currentScript)&&Ae.ownerDocument||document).getElementsByTagName("script"),Re=0;Re<xe.length;Re++){var _e=xe[Re],$e=_e.src||_e.getAttribute("src");if($e){for(var Le=_e.attributes,Be=0,We=Le.length;Be<We;Be++){var Ne=Le[Be];0===Ne.name.indexOf("data-ace-")&&(we[Ne.name.replace(/^data-ace-/,"").replace(/-(.)/g,(function(Ce,Ie){return Ie.toUpperCase()}))]=Ne.value)}(_e=$e.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/))&&(Se=_e[1])}}for(ye in Se&&(we.base=we.base||Se,we.packaged=!0),we.basePath=we.base,we.workerPath=we.workerPath||we.base,we.modePath=we.modePath||we.base,we.themePath=we.themePath||we.base,delete we.base,we)void 0!==we[ye]&&Ie.set(ye,we[ye])}}t(!0),Ie.init=t,Ie.version="1.4.14"})),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],(function(Ce,Ie,ve){"use strict";function i(Ce){function e(Ie){document.hasFocus&&document.hasFocus()&&(Ce.isFocused()||document.activeElement!=(Ce.textInput&&Ce.textInput.getElement()))||window.focus(),Ce.focus()}var Ie=this,ve=(this.editor=Ce,new ye(this),new we(this),new xe(this),Ce.renderer.getMouseEventTarget()),Se=(Ae.addListener(ve,"click",this.onMouseEvent.bind(this,"click"),Ce),Ae.addListener(ve,"mousemove",this.onMouseMove.bind(this,"mousemove"),Ce),Ae.addMultiMouseDownListener([ve,Ce.renderer.scrollBarV&&Ce.renderer.scrollBarV.inner,Ce.renderer.scrollBarH&&Ce.renderer.scrollBarH.inner,Ce.textInput&&Ce.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",Ce),Ae.addMouseWheelListener(Ce.container,this.onMouseWheel.bind(this,"mousewheel"),Ce),ke(Ce.container,Ce),Ce.renderer.$gutter);Ae.addListener(Se,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),Ce),Ae.addListener(Se,"click",this.onMouseEvent.bind(this,"gutterclick"),Ce),Ae.addListener(Se,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),Ce),Ae.addListener(Se,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),Ce),Ae.addListener(ve,"mousedown",e,Ce),Ae.addListener(Se,"mousedown",e,Ce),be.isIE&&Ce.renderer.scrollBarV&&(Ae.addListener(Ce.renderer.scrollBarV.element,"mousedown",e,Ce),Ae.addListener(Ce.renderer.scrollBarH.element,"mousedown",e,Ce)),Ce.on("mousemove",(function(ve){var Ae,be;Ie.state||Ie.$dragDelay||!Ie.$dragEnabled||(ve=Ce.renderer.screenToTextCoordinates(ve.x,ve.y),Ae=Ce.session.selection.getRange(),be=Ce.renderer,!Ae.isEmpty()&&Ae.insideStart(ve.row,ve.column)?be.setCursorStyle("default"):be.setCursorStyle(""))}),Ce)}var Ae=Ce("../lib/event"),be=Ce("../lib/useragent"),ye=Ce("./default_handlers").DefaultHandlers,we=Ce("./default_gutter_handler").GutterHandler,Se=Ce("./mouse_event").MouseEvent,xe=Ce("./dragdrop_handler").DragdropHandler,ke=Ce("./touch_handler").addTouchListeners;Ce=Ce("../config"),function(){this.onMouseEvent=function(Ce,Ie){this.editor.session&&this.editor._emit(Ce,new Se(Ie,this.editor))},this.onMouseMove=function(Ce,Ie){var ve=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;ve&&ve.length&&this.editor._emit(Ce,new Se(Ie,this.editor))},this.onMouseWheel=function(Ce,Ie){var ve=new Se(Ie,this.editor);ve.speed=2*this.$scrollSpeed,ve.wheelX=Ie.wheelX,ve.wheelY=Ie.wheelY,this.editor._emit(Ce,ve)},this.setState=function(Ce){this.state=Ce},this.captureMouse=function(Ce,Ie){function i(Ce){if(Ce){if(be.isWebKit&&!Ce.which&&we.releaseMouse)return we.releaseMouse();we.x=Ce.clientX,we.y=Ce.clientY,Ie&&Ie(Ce),we.mouseEvent=new Se(Ce,we.editor),we.$mouseMoved=!0}}function n(Ce){ve.off("beforeEndOperation",l),clearInterval(xe),ve.session&&r(),we[we.state+"End"]&&we[we.state+"End"](Ce),we.state="",we.isMousePressed=ye.$isMousePressed=!1,ye.$keepTextAreaAtCursor&&ye.$moveTextAreaToCursor(),we.$onCaptureMouseMove=we.releaseMouse=null,Ce&&we.onMouseEvent("mouseup",Ce),ve.endOperation()}function r(){we[we.state]&&we[we.state](),we.$mouseMoved=!1}this.x=Ce.x,this.y=Ce.y,this.isMousePressed=!0;var ve=this.editor,ye=this.editor.renderer,we=(ye.$isMousePressed=!0,this);if(be.isOldIE&&"dblclick"==Ce.domEvent.type)return setTimeout((function(){n(Ce)}));var l=function(Ce){we.releaseMouse&&ve.curOp.command.name&&ve.curOp.selectionChanged&&(we[we.state+"End"]&&we[we.state+"End"](),we.state="",we.releaseMouse())},xe=(ve.on("beforeEndOperation",l),ve.startOperation({command:{name:"mouse"}}),we.$onCaptureMouseMove=i,we.releaseMouse=Ae.capture(this.editor.container,i,n),setInterval(r,20))},this.releaseMouse=null,this.cancelContextMenu=function(){var Ce=function(Ie){Ie&&Ie.domEvent&&"contextmenu"!=Ie.domEvent.type||(this.editor.off("nativecontextmenu",Ce),Ie&&Ie.domEvent&&Ae.stopEvent(Ie.domEvent))}.bind(this);setTimeout(Ce,10),this.editor.on("nativecontextmenu",Ce)},this.destroy=function(){this.releaseMouse&&this.releaseMouse()}}.call(i.prototype),Ce.defineOptions(i.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:be.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),Ie.MouseHandler=i})),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../lib/dom");Ie.FoldHandler=function(Ce){Ce.on("click",(function(Ie){var ve=Ie.getDocumentPosition(),be=Ce.session;(ve=be.getFoldAt(ve.row,ve.column,1))&&(Ie.getAccelKey()?be.removeFold(ve):be.expandFold(ve),Ie.stop()),(ve=Ie.domEvent&&Ie.domEvent.target)&&Ae.hasCssClass(ve,"ace_inline_button")&&Ae.hasCssClass(ve,"ace_toggle_wrap")&&(be.setOption("wrap",!be.getUseWrapMode()),Ce.renderer.scrollCursorIntoView())})),Ce.on("gutterclick",(function(Ie){var ve,Ae;"foldWidgets"==Ce.renderer.$gutterLayer.getRegion(Ie)&&(ve=Ie.getDocumentPosition().row,(Ae=Ce.session).foldWidgets&&Ae.foldWidgets[ve]&&Ce.session.onFoldWidgetClick(ve,Ie),Ce.isFocused()||Ce.focus(),Ie.stop())})),Ce.on("gutterdblclick",(function(Ie){var ve,Ae,be;"foldWidgets"==Ce.renderer.$gutterLayer.getRegion(Ie)&&(be=Ie.getDocumentPosition().row,(Ae=(Ae=(ve=Ce.session).getParentFoldRangeData(be,!0)).range||Ae.firstRange)&&(be=Ae.start.row,(be=ve.getFoldAt(be,ve.getLine(be).length,1))?ve.removeFold(be):(ve.addFold("...",Ae),Ce.renderer.scrollCursorIntoView({row:Ae.start.row,column:0}))),Ie.stop())}))}})),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],(function(Ce,Ie,ve){"use strict";function n(Ce){this.$editor=Ce,this.$data={editor:Ce},this.$handlers=[],this.setDefaultHandler(Ce.commands)}var Ae=Ce("../lib/keys"),be=Ce("../lib/event");(function(){this.setDefaultHandler=function(Ce){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=Ce,this.addKeyboardHandler(Ce,0)},this.setKeyboardHandler=function(Ce){var Ie=this.$handlers;if(Ie[Ie.length-1]!=Ce){for(;Ie[Ie.length-1]&&Ie[Ie.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(Ie[Ie.length-1]);this.addKeyboardHandler(Ce,1)}},this.addKeyboardHandler=function(Ce,Ie){var ve;Ce&&("function"!=typeof Ce||Ce.handleKeyboard||(Ce.handleKeyboard=Ce),-1!=(ve=this.$handlers.indexOf(Ce))&&this.$handlers.splice(ve,1),null==Ie?this.$handlers.push(Ce):this.$handlers.splice(Ie,0,Ce),-1==ve&&Ce.attach&&Ce.attach(this.$editor))},this.removeKeyboardHandler=function(Ce){var Ie=this.$handlers.indexOf(Ce);return-1!=Ie&&(this.$handlers.splice(Ie,1),Ce.detach&&Ce.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var Ce=this.$data,Ie=Ce.editor;return this.$handlers.map((function(ve){return ve.getStatusText&&ve.getStatusText(Ie,Ce)||""})).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(Ce,Ie,ve,Ae){for(var ye,we=!1,Se=this.$editor.commands,xe=this.$handlers.length;xe--&&!((ye=this.$handlers[xe].handleKeyboard(this.$data,Ce,Ie,ve,Ae))&&ye.command&&((we="null"==ye.command||Se.exec(ye.command,this.$editor,ye.args,Ae))&&Ae&&-1!=Ce&&1!=ye.passEvent&&1!=ye.command.passEvent&&be.stopEvent(Ae),we)););return we||-1!=Ce||(ye={command:"insertstring"},we=Se.exec("insertstring",this.$editor,Ie)),we&&this.$editor._signal&&this.$editor._signal("keyboardActivity",ye),we},this.onCommandKey=function(Ce,Ie,ve){var be=Ae.keyCodeToString(ve);return this.$callKeyboardHandlers(Ie,be,ve,Ce)},this.onTextInput=function(Ce){return this.$callKeyboardHandlers(-1,Ce)}}).call(n.prototype),Ie.KeyBinding=n})),ace.define("ace/lib/bidiutil",["require","exports","module"],(function(Ce,Ie,ve){"use strict";var Ae=0,be=0,ye=!1,we=!1,Se=!1,xe=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],ke=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],Ee=0,Re=1,_e=2,$e=3,Le=4,Be=5,We=6,Ne=7,Ge=8,Pe=9,Fe=10,He=11,Ve=12,Ze=13,Me=14,Oe=15,De=16,Ke=17,je=18,ze=[je,je,je,je,je,je,je,je,je,We,Be,We,Ge,Be,je,je,je,je,je,je,je,je,je,je,je,je,je,je,Be,Be,Be,We,Ge,Le,Le,He,He,He,Le,Le,Le,Le,Le,Fe,Pe,Fe,Pe,Pe,_e,_e,_e,_e,_e,_e,_e,_e,_e,_e,Pe,Le,Le,Le,Le,Le,Le,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Le,Le,Le,Le,Le,Le,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Ee,Le,Le,Le,Le,je,je,je,je,je,je,Be,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,je,Pe,Le,He,He,He,He,Le,Le,Le,Le,Ee,Le,Le,je,Le,Le,He,He,_e,_e,Le,Ee,Le,Le,Le,_e,Ee,Le,Le,Le,Le,Le],Xe=[Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ge,je,je,je,Ee,Re,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Ge,Be,Ze,Me,Oe,De,Ke,Pe,He,He,He,He,He,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Pe,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Le,Ge];function c(Ce,Ie,ve,ze){var Xe,Je,Ye,Ue=Ae?ke:xe,Qe=0,qe=-1,et=null,tt=null,it=[];if(!ze)for(et=0,ze=[];et<ve;et++)ze[et]=V(Ce[et]);for(be=Ae,Se=we=ye=!1,tt=0;tt<ve;tt++){if(Ye=Qe,it[tt]=Xe=function(Ce,Ie,ve,be){var xe,ke,ze,Xe=Ie[be];switch(Xe){case Ee:case Re:ye=!1;case Le:case $e:return Xe;case _e:return ye?$e:_e;case Ne:return ye=!0,Re;case Ge:return Le;case Pe:return be<1||be+1>=Ie.length||(xe=ve[be-1])!=_e&&xe!=$e||(Je=Ie[be+1])!=_e&&Je!=$e?Le:(Je=ye?$e:Je)==xe?Je:Le;case Fe:return(xe=0<be?ve[be-1]:Be)==_e&&be+1<Ie.length&&Ie[be+1]==_e?_e:Le;case He:if(0<be&&ve[be-1]==_e)return _e;if(ye)return Le;for(ze=be+1,ke=Ie.length;ze<ke&&Ie[ze]==He;)ze++;return ze<ke&&Ie[ze]==_e?_e:Le;case Ve:for(ke=Ie.length,ze=be+1;ze<ke&&Ie[ze]==Ve;)ze++;if(ze<ke){var Je=1425<=(Je=Ce[be])&&Je<=2303||64286==Je;if(xe=Ie[ze],Je&&(xe==Re||xe==Ne))return Re}return be<1||(xe=Ie[be-1])==Be?Le:ve[be-1];case Be:return we=!(ye=!1),Ae;case We:return Se=!0,Le;case Ze:case Me:case De:case Ke:case Oe:ye=!1;case je:return Le}}(Ce,ze,it,tt),Ye=240&(Qe=Ue[Ye][Xe]),Qe&=15,Ie[tt]=Je=Ue[Qe][5],0<Ye)if(16==Ye){for(et=qe;et<tt;et++)Ie[et]=1;qe=-1}else qe=-1;if(Ue[Qe][6])-1==qe&&(qe=tt);else if(-1<qe){for(et=qe;et<tt;et++)Ie[et]=Je;qe=-1}ze[tt]==Be&&(Ie[tt]=0),be|=Je}if(Se)for(et=0;et<ve;et++)if(ze[et]==We){Ie[et]=Ae;for(var nt=et-1;0<=nt&&ze[nt]==Ge;nt--)Ie[nt]=Ae}}function h(Ce,Ie,ve){if(!(be<Ce))if(1!=Ce||1!=Ae||we)for(var ye,Se,xe,ke,Ee=ve.length,Re=0;Re<Ee;){if(Ie[Re]>=Ce){for(ye=Re+1;ye<Ee&&Ie[ye]>=Ce;)ye++;for(Se=Re,xe=ye-1;Se<xe;Se++,xe--)ke=ve[Se],ve[Se]=ve[xe],ve[xe]=ke;Re=ye}Re++}else ve.reverse()}function V(Ce){var Ie=Ce.charCodeAt(0),ve=Ie>>8;return 0==ve?191<Ie?Ee:ze[Ie]:5==ve?/[\u0591-\u05f4]/.test(Ce)?Re:Ee:6==ve?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(Ce)?Ve:/[\u0660-\u0669\u066b-\u066c]/.test(Ce)?$e:1642==Ie?He:/[\u06f0-\u06f9]/.test(Ce)?_e:Ne:32==ve&&Ie<=8287?Xe[255&Ie]:254==ve&&65136<=Ie?Ne:Le}Ie.L=Ee,Ie.R=Re,Ie.EN=_e,Ie.ON_R=3,Ie.AN=4,Ie.R_H=5,Ie.B=6,Ie.RLE=7,Ie.DOT="·",Ie.doBidiReorder=function(Ce,ve,be){if(Ce.length<2)return{};var ye=Ce.split(""),we=new Array(ye.length),Se=new Array(ye.length),xe=[];Ae=be?1:0,c(ye,xe,ye.length,ve);for(var ke=0;ke<we.length;we[ke]=ke,ke++);for(h(2,xe,we),h(1,xe,we),ke=0;ke<we.length-1;ke++)ve[ke]===$e?xe[ke]=Ie.AN:xe[ke]===Re&&(ve[ke]>Ne&&ve[ke]<Ze||ve[ke]===Le||ve[ke]===je)?xe[ke]=Ie.ON_R:0<ke&&"ل"===ye[ke-1]&&/\u0622|\u0623|\u0625|\u0627/.test(ye[ke])&&(xe[ke-1]=xe[ke]=Ie.R_H,ke++);for(ye[ye.length-1]===Ie.DOT&&(xe[ye.length-1]=Ie.B),""===ye[0]&&(xe[0]=Ie.RLE),ke=0;ke<we.length;ke++)Se[ke]=xe[we[ke]];return{logicalFromVisual:we,bidiLevels:Se}},Ie.hasBidiCharacters=function(Ce,Ie){for(var ve=!1,Ae=0;Ae<Ce.length;Ae++)Ie[Ae]=V(Ce.charAt(Ae)),ve||Ie[Ae]!=Re&&Ie[Ae]!=Ne&&Ie[Ae]!=$e||(ve=!0);return ve},Ie.getVisualFromLogicalIdx=function(Ce,Ie){for(var ve=0;ve<Ie.logicalFromVisual.length;ve++)if(Ie.logicalFromVisual[ve]==Ce)return ve;return 0}})),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],(function(Ce,Ie,ve){"use strict";function n(Ce){this.session=Ce,this.bidiMap={},this.currentRow=null,this.bidiUtil=Ae,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=ye.test(Ce.getValue())}var Ae=Ce("./lib/bidiutil"),be=Ce("./lib/lang"),ye=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/;(function(){this.isBidiRow=function(Ce,Ie,ve){return!!this.seenBidi&&(Ce!==this.currentRow&&(this.currentRow=Ce,this.updateRowLine(Ie,ve),this.updateBidiMap()),this.bidiMap.bidiLevels)},this.onChange=function(Ce){this.seenBidi?this.currentRow=null:"insert"==Ce.action&&ye.test(Ce.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var Ce=0,Ie=this.session.$screenRowCache;return!Ie.length||0<=(Ie=this.session.$getRowCacheIndex(Ie,this.currentRow))&&(Ce=this.session.$docRowCache[Ie]),Ce},this.getSplitIndex=function(){var Ce=0,Ie=this.session.$screenRowCache;if(Ie.length)for(var ve,Ae=this.session.$getRowCacheIndex(Ie,this.currentRow);0<this.currentRow-Ce&&(ve=this.session.$getRowCacheIndex(Ie,this.currentRow-Ce-1))===Ae;)Ae=ve,Ce++;else Ce=this.currentRow;return Ce},this.updateRowLine=function(Ce,Ie){var ve,ye=(Ce=void 0===Ce?this.getDocumentRow():Ce)===this.session.getLength()-1?this.EOF:this.EOL,we=(this.wrapIndent=0,this.line=this.session.getLine(Ce),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode?((Ce=this.session.$wrapData[Ce])&&(0<(Ie=void 0===Ie?this.getSplitIndex():Ie)&&Ce.length?(this.wrapIndent=Ce.indent,this.wrapOffset=this.wrapIndent*this.charWidths[Ae.L],this.line=Ie<Ce.length?this.line.substring(Ce[Ie-1],Ce[Ie]):this.line.substring(Ce[Ce.length-1])):this.line=this.line.substring(0,Ce[Ie])),Ie==Ce.length&&(this.line+=this.showInvisibles?ye:Ae.DOT)):this.line+=this.showInvisibles?ye:Ae.DOT,this.session),Se=0;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,(function(Ce,Ie){return"\t"===Ce||we.isFullWidth(Ce.charCodeAt(0))?(ve="\t"===Ce?we.getScreenTabSize(Ie+Se):2,Se+=ve-1,be.stringRepeat(Ae.DOT,ve)):Ce})),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==Ae.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},this.updateBidiMap=function(){var Ce=[];Ae.hasBidiCharacters(this.line,Ce)||this.isRtlDir?this.bidiMap=Ae.doBidiReorder(this.line,Ce,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(Ce){var Ie;this.characterWidth!==Ce.$characterSize.width&&(this.fontMetrics=Ce,Ie=this.characterWidth=Ce.$characterSize.width,Ce=Ce.$measureCharWidth("ה"),this.charWidths[Ae.L]=this.charWidths[Ae.EN]=this.charWidths[Ae.ON_R]=Ie,this.charWidths[Ae.R]=this.charWidths[Ae.AN]=Ce,this.charWidths[Ae.R_H]=.45*Ce,this.charWidths[Ae.B]=this.charWidths[Ae.RLE]=0,this.currentRow=null)},this.setShowInvisibles=function(Ce){this.showInvisibles=Ce,this.currentRow=null},this.setEolChar=function(Ce){this.EOL=Ce},this.setContentWidth=function(Ce){this.contentWidth=Ce},this.isRtlLine=function(Ce){return!!this.$isRtl||(null!=Ce?this.session.getLine(Ce).charAt(0)==this.RLE:this.isRtlDir)},this.setRtlDirection=function(Ce,Ie){for(var ve=Ce.getCursorPosition(),Ae=Ce.selection.getSelectionAnchor().row;Ae<=ve.row;Ae++)Ie||Ce.session.getLine(Ae).charAt(0)!==Ce.session.$bidiHandler.RLE?Ie&&Ce.session.getLine(Ae).charAt(0)!==Ce.session.$bidiHandler.RLE&&Ce.session.doc.insert({column:0,row:Ae},Ce.session.$bidiHandler.RLE):Ce.session.doc.removeInLine(Ae,0,1)},this.getPosLeft=function(Ce){Ce-=this.wrapIndent;var Ie=this.line.charAt(0)===this.RLE?1:0,ve=Ie<Ce?this.session.getOverwrite()?Ce:Ce-1:Ie,be=Ae.getVisualFromLogicalIdx(ve,this.bidiMap),ye=this.bidiMap.bidiLevels,we=0;!this.session.getOverwrite()&&Ce<=Ie&&ye[be]%2!=0&&be++;for(var Se=0;Se<be;Se++)we+=this.charWidths[ye[Se]];return!this.session.getOverwrite()&&Ie<Ce&&ye[be]%2==0&&(we+=this.charWidths[ye[be]]),this.wrapIndent&&(we+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(we+=this.rtlLineOffset),we},this.getSelections=function(Ce,Ie){var ve,Ae=this.bidiMap,be=Ae.bidiLevels,ye=[],we=0,Se=Math.min(Ce,Ie)-this.wrapIndent,xe=Math.max(Ce,Ie)-this.wrapIndent,ke=!1,Ee=!1,Re=0;this.wrapIndent&&(we+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var _e,$e=0;$e<be.length;$e++)_e=Ae.logicalFromVisual[$e],ve=be[$e],(ke=Se<=_e&&_e<xe)&&!Ee?Re=we:!ke&&Ee&&ye.push({left:Re,width:we-Re}),we+=this.charWidths[ve],Ee=ke;if(ke&&$e===be.length&&ye.push({left:Re,width:we-Re}),this.isRtlDir)for(var Le=0;Le<ye.length;Le++)ye[Le].left+=this.rtlLineOffset;return ye},this.offsetToCol=function(Ce){this.isRtlDir&&(Ce-=this.rtlLineOffset);var Ie=0,ve=(Ce=Math.max(Ce,0),0),Ae=0,be=this.bidiMap.bidiLevels,ye=this.charWidths[be[Ae]];for(this.wrapIndent&&(Ce-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);ve+ye/2<Ce;){if(ve+=ye,Ae===be.length-1){ye=0;break}ye=this.charWidths[be[++Ae]]}return 0===(Ie=0<Ae&&be[Ae-1]%2!=0&&be[Ae]%2==0?(Ce<ve&&Ae--,this.bidiMap.logicalFromVisual[Ae]):0<Ae&&be[Ae-1]%2==0&&be[Ae]%2!=0?1+(ve<Ce?this.bidiMap.logicalFromVisual[Ae]:this.bidiMap.logicalFromVisual[Ae-1]):this.isRtlDir&&Ae===be.length-1&&0===ye&&be[Ae-1]%2==0||!this.isRtlDir&&0===Ae&&be[Ae]%2!=0?1+this.bidiMap.logicalFromVisual[Ae]:(0<Ae&&be[Ae-1]%2!=0&&0!==ye&&Ae--,this.bidiMap.logicalFromVisual[Ae]))&&this.isRtlDir&&Ie++,Ie+this.wrapIndent}}).call(n.prototype),Ie.BidiHandler=n})),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],(function(Ce,Ie,ve){"use strict";function n(Ce){this.session=Ce,this.doc=Ce.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var Ie=this;this.cursor.on("change",(function(Ce){Ie.$cursorChanged=!0,Ie.$silent||Ie._emit("changeCursor"),Ie.$isEmpty||Ie.$silent||Ie._emit("changeSelection"),Ie.$keepDesiredColumnOnChange||Ce.old.column==Ce.value.column||(Ie.$desiredColumn=null)})),this.anchor.on("change",(function(){Ie.$anchorChanged=!0,Ie.$isEmpty||Ie.$silent||Ie._emit("changeSelection")}))}var Ae=Ce("./lib/oop"),be=Ce("./lib/lang"),ye=Ce("./lib/event_emitter").EventEmitter,we=Ce("./range").Range;(function(){Ae.implement(this,ye),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(Ce,Ie){this.$isEmpty=!1,this.anchor.setPosition(Ce,Ie)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var Ce=this.anchor,Ie=this.lead;return Ce.row>Ie.row||Ce.row==Ie.row&&Ce.column>Ie.column},this.getRange=function(){var Ce=this.anchor,Ie=this.lead;return this.$isEmpty?we.fromPoints(Ie,Ie):this.isBackwards()?we.fromPoints(Ie,Ce):we.fromPoints(Ce,Ie)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(Ce,Ie){var ve=Ie?Ce.end:Ce.start;Ie=Ie?Ce.start:Ce.end,this.$setSelection(ve.row,ve.column,Ie.row,Ie.column)},this.$setSelection=function(Ce,Ie,ve,Ae){var be,ye;this.$silent||(be=this.$isEmpty,ye=this.inMultiSelectMode,this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(Ce,Ie),this.cursor.setPosition(ve,Ae),this.$isEmpty=!we.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||be!=this.$isEmpty||ye)&&this._emit("changeSelection"))},this.$moveSelection=function(Ce){var Ie=this.lead;this.$isEmpty&&this.setSelectionAnchor(Ie.row,Ie.column),Ce.call(this)},this.selectTo=function(Ce,Ie){this.$moveSelection((function(){this.moveCursorTo(Ce,Ie)}))},this.selectToPosition=function(Ce){this.$moveSelection((function(){this.moveCursorToPosition(Ce)}))},this.moveTo=function(Ce,Ie){this.clearSelection(),this.moveCursorTo(Ce,Ie)},this.moveToPosition=function(Ce){this.clearSelection(),this.moveCursorToPosition(Ce)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(Ce,Ie){var ve;return void 0===Ie&&(Ce=(ve=Ce||this.lead).row,Ie=ve.column),this.session.getWordRange(Ce,Ie)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var Ce=this.getCursor();Ce=this.session.getAWordRange(Ce.row,Ce.column),this.setSelectionRange(Ce)},this.getLineRange=function(Ce,Ie){Ce="number"==typeof Ce?Ce:this.lead.row;var ve=(ve=this.session.getFoldLine(Ce))?(Ce=ve.start.row,ve.end.row):Ce;return!0===Ie?new we(Ce,0,ve,this.session.getLine(ve).length):new we(Ce,0,ve+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(Ce,Ie,ve){var Ae=Ce.column,be=Ce.column+Ie;return ve<0&&(Ae=Ce.column-Ie,be=Ce.column),this.session.isTabStop(Ce)&&this.doc.getLine(Ce.row).slice(Ae,be).split(" ").length-1==Ie},this.moveCursorLeft=function(){var Ce,Ie=this.lead.getPosition();(Ce=this.session.getFoldAt(Ie.row,Ie.column,-1))?this.moveCursorTo(Ce.start.row,Ce.start.column):0===Ie.column?0<Ie.row&&this.moveCursorTo(Ie.row-1,this.doc.getLine(Ie.row-1).length):(Ce=this.session.getTabSize(),this.wouldMoveIntoSoftTab(Ie,Ce,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-Ce):this.moveCursorBy(0,-1))},this.moveCursorRight=function(){var Ce,Ie=this.lead.getPosition();(Ce=this.session.getFoldAt(Ie.row,Ie.column,1))?this.moveCursorTo(Ce.end.row,Ce.end.column):this.lead.column==this.doc.getLine(this.lead.row).length?this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0):(Ce=this.session.getTabSize(),Ie=this.lead,this.wouldMoveIntoSoftTab(Ie,Ce,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,Ce):this.moveCursorBy(0,1))},this.moveCursorLineStart=function(){var Ce=this.lead.row,Ie=this.lead.column,ve=this.session.documentToScreenRow(Ce,Ie);ve=this.session.screenToDocumentPosition(ve,0),(Ce=this.session.getDisplayLine(Ce,null,ve.row,ve.column).match(/^\s*/))[0].length==Ie||this.session.$useEmacsStyleLineStart||(ve.column+=Ce[0].length),this.moveCursorToPosition(ve)},this.moveCursorLineEnd=function(){var Ce,Ie=this.lead;Ie=this.session.getDocumentLastRowColumnPosition(Ie.row,Ie.column),this.lead.column==Ie.column&&(Ce=this.session.getLine(Ie.row),Ie.column!=Ce.length||0<(Ce=Ce.search(/\s+$/))&&(Ie.column=Ce)),this.moveCursorTo(Ie.row,Ie.column)},this.moveCursorFileEnd=function(){var Ce=this.doc.getLength()-1,Ie=this.doc.getLine(Ce).length;this.moveCursorTo(Ce,Ie)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var Ce=this.lead.row,Ie=this.lead.column,ve=this.doc.getLine(Ce),Ae=ve.substring(Ie),be=(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.getFoldAt(Ce,Ie,1));if(be)this.moveCursorTo(be.end.row,be.end.column);else{if(this.session.nonTokenRe.exec(Ae)&&(Ie+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,Ae=ve.substring(Ie)),Ie>=ve.length)return this.moveCursorTo(Ce,ve.length),this.moveCursorRight(),void(Ce<this.doc.getLength()-1&&this.moveCursorWordRight());this.session.tokenRe.exec(Ae)&&(Ie+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(Ce,Ie)}},this.moveCursorLongWordLeft=function(){var Ce=this.lead.row,Ie=this.lead.column;if(ve=this.session.getFoldAt(Ce,Ie,-1))this.moveCursorTo(ve.start.row,ve.start.column);else{var ve=(null==(ve=this.session.getFoldStringAt(Ce,Ie,-1))&&(ve=this.doc.getLine(Ce).substring(0,Ie)),be.stringReverse(ve));if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(ve)&&(Ie-=this.session.nonTokenRe.lastIndex,ve=ve.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),Ie<=0)return this.moveCursorTo(Ce,0),this.moveCursorLeft(),void(0<Ce&&this.moveCursorWordLeft());this.session.tokenRe.exec(ve)&&(Ie-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(Ce,Ie)}},this.$shortWordEndIndex=function(Ce){var Ie,ve=0,Ae=/\s/,be=this.session.tokenRe;if(be.lastIndex=0,this.session.tokenRe.exec(Ce))ve=this.session.tokenRe.lastIndex;else{for(;(Ie=Ce[ve])&&Ae.test(Ie);)ve++;if(ve<1)for(be.lastIndex=0;(Ie=Ce[ve])&&!be.test(Ie);)if(be.lastIndex=0,ve++,Ae.test(Ie)){if(2<ve){ve--;break}for(;(Ie=Ce[ve])&&Ae.test(Ie);)ve++;if(2<ve)break}}return be.lastIndex=0,ve},this.moveCursorShortWordRight=function(){var Ce=this.lead.row,Ie=this.lead.column,ve=this.doc.getLine(Ce),Ae=ve.substring(Ie),be=this.session.getFoldAt(Ce,Ie,1);if(be)return this.moveCursorTo(be.end.row,be.end.column);if(Ie==ve.length){for(var ye=this.doc.getLength();Ae=this.doc.getLine(++Ce),Ce<ye&&/^\s*$/.test(Ae););/^\s+/.test(Ae)||(Ae=""),Ie=0}be=this.$shortWordEndIndex(Ae),this.moveCursorTo(Ce,Ie+be)},this.moveCursorShortWordLeft=function(){var Ce=this.lead.row,Ie=this.lead.column;if(Ae=this.session.getFoldAt(Ce,Ie,-1))return this.moveCursorTo(Ae.start.row,Ae.start.column);var ve=this.session.getLine(Ce).substring(0,Ie);if(0===Ie){for(;ve=this.doc.getLine(--Ce),0<Ce&&/^\s*$/.test(ve););Ie=ve.length,/\s+$/.test(ve)||(ve="")}var Ae=be.stringReverse(ve);return Ae=this.$shortWordEndIndex(Ae),this.moveCursorTo(Ce,Ie-Ae)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(Ce,Ie){var ve,Ae=this.session.documentToScreenPosition(this.lead.row,this.lead.column),be=(0===Ie&&(0!==Ce&&(this.session.$bidiHandler.isBidiRow(Ae.row,this.lead.row)?(ve=this.session.$bidiHandler.getPosLeft(Ae.column),Ae.column=Math.round(ve/this.session.$bidiHandler.charWidths[0])):ve=Ae.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?Ae.column=this.$desiredColumn:this.$desiredColumn=Ae.column),0!=Ce&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]&&(be=this.session.lineWidgets[this.lead.row],Ce<0?Ce-=be.rowsAbove||0:0<Ce&&(Ce+=be.rowCount-(be.rowsAbove||0))),this.session.screenToDocumentPosition(Ae.row+Ce,Ae.column,ve));0!==Ce&&0===Ie&&be.row===this.lead.row&&(be.column,this.lead.column),this.moveCursorTo(be.row,be.column+Ie,0===Ie)},this.moveCursorToPosition=function(Ce){this.moveCursorTo(Ce.row,Ce.column)},this.moveCursorTo=function(Ce,Ie,ve){var Ae=((Ae=this.session.getFoldAt(Ce,Ie,1))&&(Ce=Ae.start.row,Ie=Ae.start.column),this.$keepDesiredColumnOnChange=!0,this.session.getLine(Ce));/[\uDC00-\uDFFF]/.test(Ae.charAt(Ie))&&Ae.charAt(Ie-1)&&(this.lead.row==Ce&&this.lead.column==Ie+1?Ie-=1:Ie+=1),this.lead.setPosition(Ce,Ie),this.$keepDesiredColumnOnChange=!1,ve||(this.$desiredColumn=null)},this.moveCursorToScreen=function(Ce,Ie,ve){Ce=this.session.screenToDocumentPosition(Ce,Ie),this.moveCursorTo(Ce.row,Ce.column,ve)},this.detach=function(){this.lead.detach(),this.anchor.detach()},this.fromOrientedRange=function(Ce){this.setSelectionRange(Ce,Ce.cursor==Ce.start),this.$desiredColumn=Ce.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(Ce){var Ie=this.getRange();return Ce?(Ce.start.column=Ie.start.column,Ce.start.row=Ie.start.row,Ce.end.column=Ie.end.column,Ce.end.row=Ie.end.row):Ce=Ie,Ce.cursor=this.isBackwards()?Ce.start:Ce.end,Ce.desiredColumn=this.$desiredColumn,Ce},this.getRangeOfMovements=function(Ce){var Ie=this.getCursor();try{Ce(this);var ve=this.getCursor();return we.fromPoints(Ie,ve)}catch(Ce){return we.fromPoints(Ie,Ie)}finally{this.moveCursorToPosition(Ie)}},this.toJSON=function(){var Ce;return this.rangeCount?Ce=this.ranges.map((function(Ce){var Ie=Ce.clone();return Ie.isBackwards=Ce.cursor==Ce.start,Ie})):(Ce=this.getRange()).isBackwards=this.isBackwards(),Ce},this.fromJSON=function(Ce){if(null==Ce.start){if(this.rangeList&&1<Ce.length){this.toSingleRange(Ce[0]);for(var Ie=Ce.length;Ie--;){var ve=we.fromPoints(Ce[Ie].start,Ce[Ie].end);Ce[Ie].isBackwards&&(ve.cursor=ve.start),this.addRange(ve,!0)}return}Ce=Ce[0]}this.rangeList&&this.toSingleRange(Ce),this.setSelectionRange(Ce,Ce.isBackwards)},this.isEqual=function(Ce){if((Ce.length||this.rangeCount)&&Ce.length!=this.rangeCount)return!1;if(!Ce.length||!this.ranges)return this.getRange().isEqual(Ce);for(var Ie=this.ranges.length;Ie--;)if(!this.ranges[Ie].isEqual(Ce[Ie]))return!1;return!0}}).call(n.prototype),Ie.Selection=n})),ace.define("ace/tokenizer",["require","exports","module","ace/config"],(function(Ce,Ie,ve){"use strict";function n(Ce){for(var Ie in this.states=Ce,this.regExps={},this.matchMappings={},this.states){for(var ve=this.states[Ie],Ae=[],be=0,ye=this.matchMappings[Ie]={defaultToken:"text"},we="g",Se=[],xe=0;xe<ve.length;xe++){var ke,Ee,Re=ve[xe];Re.defaultToken&&(ye.defaultToken=Re.defaultToken),Re.caseInsensitive&&(we="gi"),null!=Re.regex&&(Re.regex instanceof RegExp&&(Re.regex=Re.regex.toString().slice(1,-1)),ke=Re.regex,Ee=new RegExp("(?:("+ke+")|(.))").exec("a").length-2,Array.isArray(Re.token)?1==Re.token.length||1==Ee?Re.token=Re.token[0]:Ee-1!=Re.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:Re,groupCount:Ee-1}),Re.token=Re.token[0]):(Re.tokenArray=Re.token,Re.token=null,Re.onMatch=this.$arrayTokens):"function"!=typeof Re.token||Re.onMatch||(Re.onMatch=1<Ee?this.$applyToken:Re.token),1<Ee&&(ke=/\\\d/.test(Re.regex)?Re.regex.replace(/\\([0-9]+)/g,(function(Ce,Ie){return"\\"+(parseInt(Ie,10)+be+1)})):(Ee=1,this.removeCapturingGroups(Re.regex)),Re.splitRegex||"string"==typeof Re.token||Se.push(Re)),ye[be]=xe,be+=Ee,Ae.push(ke),Re.onMatch||(Re.onMatch=null))}Ae.length||(ye[0]=0,Ae.push("$")),Se.forEach((function(Ce){Ce.splitRegex=this.createSplitterRegexp(Ce.regex,we)}),this),this.regExps[Ie]=new RegExp("("+Ae.join(")|(")+")|($)",we)}}var Ae=Ce("./config"),be=2e3;(function(){this.$setMaxTokenCount=function(Ce){be=0|Ce},this.$applyToken=function(Ce){var Ie=this.splitRegex.exec(Ce).slice(1),ve=this.token.apply(this,Ie);if("string"==typeof ve)return[{type:ve,value:Ce}];for(var Ae=[],be=0,ye=ve.length;be<ye;be++)Ie[be]&&(Ae[Ae.length]={type:ve[be],value:Ie[be]});return Ae},this.$arrayTokens=function(Ce){if(!Ce)return[];var Ie=this.splitRegex.exec(Ce);if(!Ie)return"text";for(var ve=[],Ae=this.tokenArray,be=0,ye=Ae.length;be<ye;be++)Ie[be+1]&&(ve[ve.length]={type:Ae[be],value:Ie[be+1]});return ve},this.removeCapturingGroups=function(Ce){return Ce.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,(function(Ce,Ie){return Ie?"(?:":Ce}))},this.createSplitterRegexp=function(Ce,Ie){var ve,Ae,be;return-1!=Ce.indexOf("(?=")&&(ve=0,Ae=!1,be={},Ce.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,(function(Ce,Ie,ye,we,Se,xe){return Ae?Ae="]"!=Se:Se?Ae=!0:we?(ve==be.stack&&(be.end=xe+1,be.stack=-1),ve--):ye&&(ve++,1!=ye.length&&(be.stack=ve,be.start=xe)),Ce})),null!=be.end&&/^\)*$/.test(Ce.substr(be.end))&&(Ce=Ce.substring(0,be.start)+Ce.substr(be.end))),"$"!=(Ce="^"!=Ce.charAt(0)?"^"+Ce:Ce).charAt(Ce.length-1)&&(Ce+="$"),new RegExp(Ce,(Ie||"").replace("g",""))},this.getLineTokens=function(Ce,Ie){Ie&&"string"!=typeof Ie?"#tmp"===(Ie=(ve=Ie.slice(0))[0])&&(ve.shift(),Ie=ve.shift()):ve=[];for(var ve,Ae,ye=Ie||"start",we=(we=this.states[ye])||this.states[ye="start"],Se=this.matchMappings[ye],xe=this.regExps[ye],ke=[],Ee=xe.lastIndex=0,Re=0,_e={type:null,value:""};Ae=xe.exec(Ce);){var $e,Le=Se.defaultToken,Be=null,We=Ae[0],Ne=xe.lastIndex;Ne-We.length>Ee&&($e=Ce.substring(Ee,Ne-We.length),_e.type==Le?_e.value+=$e:(_e.type&&ke.push(_e),_e={type:Le,value:$e}));for(var Ge=0;Ge<Ae.length-2;Ge++)if(void 0!==Ae[Ge+1]){Le=(Be=we[Se[Ge]]).onMatch?Be.onMatch(We,ye,ve,Ce):Be.token,Be.next&&(ye="string"==typeof Be.next?Be.next:Be.next(ye,ve),(we=this.states[ye])||(this.reportError("state doesn't exist",ye),we=this.states[ye="start"]),Se=this.matchMappings[ye],(xe=this.regExps[ye]).lastIndex=Ee=Ne),Be.consumeLineEnd&&(Ee=Ne);break}if(We)if("string"==typeof Le)Be&&!1===Be.merge||_e.type!==Le?(_e.type&&ke.push(_e),_e={type:Le,value:We}):_e.value+=We;else if(Le)for(_e.type&&ke.push(_e),_e={type:null,value:""},Ge=0;Ge<Le.length;Ge++)ke.push(Le[Ge]);if(Ee==Ce.length)break;if(Ee=Ne,Re++>be){for(Re>2*Ce.length&&this.reportError("infinite loop with in ace tokenizer",{startState:Ie,line:Ce});Ee<Ce.length;)_e.type&&ke.push(_e),_e={value:Ce.substring(Ee,Ee+=500),type:"overflow"};ye="start",ve=[];break}}return _e.type&&ke.push(_e),1<ve.length&&ve[0]!==ye&&ve.unshift("#tmp",ye),{tokens:ke,state:ve.length?ve:ye}},this.reportError=Ae.reportError}).call(n.prototype),Ie.Tokenizer=n})),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],(function(Ce,Ie,ve){"use strict";function n(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}}var Ae=Ce("../lib/lang");(function(){function d(Ce,Ie){return"start"==Ce&&!Ie.length||Ie.unshift(this.nextState,Ce),this.nextState}function u(Ce,Ie){return Ie.shift(),Ie.shift()||"start"}this.addRules=function(Ce,Ie){if(Ie)for(var ve in Ce){for(var Ae=Ce[ve],be=0;be<Ae.length;be++){var ye=Ae[be];(ye.next||ye.onMatch)&&("string"==typeof ye.next&&0!==ye.next.indexOf(Ie)&&(ye.next=Ie+ye.next),ye.nextState&&0!==ye.nextState.indexOf(Ie)&&(ye.nextState=Ie+ye.nextState))}this.$rules[Ie+ve]=Ae}else for(var ve in Ce)this.$rules[ve]=Ce[ve]},this.getRules=function(){return this.$rules},this.embedRules=function(Ce,Ie,ve,be,ye){if(Ce="function"==typeof Ce?(new Ce).getRules():Ce,be)for(var we=0;we<be.length;we++)be[we]=Ie+be[we];else for(var Se in be=[],Ce)be.push(Ie+Se);if(this.addRules(Ce,Ie),ve){var xe=Array.prototype[ye?"push":"unshift"];for(we=0;we<be.length;we++)xe.apply(this.$rules[be[we]],Ae.deepCopy(ve))}this.$embeds||(this.$embeds=[]),this.$embeds.push(Ie)},this.getEmbeds=function(){return this.$embeds},this.normalizeRules=function(){var Ce=0,Ie=this.$rules;Object.keys(Ie).forEach((function e(ve){var Ae=Ie[ve];Ae.processed=!0;for(var be=0;be<Ae.length;be++){var ye=Ae[be],we=null,Se=(Array.isArray(ye)&&(we=ye,ye={}),!ye.regex&&ye.start&&(ye.regex=ye.start,ye.next||(ye.next=[]),ye.next.push({defaultToken:ye.token},{token:ye.token+".end",regex:ye.end||ye.start,next:"pop"}),ye.token=ye.token+".start",ye.push=!0),ye.next||ye.push);if(Se&&Array.isArray(Se)?((ke=ye.stateName)||("string"!=typeof(ke=ye.token)&&(ke=ke[0]||""),Ie[ke]&&(ke+=Ce++)),Ie[ke]=Se,e(ye.next=ke)):"pop"==Se&&(ye.next=u),ye.push&&(ye.nextState=ye.next||ye.push,ye.next=d,delete ye.push),ye.rules)for(var xe in ye.rules)Ie[xe]?Ie[xe].push&&Ie[xe].push.apply(Ie[xe],ye.rules[xe]):Ie[xe]=ye.rules[xe];var ke="string"==typeof ye?ye:ye.include;(we=ke?Array.isArray(ke)?ke.map((function(Ce){return Ie[Ce]})):Ie[ke]:we)&&(Se=[be,1].concat(we),ye.noEscape&&(Se=Se.filter((function(Ce){return!Ce.next}))),Ae.splice.apply(Ae,Se),be--),ye.keywordMap&&(ye.token=this.createKeywordMapper(ye.keywordMap,ye.defaultToken||"text",ye.caseInsensitive),delete ye.defaultToken)}}),this)},this.createKeywordMapper=function(Ce,Ie,ve,Ae){var be=Object.create(null);return this.$keywordList=[],Object.keys(Ce).forEach((function(Ie){for(var ye=Ce[Ie].split(Ae||"|"),we=ye.length;we--;){var Se=ye[we];this.$keywordList.push(Se),ve&&(Se=Se.toLowerCase()),be[Se]=Ie}}),this),Ce=null,ve?function(Ce){return be[Ce.toLowerCase()]||Ie}:function(Ce){return be[Ce]||Ie}},this.getKeywords=function(){return this.$keywords}}).call(n.prototype),Ie.TextHighlightRules=n})),ace.define("ace/mode/behaviour",["require","exports","module"],(function(Ce,Ie,ve){"use strict";function n(){this.$behaviours={}}(function(){this.add=function(Ce,Ie,ve){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[Ce]:this.$behaviours[Ce]={}}this.$behaviours[Ce][Ie]=ve},this.addBehaviours=function(Ce){for(var Ie in Ce)for(var ve in Ce[Ie])this.add(Ie,ve,Ce[Ie][ve])},this.remove=function(Ce){this.$behaviours&&this.$behaviours[Ce]&&delete this.$behaviours[Ce]},this.inherit=function(Ce,Ie){Ce=("function"==typeof Ce?new Ce:Ce).getBehaviours(Ie),this.addBehaviours(Ce)},this.getBehaviours=function(Ce){if(Ce){for(var Ie={},ve=0;ve<Ce.length;ve++)this.$behaviours[Ce[ve]]&&(Ie[Ce[ve]]=this.$behaviours[Ce[ve]]);return Ie}return this.$behaviours}}).call(n.prototype),Ie.Behaviour=n})),ace.define("ace/token_iterator",["require","exports","module","ace/range"],(function(Ce,Ie,ve){"use strict";function n(Ce,Ie,ve){this.$session=Ce,this.$row=Ie,this.$rowTokens=Ce.getTokens(Ie),Ce=Ce.getTokenAt(Ie,ve),this.$tokenIndex=Ce?Ce.index:-1}var Ae=Ce("./range").Range;(function(){this.stepBackward=function(){for(--this.$tokenIndex;this.$tokenIndex<0;){if(--this.$row,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){var Ce;for(this.$tokenIndex+=1;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,Ce=Ce||this.$session.getLength(),this.$row>=Ce)return this.$row=Ce-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var Ce=this.$rowTokens,Ie=this.$tokenIndex,ve=Ce[Ie].start;if(void 0!==ve)return ve;for(ve=0;0<Ie;)ve+=Ce[--Ie].value.length;return ve},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var Ce=this.$rowTokens[this.$tokenIndex],Ie=this.getCurrentTokenColumn();return new Ae(this.$row,Ie,this.$row,Ie+Ce.value.length)}}).call(n.prototype),Ie.TokenIterator=n})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(Ce,Ie,ve){"use strict";function u(Ce){var Ie=-1;if(Ce.multiSelect&&(Ie=Ce.selection.index,Ee.rangeCount!=Ce.multiSelect.rangeCount&&(Ee={rangeCount:Ce.multiSelect.rangeCount})),Ee[Ie])return Ae=Ee[Ie];Ae=Ee[Ie]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}}function g(Ce,Ie,ve,Ae){var be=Ce.end.row-Ce.start.row;return{text:ve+Ie+Ae,selection:[0,Ce.start.column+1,be,Ce.end.column+(be?0:1)]}}function p(Ce){this.add("braces","insertion",(function(Ie,ve,be,ye,we){var xe=be.getCursorPosition(),ke=ye.doc.getLine(xe.row);if("{"==we)return u(be),Re=be.getSelectionRange(),""!==(_e=ye.doc.getTextRange(Re))&&"{"!==_e&&be.getWrapBehavioursEnabled()?g(Re,_e,"{","}"):p.isSaneInsertion(be,ye)?/[\]\}\)]/.test(ke[xe.column])||be.inMultiSelectMode||Ce&&Ce.braces?(p.recordAutoInsert(be,ye,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(be,ye,"{"),{text:"{",selection:[1,1]}):void 0;if("}"==we){u(be);var Ee=ke.substring(xe.column,xe.column+1);if("}"==Ee&&null!==ye.$findOpeningBracket("}",{column:xe.column+1,row:xe.row})&&p.isAutoInsertedClosing(xe,ke,we))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==we||"\r\n"==we){u(be);var Re="";if(p.isMaybeInsertedClosing(xe,ke)&&(Re=Se.stringRepeat("}",Ae.maybeInsertedBrackets),p.clearMaybeInsertedClosing()),"}"===(Ee=ke.substring(xe.column,xe.column+1))){var _e=ye.findMatchingBracket({row:xe.row,column:xe.column+1},"}");if(!_e)return null;var $e=this.$getIndent(ye.getLine(_e.row))}else{if(!Re)return void p.clearMaybeInsertedClosing();$e=this.$getIndent(ke)}return{text:"\n"+(we=$e+ye.getTabString())+"\n"+$e+Re,selection:[1,we.length,1,we.length]}}p.clearMaybeInsertedClosing()}})),this.add("braces","deletion",(function(Ce,Ie,ve,be,ye){var we=be.doc.getTextRange(ye);if(!ye.isMultiLine()&&"{"==we){if(u(ve),"}"==be.doc.getLine(ye.start.row).substring(ye.end.column,ye.end.column+1))return ye.end.column++,ye;Ae.maybeInsertedBrackets--}})),this.add("parens","insertion",(function(Ce,Ie,ve,Ae,be){if("("==be)return u(ve),ye=ve.getSelectionRange(),""!==(we=Ae.doc.getTextRange(ye))&&ve.getWrapBehavioursEnabled()?g(ye,we,"(",")"):p.isSaneInsertion(ve,Ae)?(p.recordAutoInsert(ve,Ae,")"),{text:"()",selection:[1,1]}):void 0;if(")"==be){u(ve);var ye=ve.getCursorPosition(),we=Ae.doc.getLine(ye.row);if(")"==(ve=we.substring(ye.column,ye.column+1))&&null!==Ae.$findOpeningBracket(")",{column:ye.column+1,row:ye.row})&&p.isAutoInsertedClosing(ye,we,be))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(Ce,Ie,ve,Ae,be){var ye=Ae.doc.getTextRange(be);if(!be.isMultiLine()&&"("==ye&&(u(ve),")"==Ae.doc.getLine(be.start.row).substring(be.start.column+1,be.start.column+2)))return be.end.column++,be})),this.add("brackets","insertion",(function(Ce,Ie,ve,Ae,be){if("["==be)return u(ve),ye=ve.getSelectionRange(),""!==(we=Ae.doc.getTextRange(ye))&&ve.getWrapBehavioursEnabled()?g(ye,we,"[","]"):p.isSaneInsertion(ve,Ae)?(p.recordAutoInsert(ve,Ae,"]"),{text:"[]",selection:[1,1]}):void 0;if("]"==be){u(ve);var ye=ve.getCursorPosition(),we=Ae.doc.getLine(ye.row);if("]"==(ve=we.substring(ye.column,ye.column+1))&&null!==Ae.$findOpeningBracket("]",{column:ye.column+1,row:ye.row})&&p.isAutoInsertedClosing(ye,we,be))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(Ce,Ie,ve,Ae,be){var ye=Ae.doc.getTextRange(be);if(!be.isMultiLine()&&"["==ye&&(u(ve),"]"==Ae.doc.getLine(be.start.row).substring(be.start.column+1,be.start.column+2)))return be.end.column++,be})),this.add("string_dquotes","insertion",(function(Ce,Ie,ve,Ae,be){var ye=Ae.$mode.$quotes||Re;if(1==be.length&&ye[be]&&(!this.lineCommentStart||-1==this.lineCommentStart.indexOf(be))){u(ve);var we=ve.getSelectionRange();if(!(""===(Se=Ae.doc.getTextRange(we))||1==Se.length&&ye[Se])&&ve.getWrapBehavioursEnabled())return g(we,Se,be,be);if(!Se){ye=ve.getCursorPosition();var Se=(we=Ae.doc.getLine(ye.row)).substring(ye.column-1,ye.column),xe=(ve=we.substring(ye.column,ye.column+1),Ae.getTokenAt(ye.row,ye.column)),ke=Ae.getTokenAt(ye.row,ye.column+1);if("\\"==Se&&xe&&/escape/.test(xe.type))return null;xe=xe&&/string|escape/.test(xe.type);var Ee,_e=!ke||/string|escape/.test(ke.type);if(ve==be)(Ee=xe!==_e)&&/string\.end/.test(ke.type)&&(Ee=!1);else{if(xe&&!_e)return null;if(xe&&_e)return null;if((ke=Ae.$mode.tokenRe).lastIndex=0,xe=ke.test(Se),ke.lastIndex=0,_e=ke.test(Se),xe||_e)return null;if(ve&&!/[\s;,.})\]\\]/.test(ve))return null;if(Ae=we[ye.column-2],Se==be&&(Ae==be||ke.test(Ae)))return null;Ee=!0}return{text:Ee?be+be:"",selection:[1,1]}}}})),this.add("string_dquotes","deletion",(function(Ce,Ie,ve,Ae,be){var ye=Ae.$mode.$quotes||Re,we=Ae.doc.getTextRange(be);if(!be.isMultiLine()&&ye.hasOwnProperty(we)&&(u(ve),Ae.doc.getLine(be.start.row).substring(be.start.column+1,be.start.column+2)==we))return be.end.column++,be}))}var Ae,be=Ce("../../lib/oop"),ye=Ce("../behaviour").Behaviour,we=Ce("../../token_iterator").TokenIterator,Se=Ce("../../lib/lang"),xe=["text","paren.rparen","rparen","paren","punctuation.operator"],ke=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],Ee={},Re={'"':'"',"'":"'"};p.isSaneInsertion=function(Ce,Ie){var ve=Ce.getCursorPosition(),Ae=new we(Ie,ve.row,ve.column);if(!this.$matchTokenType(Ae.getCurrentToken()||"text",xe)){if(/[)}\]]/.test(Ce.session.getLine(ve.row)[ve.column]))return!0;if(Ce=new we(Ie,ve.row,ve.column+1),!this.$matchTokenType(Ce.getCurrentToken()||"text",xe))return!1}return Ae.stepForward(),Ae.getCurrentTokenRow()!==ve.row||this.$matchTokenType(Ae.getCurrentToken()||"text",ke)},p.$matchTokenType=function(Ce,Ie){return-1<Ie.indexOf(Ce.type||Ce)},p.recordAutoInsert=function(Ce,Ie,ve){Ce=Ce.getCursorPosition(),Ie=Ie.doc.getLine(Ce.row),this.isAutoInsertedClosing(Ce,Ie,Ae.autoInsertedLineEnd[0])||(Ae.autoInsertedBrackets=0),Ae.autoInsertedRow=Ce.row,Ae.autoInsertedLineEnd=ve+Ie.substr(Ce.column),Ae.autoInsertedBrackets++},p.recordMaybeInsert=function(Ce,Ie,ve){Ce=Ce.getCursorPosition(),Ie=Ie.doc.getLine(Ce.row),this.isMaybeInsertedClosing(Ce,Ie)||(Ae.maybeInsertedBrackets=0),Ae.maybeInsertedRow=Ce.row,Ae.maybeInsertedLineStart=Ie.substr(0,Ce.column)+ve,Ae.maybeInsertedLineEnd=Ie.substr(Ce.column),Ae.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(Ce,Ie,ve){return 0<Ae.autoInsertedBrackets&&Ce.row===Ae.autoInsertedRow&&ve===Ae.autoInsertedLineEnd[0]&&Ie.substr(Ce.column)===Ae.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(Ce,Ie){return 0<Ae.maybeInsertedBrackets&&Ce.row===Ae.maybeInsertedRow&&Ie.substr(Ce.column)===Ae.maybeInsertedLineEnd&&Ie.substr(0,Ce.column)==Ae.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){Ae.autoInsertedLineEnd=Ae.autoInsertedLineEnd.substr(1),Ae.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){Ae&&(Ae.maybeInsertedBrackets=0,Ae.maybeInsertedRow=-1)},be.inherits(p,ye),Ie.CstyleBehaviour=p})),ace.define("ace/unicode",["require","exports","module"],(function(Ce,Ie,ve){"use strict";for(var Ae=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],be=0,ye=[],we=0;we<Ae.length;we+=2)ye.push(be+=Ae[we]),Ae[we+1]&&ye.push(45,be+=Ae[we+1]);Ie.wordChars=String.fromCharCode.apply(null,ye)})),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],(function(Ce,Ie,ve){"use strict";function i(){this.HighlightRules=ye}var Ae=Ce("../config"),be=Ce("../tokenizer").Tokenizer,ye=Ce("./text_highlight_rules").TextHighlightRules,we=Ce("./behaviour/cstyle").CstyleBehaviour,Se=Ce("../unicode"),xe=Ce("../lib/lang"),ke=Ce("../token_iterator").TokenIterator,Ee=Ce("../range").Range;(function(){this.$defaultBehaviour=new we,this.tokenRe=new RegExp("^["+Se.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+Se.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new be(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(Ce,Ie,ve,Ae){var be=Ie.doc,ye=!0,we=!0,Se=1/0,ke=Ie.getTabSize(),Ee=!1;if(this.lineCommentStart){_e=Array.isArray(this.lineCommentStart)?(Le=this.lineCommentStart.map(xe.escapeRegExp).join("|"),this.lineCommentStart[0]):(Le=xe.escapeRegExp(this.lineCommentStart),this.lineCommentStart),Le=new RegExp("^(\\s*)(?:"+Le+") ?"),Ee=Ie.getUseSoftTabs();var g=function(Ce,Ie){var ve,Ae,ye=Ce.match(Le);ye&&(ve=ye[1].length,Ae=ye[0].length,C(Ce,ve,Ae)||" "!=ye[0][Ae-1]||Ae--,be.removeInLine(Ie,ve,Ae))},Re=_e+" ",m=function(Ce,Ie){ye&&!/\S/.test(Ce)||(C(Ce,Se,Se)?be.insertInLine({row:Ie,column:Se},Re):be.insertInLine({row:Ie,column:Se},_e))},f=function(Ce,Ie){return Le.test(Ce)},C=function(Ce,Ie,ve){for(var Ae=0;Ie--&&" "==Ce.charAt(Ie);)Ae++;if(Ae%ke!=0)return!1;for(Ae=0;" "==Ce.charAt(ve++);)Ae++;return 2<ke?Ae%ke!=ke-1:Ae%ke==0}}else{if(!this.blockComment)return!1;var _e=this.blockComment.start,$e=this.blockComment.end,Le=new RegExp("^(\\s*)(?:"+xe.escapeRegExp(_e)+")"),Be=new RegExp("(?:"+xe.escapeRegExp($e)+")\\s*$");m=function(Ce,Ie){f(Ce,Ie)||ye&&!/\S/.test(Ce)||(be.insertInLine({row:Ie,column:Ce.length},$e),be.insertInLine({row:Ie,column:Se},_e))},g=function(Ce,Ie){var ve;(ve=Ce.match(Be))&&be.removeInLine(Ie,Ce.length-ve[0].length,Ce.length),(ve=Ce.match(Le))&&be.removeInLine(Ie,ve[1].length,ve[0].length)},f=function(Ce,ve){if(Le.test(Ce))return!0;for(var Ae=Ie.getTokens(ve),be=0;be<Ae.length;be++)if("comment"===Ae[be].type)return!0}}function A(Ce){for(var Ie=ve;Ie<=Ae;Ie++)Ce(be.getLine(Ie),Ie)}var We=1/0;A((function(Ce,Ie){var ve=Ce.search(/\S/);-1!==ve?(ve<Se&&(Se=ve),we&&!f(Ce,Ie)&&(we=!1)):We>Ce.length&&(We=Ce.length)})),Se==1/0&&(Se=We,we=ye=!1),Ee&&Se%ke!=0&&(Se=Math.floor(Se/ke)*ke),A(we?g:m)},this.toggleBlockComment=function(Ce,Ie,ve,Ae){var be=this.blockComment;if(be){!be.start&&be[0]&&(be=be[0]);var ye,we,Se=(Le=new ke(Ie,Ae.row,Ae.column)).getCurrentToken(),xe=(Ie.selection,Ie.selection.toOrientedRange());if(Se&&/comment/.test(Se.type)){for(;Se&&/comment/.test(Se.type);){if(-1!=(Be=Se.value.indexOf(be.start))){var Re=Le.getCurrentTokenRow(),_e=Le.getCurrentTokenColumn()+Be,$e=new Ee(Re,_e,Re,_e+be.start.length);break}Se=Le.stepBackward()}var Le,Be;for(Se=(Le=new ke(Ie,Ae.row,Ae.column)).getCurrentToken();Se&&/comment/.test(Se.type);){if(-1!=(Be=Se.value.indexOf(be.end))){Re=Le.getCurrentTokenRow(),_e=Le.getCurrentTokenColumn()+Be;var We=new Ee(Re,_e,Re,_e+be.end.length);break}Se=Le.stepForward()}We&&Ie.remove(We),$e&&(Ie.remove($e),ye=$e.start.row,we=-be.start.length)}else we=be.start.length,ye=ve.start.row,Ie.insert(ve.end,be.end),Ie.insert(ve.start,be.start);xe.start.row==ye&&(xe.start.column+=we),xe.end.row==ye&&(xe.end.column+=we),Ie.selection.fromOrientedRange(xe)}},this.getNextLineIndent=function(Ce,Ie,ve){return this.$getIndent(Ie)},this.checkOutdent=function(Ce,Ie,ve){return!1},this.autoOutdent=function(Ce,Ie,ve){},this.$getIndent=function(Ce){return Ce.match(/^\s*/)[0]},this.createWorker=function(Ce){return null},this.createModeDelegates=function(Ce){for(var Ie in this.$embeds=[],this.$modes={},Ce){var ve,be,ye;Ce[Ie]&&(be=(ve=Ce[Ie]).prototype.$id,(ye=Ae.$modes[be])||(Ae.$modes[be]=ye=new ve),Ae.$modes[Ie]||(Ae.$modes[Ie]=ye),this.$embeds.push(Ie),this.$modes[Ie]=ye)}var we=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(Ie=0;Ie<we.length;Ie++)!function(Ce){var ve=we[Ie],Ae=Ce[ve];Ce[we[Ie]]=function(){return this.$delegator(ve,arguments,Ae)}}(this)},this.$delegator=function(Ce,Ie,ve){var Ae=Ie[0]||"start";if("string"!=typeof Ae){if(Array.isArray(Ae[2])){var be=Ae[2][Ae[2].length-1];if(we=this.$modes[be])return we[Ce].apply(we,[Ae[1]].concat([].slice.call(Ie,1)))}Ae=Ae[0]||"start"}for(var ye=0;ye<this.$embeds.length;ye++)if(this.$modes[this.$embeds[ye]]){var we,Se=Ae.split(this.$embeds[ye]);if(!Se[0]&&Se[1])return Ie[0]=Se[1],(we=this.$modes[this.$embeds[ye]])[Ce].apply(we,Ie)}return be=ve.apply(this,Ie),ve?be:void 0},this.transformAction=function(Ce,Ie,ve,Ae,be){if(this.$behaviour){var ye,we=this.$behaviour.getBehaviours();for(ye in we)if(we[ye][Ie]){var Se=we[ye][Ie].apply(this,arguments);if(Se)return Se}}},this.getKeywords=function(Ce){if(!this.completionKeywords){var Ie=this.$tokenizer.rules,ve=[];for(we in Ie)for(var Ae=Ie[we],be=0,ye=Ae.length;be<ye;be++)if("string"==typeof Ae[be].token)/keyword|support|storage/.test(Ae[be].token)&&ve.push(Ae[be].regex);else if("object"==typeof Ae[be].token)for(var we,Se=0,xe=Ae[be].token.length;Se<xe;Se++)/keyword|support|storage/.test(Ae[be].token[Se])&&(we=Ae[be].regex.match(/\(.+?\)/g)[Se],ve.push(we.substr(1,we.length-2)));this.completionKeywords=ve}return Ce?ve.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(Ce,Ie,ve,Ae){return(this.$keywordList||this.$createKeywordList()).map((function(Ce){return{name:Ce,value:Ce,score:0,meta:"keyword"}}))},this.$id="ace/mode/text"}).call(i.prototype),Ie.Mode=i})),ace.define("ace/apply_delta",["require","exports","module"],(function(Ce,Ie,ve){"use strict";Ie.applyDelta=function(Ce,Ie,ve){var Ae=Ie.start.row,be=Ie.start.column,ye=Ce[Ae]||"";switch(Ie.action){case"insert":1===Ie.lines.length?Ce[Ae]=ye.substring(0,be)+Ie.lines[0]+ye.substring(be):(we=[Ae,1].concat(Ie.lines),Ce.splice.apply(Ce,we),Ce[Ae]=ye.substring(0,be)+Ce[Ae],Ce[Ae+Ie.lines.length-1]+=ye.substring(be));break;case"remove":var we=Ie.end.column,Se=Ie.end.row;Ae===Se?Ce[Ae]=ye.substring(0,be)+ye.substring(we):Ce.splice(Ae,Se-Ae+1,ye.substring(0,be)+Ce[Se].substring(we))}}})),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("./lib/oop"),be=Ce("./lib/event_emitter").EventEmitter;Ce=Ie.Anchor=function(Ce,Ie,ve){this.$onChange=this.onChange.bind(this),this.attach(Ce),void 0===ve?this.setPosition(Ie.row,Ie.column):this.setPosition(Ie,ve)},function(){function a(Ce,Ie,ve){return ve=ve?Ce.column<=Ie.column:Ce.column<Ie.column,Ce.row<Ie.row||Ce.row==Ie.row&&ve}Ae.implement(this,be),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(Ce){Ce.start.row==Ce.end.row&&Ce.start.row!=this.row||Ce.start.row>this.row||(Ce=function(Ce,Ie,ve){var Ae=((we="insert"==Ce.action)?1:-1)*(Ce.end.row-Ce.start.row),be=(we?1:-1)*(Ce.end.column-Ce.start.column),ye=Ce.start,we=we?ye:Ce.end;return a(Ie,ye,ve)?{row:Ie.row,column:Ie.column}:a(we,Ie,!ve)?{row:Ie.row+Ae,column:Ie.column+(Ie.row==we.row?be:0)}:{row:ye.row,column:ye.column}}(Ce,{row:this.row,column:this.column},this.$insertRight),this.setPosition(Ce.row,Ce.column,!0))},this.setPosition=function(Ce,Ie,ve){ve=ve?{row:Ce,column:Ie}:this.$clipPositionToDocument(Ce,Ie),this.row==ve.row&&this.column==ve.column||(Ce={row:this.row,column:this.column},this.row=ve.row,this.column=ve.column,this._signal("change",{old:Ce,value:ve}))},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(Ce){this.document=Ce||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(Ce,Ie){var ve={};return Ce>=this.document.getLength()?(ve.row=Math.max(0,this.document.getLength()-1),ve.column=this.document.getLine(ve.row).length):Ce<0?(ve.row=0,ve.column=0):(ve.row=Ce,ve.column=Math.min(this.document.getLine(ve.row).length,Math.max(0,Ie))),Ie<0&&(ve.column=0),ve}}.call(Ce.prototype)})),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],(function(Ce,Ie,ve){"use strict";function n(Ce){this.$lines=[""],0===Ce.length?this.$lines=[""]:Array.isArray(Ce)?this.insertMergedLines({row:0,column:0},Ce):this.insert({row:0,column:0},Ce)}var be=Ce("./lib/oop"),ye=Ce("./apply_delta").applyDelta,we=Ce("./lib/event_emitter").EventEmitter,Se=Ce("./range").Range,xe=Ce("./anchor").Anchor;(function(){be.implement(this,we),this.setValue=function(Ce){var Ie=this.getLength()-1;this.remove(new Se(0,0,Ie,this.getLine(Ie).length)),this.insert({row:0,column:0},Ce)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(Ce,Ie){return new xe(this,Ce,Ie)},0==="aaa".split(/a/).length?this.$split=function(Ce){return Ce.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(Ce){return Ce.split(/\r\n|\r|\n/)},this.$detectNewLine=function(Ce){Ce=Ce.match(/^.*?(\r\n|\r|\n)/m),this.$autoNewLine=Ce?Ce[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(Ce){this.$newLineMode!==Ce&&(this.$newLineMode=Ce,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(Ce){return"\r\n"==Ce||"\r"==Ce||"\n"==Ce},this.getLine=function(Ce){return this.$lines[Ce]||""},this.getLines=function(Ce,Ie){return this.$lines.slice(Ce,Ie+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(Ce){return this.getLinesForRange(Ce).join(this.getNewLineCharacter())},this.getLinesForRange=function(Ce){var Ie,ve;return Ce.start.row===Ce.end.row?Ie=[this.getLine(Ce.start.row).substring(Ce.start.column,Ce.end.column)]:((Ie=this.getLines(Ce.start.row,Ce.end.row))[0]=(Ie[0]||"").substring(Ce.start.column),ve=Ie.length-1,Ce.end.row-Ce.start.row==ve&&(Ie[ve]=Ie[ve].substring(0,Ce.end.column))),Ie},this.insertLines=function(Ce,Ie){return Ae.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(Ce,Ie)},this.removeLines=function(Ce,Ie){return Ae.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(Ce,Ie)},this.insertNewLine=function(Ce){return Ae.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(Ce,["",""])},this.insert=function(Ce,Ie){return this.getLength()<=1&&this.$detectNewLine(Ie),this.insertMergedLines(Ce,this.$split(Ie))},this.insertInLine=function(Ce,Ie){var ve=this.clippedPos(Ce.row,Ce.column);return Ce=this.pos(Ce.row,Ce.column+Ie.length),this.applyDelta({start:ve,end:Ce,action:"insert",lines:[Ie]},!0),this.clonePos(Ce)},this.clippedPos=function(Ce,Ie){var ve=this.getLength();return void 0===Ce?Ce=ve:Ce<0?Ce=0:ve<=Ce&&(Ce=ve-1,Ie=void 0),ve=this.getLine(Ce),null==Ie&&(Ie=ve.length),{row:Ce,column:Ie=Math.min(Math.max(Ie,0),ve.length)}},this.clonePos=function(Ce){return{row:Ce.row,column:Ce.column}},this.pos=function(Ce,Ie){return{row:Ce,column:Ie}},this.$clipPosition=function(Ce){var Ie=this.getLength();return Ce.row>=Ie?(Ce.row=Math.max(0,Ie-1),Ce.column=this.getLine(Ie-1).length):(Ce.row=Math.max(0,Ce.row),Ce.column=Math.min(Math.max(Ce.column,0),this.getLine(Ce.row).length)),Ce},this.insertFullLines=function(Ce,Ie){var ve=0;ve=(Ce=Math.min(Math.max(Ce,0),this.getLength()))<this.getLength()?(Ie=Ie.concat([""]),0):(Ie=[""].concat(Ie),this.$lines[--Ce].length),this.insertMergedLines({row:Ce,column:ve},Ie)},this.insertMergedLines=function(Ce,Ie){var ve={row:(Ce=this.clippedPos(Ce.row,Ce.column)).row+Ie.length-1,column:(1==Ie.length?Ce.column:0)+Ie[Ie.length-1].length};return this.applyDelta({start:Ce,end:ve,action:"insert",lines:Ie}),this.clonePos(ve)},this.remove=function(Ce){var Ie=this.clippedPos(Ce.start.row,Ce.start.column);return Ce=this.clippedPos(Ce.end.row,Ce.end.column),this.applyDelta({start:Ie,end:Ce,action:"remove",lines:this.getLinesForRange({start:Ie,end:Ce})}),this.clonePos(Ie)},this.removeInLine=function(Ce,Ie,ve){return Ie=this.clippedPos(Ce,Ie),Ce=this.clippedPos(Ce,ve),this.applyDelta({start:Ie,end:Ce,action:"remove",lines:this.getLinesForRange({start:Ie,end:Ce})},!0),this.clonePos(Ie)},this.removeFullLines=function(Ce,Ie){Ce=Math.min(Math.max(0,Ce),this.getLength()-1);var ve=(Ie=Math.min(Math.max(0,Ie),this.getLength()-1))==this.getLength()-1&&0<Ce,Ae=Ie<this.getLength()-1,be=ve?Ce-1:Ce,ye=(ve=ve?this.getLine(be).length:0,Ae?Ie+1:Ie);return Ae=Ae?0:this.getLine(ye).length,be=new Se(be,ve,ye,Ae),ve=this.$lines.slice(Ce,Ie+1),this.applyDelta({start:be.start,end:be.end,action:"remove",lines:this.getLinesForRange(be)}),ve},this.removeNewLine=function(Ce){Ce<this.getLength()-1&&0<=Ce&&this.applyDelta({start:this.pos(Ce,this.getLine(Ce).length),end:this.pos(Ce+1,0),action:"remove",lines:["",""]})},this.replace=function(Ce,Ie){return Ce instanceof Se||(Ce=Se.fromPoints(Ce.start,Ce.end)),0===Ie.length&&Ce.isEmpty()?Ce.start:Ie==this.getTextRange(Ce)?Ce.end:(this.remove(Ce),Ie?this.insert(Ce.start,Ie):Ce.start)},this.applyDeltas=function(Ce){for(var Ie=0;Ie<Ce.length;Ie++)this.applyDelta(Ce[Ie])},this.revertDeltas=function(Ce){for(var Ie=Ce.length-1;0<=Ie;Ie--)this.revertDelta(Ce[Ie])},this.applyDelta=function(Ce,Ie){var ve="insert"==Ce.action;(ve?Ce.lines.length<=1&&!Ce.lines[0]:!Se.comparePoints(Ce.start,Ce.end))||(ve&&2e4<Ce.lines.length?this.$splitAndapplyLargeDelta(Ce,2e4):(ye(this.$lines,Ce,Ie),this._signal("change",Ce)))},this.$safeApplyDelta=function(Ce){var Ie=this.$lines.length;("remove"==Ce.action&&Ce.start.row<Ie&&Ce.end.row<Ie||"insert"==Ce.action&&Ce.start.row<=Ie)&&this.applyDelta(Ce)},this.$splitAndapplyLargeDelta=function(Ce,Ie){for(var ve=Ce.lines,Ae=ve.length-Ie+1,be=Ce.start.row,ye=Ce.start.column,we=0,Se=0;we<Ae;we=Se){Se+=Ie-1;var xe=ve.slice(we,Se);xe.push(""),this.applyDelta({start:this.pos(be+we,ye),end:this.pos(be+Se,ye=0),action:Ce.action,lines:xe},!0)}Ce.lines=ve.slice(we),Ce.start.row=be+we,Ce.start.column=ye,this.applyDelta(Ce,!0)},this.revertDelta=function(Ce){this.$safeApplyDelta({start:this.clonePos(Ce.start),end:this.clonePos(Ce.end),action:"insert"==Ce.action?"remove":"insert",lines:Ce.lines.slice()})},this.indexToPosition=function(Ce,Ie){for(var ve=this.$lines||this.getAllLines(),Ae=this.getNewLineCharacter().length,be=Ie||0,ye=ve.length;be<ye;be++)if((Ce-=ve[be].length+Ae)<0)return{row:be,column:Ce+ve[be].length+Ae};return{row:ye-1,column:Ce+ve[ye-1].length+Ae}},this.positionToIndex=function(Ce,Ie){for(var ve=this.$lines||this.getAllLines(),Ae=this.getNewLineCharacter().length,be=0,ye=Math.min(Ce.row,ve.length),we=Ie||0;we<ye;++we)be+=ve[we].length+Ae;return be+Ce.column}}).call(n.prototype),Ie.Document=n})),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(Ce,Ie,ve){"use strict";function n(Ce,Ie){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=Ce;var ve=this;this.$worker=function(){if(ve.running){for(var Ce=new Date,Ie=ve.currentLine,Ae=-1,be=ve.doc,ye=Ie;ve.lines[Ie];)Ie++;var we=be.getLength(),Se=0;for(ve.running=!1;Ie<we;){for(ve.$tokenizeRow(Ie),Ae=Ie;Ie++,ve.lines[Ie];);if(++Se%5==0&&20<new Date-Ce){ve.running=setTimeout(ve.$worker,20);break}}ve.currentLine=Ie,ye<=(Ae=-1==Ae?Ie:Ae)&&ve.fireUpdateEvent(ye,Ae)}}}var Ae=Ce("./lib/oop"),be=Ce("./lib/event_emitter").EventEmitter;(function(){Ae.implement(this,be),this.setTokenizer=function(Ce){this.tokenizer=Ce,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(Ce){this.doc=Ce,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(Ce,Ie){this._signal("update",{data:{first:Ce,last:Ie}})},this.start=function(Ce){this.currentLine=Math.min(Ce||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(Ce){var Ie=Ce.start.row,ve=Ce.end.row-Ie;0==ve?this.lines[Ie]=null:"remove"==Ce.action?(this.lines.splice(Ie,1+ve,null),this.states.splice(Ie,1+ve,null)):((Ce=Array(1+ve)).unshift(Ie,1),this.lines.splice.apply(this.lines,Ce),this.states.splice.apply(this.states,Ce)),this.currentLine=Math.min(Ie,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(Ce){return this.lines[Ce]||this.$tokenizeRow(Ce)},this.getState=function(Ce){return this.currentLine==Ce&&this.$tokenizeRow(Ce),this.states[Ce]||"start"},this.$tokenizeRow=function(Ce){var Ie=this.doc.getLine(Ce),ve=this.states[Ce-1];return Ie=this.tokenizer.getLineTokens(Ie,ve,Ce),this.states[Ce]+""!=Ie.state+""?(this.states[Ce]=Ie.state,this.lines[Ce+1]=null,this.currentLine>Ce+1&&(this.currentLine=Ce+1)):this.currentLine==Ce&&(this.currentLine=Ce+1),this.lines[Ce]=Ie.tokens}}).call(n.prototype),Ie.BackgroundTokenizer=n})),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(Ce,Ie,ve){"use strict";function n(Ce,Ie,ve){this.setRegexp(Ce),this.clazz=Ie,this.type=ve||"text"}var Ae=Ce("./lib/lang"),be=(Ce("./lib/oop"),Ce("./range").Range);(function(){this.MAX_RANGES=500,this.setRegexp=function(Ce){this.regExp+""!=Ce+""&&(this.regExp=Ce,this.cache=[])},this.update=function(Ce,Ie,ve,ye){if(this.regExp)for(var we=ye.firstRow,Se=ye.lastRow,xe=we;xe<=Se;xe++){var ke=this.cache[xe];null==ke&&(ke=(ke=(ke=Ae.getMatchOffsets(ve.getLine(xe),this.regExp)).length>this.MAX_RANGES?ke.slice(0,this.MAX_RANGES):ke).map((function(Ce){return new be(xe,Ce.offset,xe,Ce.offset+Ce.length)})),this.cache[xe]=ke.length?ke:"");for(var Ee=ke.length;Ee--;)Ie.drawSingleLineMarker(Ce,ke[Ee].toScreenRange(ve),this.clazz,ye)}}}).call(n.prototype),Ie.SearchHighlight=n})),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../range").Range;function r(Ce,Ie){this.foldData=Ce,Array.isArray(Ie)?this.folds=Ie:Ie=this.folds=[Ie],Ce=Ie[Ie.length-1],this.range=new Ae(Ie[0].start.row,Ie[0].start.column,Ce.end.row,Ce.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach((function(Ce){Ce.setFoldLine(this)}),this)}(function(){this.shiftRow=function(Ce){this.start.row+=Ce,this.end.row+=Ce,this.folds.forEach((function(Ie){Ie.start.row+=Ce,Ie.end.row+=Ce}))},this.addFold=function(Ce){if(Ce.sameRow){if(Ce.start.row<this.startRow||Ce.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(Ce),this.folds.sort((function(Ce,Ie){return-Ce.range.compareEnd(Ie.start.row,Ie.start.column)})),0<this.range.compareEnd(Ce.start.row,Ce.start.column)?(this.end.row=Ce.end.row,this.end.column=Ce.end.column):this.range.compareStart(Ce.end.row,Ce.end.column)<0&&(this.start.row=Ce.start.row,this.start.column=Ce.start.column)}else if(Ce.start.row==this.end.row)this.folds.push(Ce),this.end.row=Ce.end.row,this.end.column=Ce.end.column;else{if(Ce.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(Ce),this.start.row=Ce.start.row,this.start.column=Ce.start.column}Ce.foldLine=this},this.containsRow=function(Ce){return Ce>=this.start.row&&Ce<=this.end.row},this.walk=function(Ce,Ie,ve){var Ae,be,ye=0,we=this.folds,Se=!0;null==Ie&&(Ie=this.end.row,ve=this.end.column);for(var xe=0;xe<we.length;xe++){if(-1==(be=(Ae=we[xe]).range.compareStart(Ie,ve)))return void Ce(null,Ie,ve,ye,Se);if(!Ce(null,Ae.start.row,Ae.start.column,ye,Se)&&Ce(Ae.placeholder,Ae.start.row,Ae.start.column,ye)||0===be)return;Se=!Ae.sameRow,ye=Ae.end.column}Ce(null,Ie,ve,ye,Se)},this.getNextFoldTo=function(Ce,Ie){for(var ve,Ae,be=0;be<this.folds.length;be++){if(-1==(Ae=(ve=this.folds[be]).range.compareEnd(Ce,Ie)))return{fold:ve,kind:"after"};if(0===Ae)return{fold:ve,kind:"inside"}}return null},this.addRemoveChars=function(Ce,Ie,ve){var Ae,be=this.getNextFoldTo(Ce,Ie);if(be)if(Ae=be.fold,"inside"==be.kind&&Ae.start.column!=Ie&&Ae.start.row!=Ce)window.console&&window.console.log(Ce,Ie,Ae);else if(Ae.start.row==Ce){var ye,we=(ye=this.folds).indexOf(Ae);for(0===we&&(this.start.column+=ve);we<ye.length;we++){if((Ae=ye[we]).start.column+=ve,!Ae.sameRow)return;Ae.end.column+=ve}this.end.column+=ve}},this.split=function(Ce,Ie){if(!(Ce=this.getNextFoldTo(Ce,Ie))||"inside"==Ce.kind)return null;Ie=Ce.fold,Ce=this.folds;var ve=this.foldData,Ae=(Ie=Ce.indexOf(Ie),Ce[Ie-1]);return this.end.row=Ae.end.row,this.end.column=Ae.end.column,Ae=new r(ve,Ce=Ce.splice(Ie,Ce.length-Ie)),ve.splice(ve.indexOf(this)+1,0,Ae),Ae},this.merge=function(Ce){for(var Ie=Ce.folds,ve=0;ve<Ie.length;ve++)this.addFold(Ie[ve]);var Ae=this.foldData;Ae.splice(Ae.indexOf(Ce),1)},this.toString=function(){var Ce=[this.range.toString()+": ["];return this.folds.forEach((function(Ie){Ce.push(" "+Ie.toString())})),Ce.push("]"),Ce.join("\n")},this.idxToPosition=function(Ce){for(var Ie=0,ve=0;ve<this.folds.length;ve++){var Ae=this.folds[ve];if((Ce-=Ae.start.column-Ie)<0)return{row:Ae.start.row,column:Ae.start.column+Ce};if((Ce-=Ae.placeholder.length)<0)return Ae.start;Ie=Ae.end.column}return{row:this.end.row,column:this.end.column+Ce}}}).call(r.prototype),Ie.FoldLine=r})),ace.define("ace/range_list",["require","exports","module","ace/range"],(function(Ce,Ie,ve){"use strict";function n(){this.ranges=[],this.$bias=1}var Ae=Ce("./range").Range.comparePoints;(function(){this.comparePoints=Ae,this.pointIndex=function(Ce,Ie,ve){for(var be=this.ranges,ye=ve||0;ye<be.length;ye++){var we=be[ye],Se=Ae(Ce,we.end);if(!(0<Se))return we=Ae(Ce,we.start),0===Se?Ie&&0!==we?-ye-2:ye:0<we||0===we&&!Ie?ye:-ye-1}return-ye-1},this.add=function(Ce){var Ie=!Ce.isEmpty(),ve=this.pointIndex(Ce.start,Ie);return(Ie=this.pointIndex(Ce.end,Ie,ve=ve<0?-ve-1:ve))<0?Ie=-Ie-1:Ie++,this.ranges.splice(ve,Ie-ve,Ce)},this.addList=function(Ce){for(var Ie=[],ve=Ce.length;ve--;)Ie.push.apply(Ie,this.add(Ce[ve]));return Ie},this.substractPoint=function(Ce){if(0<=(Ce=this.pointIndex(Ce)))return this.ranges.splice(Ce,1)},this.merge=function(){for(var Ce=[],Ie=this.ranges,ve=(Ie=Ie.sort((function(Ce,Ie){return Ae(Ce.start,Ie.start)})))[0],be=1;be<Ie.length;be++){var ye=ve,we=(ve=Ie[be],Ae(ye.end,ve.start));we<0||(0!=we||ye.isEmpty()||ve.isEmpty())&&(Ae(ye.end,ve.end)<0&&(ye.end.row=ve.end.row,ye.end.column=ve.end.column),Ie.splice(be,1),Ce.push(ve),ve=ye,be--)}return this.ranges=Ie,Ce},this.contains=function(Ce,Ie){return 0<=this.pointIndex({row:Ce,column:Ie})},this.containsPoint=function(Ce){return 0<=this.pointIndex(Ce)},this.rangeAtPoint=function(Ce){if(0<=(Ce=this.pointIndex(Ce)))return this.ranges[Ce]},this.clipRows=function(Ce,Ie){var ve=this.ranges;if(ve[0].start.row>Ie||ve[ve.length-1].start.row<Ce)return[];Ce=this.pointIndex({row:Ce,column:0});for(var Ae=this.pointIndex({row:Ie,column:0},Ce=Ce<0?-Ce-1:Ce),be=(Ae<0&&(Ae=-Ae-1),[]),ye=Ce;ye<Ae;ye++)be.push(ve[ye]);return be},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(Ce){this.session&&this.detach(),this.session=Ce,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(Ce){for(var Ie=Ce.start,ve=Ce.end,Ae=Ie.row,be=ve.row,ye=this.ranges,we=0,Se=ye.length;we<Se&&!((xe=ye[we]).end.row>=Ae);we++);var xe;if("insert"==Ce.action)for(var ke=be-Ae,Ee=-Ie.column+ve.column;we<Se&&!((xe=ye[we]).start.row>Ae);we++)xe.start.row==Ae&&xe.start.column>=Ie.column&&(xe.start.column==Ie.column&&this.$bias<=0||(xe.start.column+=Ee,xe.start.row+=ke)),xe.end.row==Ae&&xe.end.column>=Ie.column&&(xe.end.column==Ie.column&&this.$bias<0||(xe.end.column==Ie.column&&0<Ee&&we<Se-1&&xe.end.column>xe.start.column&&xe.end.column==ye[we+1].start.column&&(xe.end.column-=Ee),xe.end.column+=Ee,xe.end.row+=ke));else for(ke=Ae-be,Ee=Ie.column-ve.column;we<Se&&!((xe=ye[we]).start.row>be);we++)xe.end.row<be&&(Ae<xe.end.row||Ae==xe.end.row&&Ie.column<xe.end.column)?(xe.end.row=Ae,xe.end.column=Ie.column):xe.end.row==be?xe.end.column<=ve.column?(ke||xe.end.column>Ie.column)&&(xe.end.column=Ie.column,xe.end.row=Ie.row):(xe.end.column+=Ee,xe.end.row+=ke):xe.end.row>be&&(xe.end.row+=ke),xe.start.row<be&&(Ae<xe.start.row||Ae==xe.start.row&&Ie.column<xe.start.column)?(xe.start.row=Ae,xe.start.column=Ie.column):xe.start.row==be?xe.start.column<=ve.column?(ke||xe.start.column>Ie.column)&&(xe.start.column=Ie.column,xe.start.row=Ie.row):(xe.start.column+=Ee,xe.start.row+=ke):xe.start.row>be&&(xe.start.row+=ke);if(0!=ke&&we<Se)for(;we<Se;we++)(xe=ye[we]).start.row+=ke,xe.end.row+=ke}}).call(n.prototype),Ie.RangeList=n})),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list","ace/lib/oop"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../range_list").RangeList,be=(Ce=Ce("../lib/oop"),Ie.Fold=function(Ce,Ie){this.foldLine=null,this.placeholder=Ie,this.range=Ce,this.start=Ce.start,this.end=Ce.end,this.sameRow=Ce.start.row==Ce.end.row,this.subFolds=this.ranges=[]});function d(Ce,Ie){Ce.row-=Ie.row,0==Ce.row&&(Ce.column-=Ie.column)}function o(Ce,Ie){0==Ce.row&&(Ce.column+=Ie.column),Ce.row+=Ie.row}Ce.inherits(be,Ae),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(Ce){this.foldLine=Ce,this.subFolds.forEach((function(Ie){Ie.setFoldLine(Ce)}))},this.clone=function(){var Ce=this.range.clone(),Ie=new be(Ce,this.placeholder);return this.subFolds.forEach((function(Ce){Ie.subFolds.push(Ce.clone())})),Ie.collapseChildren=this.collapseChildren,Ie},this.addSubFold=function(Ce){if(!this.range.isEqual(Ce)){ye=Ce,we=this.start,d(ye.start,we),d(ye.end,we);for(var Ie=Ce.start.row,ve=Ce.start.column,Ae=0,be=-1;Ae<this.subFolds.length&&1==(be=this.subFolds[Ae].range.compare(Ie,ve));Ae++);var ye=this.subFolds[Ae],we=0;if(0==be){if(ye.range.containsRange(Ce))return ye.addSubFold(Ce);we=1}Ie=Ce.range.end.row,ve=Ce.range.end.column;var Se=Ae;for(be=-1;Se<this.subFolds.length&&1==(be=this.subFolds[Se].range.compare(Ie,ve));Se++);0==be&&Se++;for(var xe=this.subFolds.splice(Ae,Se-Ae,Ce),ke=0==be?xe.length-1:xe.length,Ee=we;Ee<ke;Ee++)Ce.addSubFold(xe[Ee]);return Ce.setFoldLine(this.foldLine),Ce}},this.restoreRange=function(Ce){return Ie=this.start,o(Ce.start,Ie),void o(Ce.end,Ie);var Ie}}.call(be.prototype)})),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../range").Range,be=Ce("./fold_line").FoldLine,ye=Ce("./fold").Fold,we=Ce("../token_iterator").TokenIterator;Ie.Folding=function(){this.getFoldAt=function(Ce,Ie,ve){var Ae=this.getFoldLine(Ce);if(!Ae)return null;for(var be=Ae.folds,ye=0;ye<be.length;ye++){var we=be[ye].range;if(we.contains(Ce,Ie)&&(1!=ve||!we.isEnd(Ce,Ie)||we.isEmpty())&&(-1!=ve||!we.isStart(Ce,Ie)||we.isEmpty()))return be[ye]}},this.getFoldsInRange=function(Ce){var Ie=Ce.start,ve=Ce.end,Ae=this.$foldData,be=[];Ie.column+=1,--ve.column;for(var ye=0;ye<Ae.length;ye++)if(2!=(xe=Ae[ye].range.compareRange(Ce))){if(-2==xe)break;for(var we=Ae[ye].folds,Se=0;Se<we.length;Se++){var xe,ke=we[Se];if(-2==(xe=ke.range.compareRange(Ce)))break;if(2!=xe){if(42==xe)break;be.push(ke)}}}return--Ie.column,ve.column+=1,be},this.getFoldsInRangeList=function(Ce){var Ie;return Array.isArray(Ce)?(Ie=[],Ce.forEach((function(Ce){Ie=Ie.concat(this.getFoldsInRange(Ce))}),this)):Ie=this.getFoldsInRange(Ce),Ie},this.getAllFolds=function(){for(var Ce=[],Ie=this.$foldData,ve=0;ve<Ie.length;ve++)for(var Ae=0;Ae<Ie[ve].folds.length;Ae++)Ce.push(Ie[ve].folds[Ae]);return Ce},this.getFoldStringAt=function(Ce,Ie,ve,Ae){if(!(Ae=Ae||this.getFoldLine(Ce)))return null;for(var be,ye={end:{column:0}},we=0;we<Ae.folds.length;we++){var Se,xe=(Se=Ae.folds[we]).range.compareEnd(Ce,Ie);if(-1==xe){be=this.getLine(Se.start.row).substring(ye.end.column,Se.start.column);break}if(0===xe)return null;ye=Se}return be=be||this.getLine(Se.start.row).substring(ye.end.column),-1==ve?be.substring(0,Ie-ye.end.column):1==ve?be.substring(Ie-ye.end.column):be},this.getFoldLine=function(Ce,Ie){var ve=this.$foldData,Ae=0;for(-1==(Ae=Ie?ve.indexOf(Ie):Ae)&&(Ae=0);Ae<ve.length;Ae++){var be=ve[Ae];if(be.start.row<=Ce&&be.end.row>=Ce)return be;if(be.end.row>Ce)return null}return null},this.getNextFoldLine=function(Ce,Ie){var ve=this.$foldData,Ae=0;for(-1==(Ae=Ie?ve.indexOf(Ie):Ae)&&(Ae=0);Ae<ve.length;Ae++){var be=ve[Ae];if(be.end.row>=Ce)return be}return null},this.getFoldedRowCount=function(Ce,Ie){for(var ve=this.$foldData,Ae=Ie-Ce+1,be=0;be<ve.length;be++){var ye=(we=ve[be]).end.row,we=we.start.row;if(Ie<=ye){we<Ie&&(Ce<=we?Ae-=Ie-we:Ae=0);break}Ce<=ye&&(Ae-=Ce<=we?ye-we:ye-Ce+1)}return Ae},this.$addFoldLine=function(Ce){return this.$foldData.push(Ce),this.$foldData.sort((function(Ce,Ie){return Ce.start.row-Ie.start.row})),Ce},this.addFold=function(Ce,Ie){var ve,Ae=this.$foldData,we=!1,Se=(Ce instanceof ye?ve=Ce:(ve=new ye(Ie,Ce)).collapseChildren=Ie.collapseChildren,this.$clipRangeToDocument(ve.range),ve.start.row),xe=(Ce=ve.start.column,ve.end.row),ke=(Ie=ve.end.column,this.getFoldAt(Se,Ce,1)),Ee=this.getFoldAt(xe,Ie,-1);if(ke&&Ee==ke)return ke.addSubFold(ve);ke&&!ke.range.isStart(Se,Ce)&&this.removeFold(ke),Ee&&!Ee.range.isEnd(xe,Ie)&&this.removeFold(Ee),0<(Ce=this.getFoldsInRange(ve.range)).length&&(this.removeFolds(Ce),ve.collapseChildren||Ce.forEach((function(Ce){ve.addSubFold(Ce)})));for(var Re=0;Re<Ae.length;Re++){var _e=Ae[Re];if(xe==_e.start.row){_e.addFold(ve),we=!0;break}if(Se==_e.end.row){if(_e.addFold(ve),we=!0,!ve.sameRow){var $e=Ae[Re+1];if($e&&$e.start.row==xe){_e.merge($e);break}}break}if(xe<=_e.start.row)break}return we||(_e=this.$addFoldLine(new be(this.$foldData,ve))),this.$useWrapMode?this.$updateWrapData(_e.start.row,_e.start.row):this.$updateRowLengthCache(_e.start.row,_e.start.row),this.$modified=!0,this._signal("changeFold",{data:ve,action:"add"}),ve},this.addFolds=function(Ce){Ce.forEach((function(Ce){this.addFold(Ce)}),this)},this.removeFold=function(Ce){var Ie=Ce.foldLine,ve=Ie.start.row,Ae=Ie.end.row,be=this.$foldData,ye=Ie.folds;1==ye.length?be.splice(be.indexOf(Ie),1):Ie.range.isEnd(Ce.end.row,Ce.end.column)?(ye.pop(),Ie.end.row=ye[ye.length-1].end.row,Ie.end.column=ye[ye.length-1].end.column):Ie.range.isStart(Ce.start.row,Ce.start.column)?(ye.shift(),Ie.start.row=ye[0].start.row,Ie.start.column=ye[0].start.column):Ce.sameRow?ye.splice(ye.indexOf(Ce),1):((ye=(be=Ie.split(Ce.start.row,Ce.start.column)).folds).shift(),be.start.row=ye[0].start.row,be.start.column=ye[0].start.column),this.$updating||(this.$useWrapMode?this.$updateWrapData(ve,Ae):this.$updateRowLengthCache(ve,Ae)),this.$modified=!0,this._signal("changeFold",{data:Ce,action:"remove"})},this.removeFolds=function(Ce){for(var Ie=[],ve=0;ve<Ce.length;ve++)Ie.push(Ce[ve]);Ie.forEach((function(Ce){this.removeFold(Ce)}),this),this.$modified=!0},this.expandFold=function(Ce){this.removeFold(Ce),Ce.subFolds.forEach((function(Ie){Ce.restoreRange(Ie),this.addFold(Ie)}),this),0<Ce.collapseChildren&&this.foldAll(Ce.start.row+1,Ce.end.row,Ce.collapseChildren-1),Ce.subFolds=[]},this.expandFolds=function(Ce){Ce.forEach((function(Ce){this.expandFold(Ce)}),this)},this.unfold=function(Ce,Ie){var ve,be;if(null==Ce)ve=new Ae(0,0,this.getLength(),0),null==Ie&&(Ie=!0);else if("number"==typeof Ce)ve=new Ae(Ce,0,Ce,this.getLine(Ce).length);else if("row"in Ce)ve=Ae.fromPoints(Ce,Ce);else{if(Array.isArray(Ce))return be=[],Ce.forEach((function(Ce){be=be.concat(this.unfold(Ce))}),this),be;ve=Ce}for(Ce=be=this.getFoldsInRangeList(ve);1==be.length&&Ae.comparePoints(be[0].start,ve.start)<0&&0<Ae.comparePoints(be[0].end,ve.end);)this.expandFolds(be),be=this.getFoldsInRangeList(ve);if(0!=Ie?this.removeFolds(be):this.expandFolds(be),Ce.length)return Ce},this.isRowFolded=function(Ce,Ie){return!!this.getFoldLine(Ce,Ie)},this.getRowFoldEnd=function(Ce,Ie){return(Ie=this.getFoldLine(Ce,Ie))?Ie.end.row:Ce},this.getRowFoldStart=function(Ce,Ie){return(Ie=this.getFoldLine(Ce,Ie))?Ie.start.row:Ce},this.getFoldDisplayLine=function(Ce,Ie,ve,Ae,be){null==Ae&&(Ae=Ce.start.row),null==be&&(be=0),null==Ie&&(Ie=Ce.end.row),null==ve&&(ve=this.getLine(Ie).length);var ye=this.doc,we="";return Ce.walk((function(Ce,Ie,ve,Se){if(!(Ie<Ae)){if(Ie==Ae){if(ve<be)return;Se=Math.max(be,Se)}we+=null!=Ce?Ce:ye.getLine(Ie).substring(Se,ve)}}),Ie,ve),we},this.getDisplayLine=function(Ce,Ie,ve,Ae){var be=this.getFoldLine(Ce);return be?this.getFoldDisplayLine(be,Ce,Ie,ve,Ae):(be=this.doc.getLine(Ce)).substring(Ae||0,Ie||be.length)},this.$cloneFoldData=function(){var Ce=[];return Ce=this.$foldData.map((function(Ie){return Ie=Ie.folds.map((function(Ce){return Ce.clone()})),new be(Ce,Ie)}))},this.toggleFold=function(Ce){var Ie=this.selection.getRange();if(Ie.isEmpty()){var ve,Ae=Ie.start;if(ve=this.getFoldAt(Ae.row,Ae.column))return void this.expandFold(ve);(be=this.findMatchingBracket(Ae))?1==Ie.comparePoint(be)?Ie.end=be:(Ie.start=be,Ie.start.column++,Ie.end.column--):(be=this.findMatchingBracket({row:Ae.row,column:Ae.column+1}))?(1==Ie.comparePoint(be)?Ie.end=be:Ie.start=be,Ie.start.column++):Ie=this.getCommentFoldRange(Ae.row,Ae.column)||Ie}else{var be=this.getFoldsInRange(Ie);if(Ce&&be.length)return void this.expandFolds(be);1==be.length&&(ve=be[0])}if((ve=ve||this.getFoldAt(Ie.start.row,Ie.start.column))&&ve.range.toString()==Ie.toString())this.expandFold(ve);else{if(Ae="...",!Ie.isMultiLine()){if((Ae=this.getTextRange(Ie)).length<4)return;Ae=Ae.trim().substring(0,2)+".."}this.addFold(Ae,Ie)}},this.getCommentFoldRange=function(Ce,Ie,ve){var be=new we(this,Ce,Ie),ye=be.getCurrentToken(),Se=ye&&ye.type;if(ye&&/^comment|string/.test(Se)){"comment"==(Se=Se.match(/comment|string/)[0])&&(Se+="|doc-start");var xe=new RegExp(Se);if(Se=new Ae,1!=ve){for(;(ye=be.stepBackward())&&xe.test(ye.type););be.stepForward()}if(Se.start.row=be.getCurrentTokenRow(),Se.start.column=be.getCurrentTokenColumn()+2,be=new we(this,Ce,Ie),-1!=ve){var ke=-1;do{if(ye=be.stepForward(),-1==ke){var Ee=this.getState(be.$row);xe.test(Ee)||(ke=be.$row)}else if(be.$row>ke)break}while(ye&&xe.test(ye.type));ye=be.stepBackward()}else ye=be.getCurrentToken();return Se.end.row=be.getCurrentTokenRow(),Se.end.column=be.getCurrentTokenColumn()+ye.value.length-2,Se}},this.foldAll=function(Ce,Ie,ve,Ae){null==ve&&(ve=1e5);var be=this.foldWidgets;if(be){Ie=Ie||this.getLength();for(var ye,we=Ce=Ce||0;we<Ie;we++)null==be[we]&&(be[we]=this.getFoldWidget(we)),"start"==be[we]&&(Ae&&!Ae(we)||(ye=this.getFoldWidgetRange(we))&&ye.isMultiLine()&&ye.end.row<=Ie&&ye.start.row>=Ce&&(we=ye.end.row,ye.collapseChildren=ve,this.addFold("...",ye)))}},this.foldToLevel=function(Ce){for(this.foldAll();0<Ce--;)this.unfold(null,!1)},this.foldAllComments=function(){var Ce=this;this.foldAll(null,null,null,(function(Ie){for(var ve=Ce.getTokens(Ie),Ae=0;Ae<ve.length;Ae++){var be=ve[Ae];if("text"!=be.type||!/^\s+$/.test(be.value))return!!/comment/.test(be.type)}}))},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(Ce){if(!this.$foldStyles[Ce])throw new Error("invalid fold style: "+Ce+"["+Object.keys(this.$foldStyles).join(", ")+"]");this.$foldStyle!=Ce&&("manual"==(this.$foldStyle=Ce)&&this.unfold(),Ce=this.$foldMode,this.$setFolding(null),this.$setFolding(Ce))},this.$setFolding=function(Ce){this.$foldMode!=Ce&&(this.$foldMode=Ce,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),Ce&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=Ce.getFoldWidget.bind(Ce,this,this.$foldStyle),this.getFoldWidgetRange=Ce.getFoldWidgetRange.bind(Ce,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(Ce,Ie){var ve=this.foldWidgets;if(!ve||Ie&&ve[Ce])return{};for(var Ae=Ce-1;0<=Ae;){var be=ve[Ae];if("start"==(be=null==be?ve[Ae]=this.getFoldWidget(Ae):be)){var ye=this.getFoldWidgetRange(Ae),we=we||ye;if(ye&&ye.end.row>=Ce)break}Ae--}return{range:-1!==Ae&&ye,firstRange:we}},this.onFoldWidgetClick=function(Ce,Ie){var ve={children:(Ie=Ie.domEvent).shiftKey,all:Ie.ctrlKey||Ie.metaKey,siblings:Ie.altKey};this.$toggleFoldWidget(Ce,ve)||(Ce=Ie.target||Ie.srcElement)&&/ace_fold-widget/.test(Ce.className)&&(Ce.className+=" ace_invalid")},this.$toggleFoldWidget=function(Ce,Ie){if(this.getFoldWidget){var ve,Ae,be=this.getFoldWidget(Ce),ye=this.getLine(Ce);return be="end"===be?-1:1,(ye=this.getFoldAt(Ce,-1==be?0:ye.length,be))?(Ie.children||Ie.all?this.removeFold(ye):this.expandFold(ye),ye):(be=this.getFoldWidgetRange(Ce,!0))&&!be.isMultiLine()&&(ye=this.getFoldAt(be.start.row,be.start.column,1))&&be.isEqual(ye.range)?(this.removeFold(ye),ye):(Ie.siblings?((ye=this.getParentFoldRangeData(Ce)).range&&(ve=ye.range.start.row+1,Ae=ye.range.end.row),this.foldAll(ve,Ae,Ie.all?1e4:0)):Ie.children?(Ae=be?be.end.row:this.getLength(),this.foldAll(Ce+1,Ae,Ie.all?1e4:0)):be&&(Ie.all&&(be.collapseChildren=1e4),this.addFold("...",be)),be)}},this.toggleFoldWidget=function(Ce){var Ie,ve=this.selection.getCursor().row;ve=this.getRowFoldStart(ve),this.$toggleFoldWidget(ve,{})||(Ie=(Ie=this.getParentFoldRangeData(ve,!0)).range||Ie.firstRange)&&(ve=Ie.start.row,(ve=this.getFoldAt(ve,this.getLine(ve).length,1))?this.removeFold(ve):this.addFold("...",Ie))},this.updateFoldWidgets=function(Ce){var Ie=Ce.start.row,ve=Ce.end.row-Ie;0==ve?this.foldWidgets[Ie]=null:"remove"==Ce.action?this.foldWidgets.splice(Ie,1+ve,null):((Ce=Array(1+ve)).unshift(Ie,1),this.foldWidgets.splice.apply(this.foldWidgets,Ce))},this.tokenizerUpdateFoldWidgets=function(Ce){(Ce=Ce.data).first!=Ce.last&&this.foldWidgets.length>Ce.first&&this.foldWidgets.splice(Ce.first,this.foldWidgets.length)}}})),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../token_iterator").TokenIterator,be=Ce("../range").Range;Ie.BracketMatch=function(){this.findMatchingBracket=function(Ce,Ie){return 0==Ce.column||""==(Ie=Ie||this.getLine(Ce.row).charAt(Ce.column-1))?null:(Ie=Ie.match(/([\(\[\{])|([\)\]\}])/))?Ie[1]?this.$findClosingBracket(Ie[1],Ce):this.$findOpeningBracket(Ie[2],Ce):null},this.getBracketRange=function(Ce){var Ie,ve,Ae=this.getLine(Ce.row),ye=!0,we=Ae.charAt(Ce.column-1),Se=we&&we.match(/([\(\[\{])|([\)\]\}])/);if(Se||(we=Ae.charAt(Ce.column),Ce={row:Ce.row,column:Ce.column+1},Se=we&&we.match(/([\(\[\{])|([\)\]\}])/),ye=!1),!Se)return null;if(Se[1]){if(!(ve=this.$findClosingBracket(Se[1],Ce)))return null;Ie=be.fromPoints(Ce,ve),ye||(Ie.end.column++,Ie.start.column--),Ie.cursor=Ie.end}else{if(!(ve=this.$findOpeningBracket(Se[2],Ce)))return null;Ie=be.fromPoints(ve,Ce),ye||(Ie.start.column++,Ie.end.column--),Ie.cursor=Ie.start}return Ie},this.getMatchingBracketRanges=function(Ce){var Ie=this.getLine(Ce.row),ve=Ie.charAt(Ce.column-1),Ae=ve&&ve.match(/([\(\[\{])|([\)\]\}])/);return Ae||(ve=Ie.charAt(Ce.column),Ce={row:Ce.row,column:Ce.column+1},Ae=ve&&ve.match(/([\(\[\{])|([\)\]\}])/)),Ae?(Ie=new be(Ce.row,Ce.column-1,Ce.row,Ce.column),(ve=Ae[1]?this.$findClosingBracket(Ae[1],Ce):this.$findOpeningBracket(Ae[2],Ce))?[Ie,new be(ve.row,ve.column,ve.row,ve.column+1)]:[Ie]):null},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(Ce,Ie,ve){var be=this.$brackets[Ce],ye=1,we=new Ae(this,Ie.row,Ie.column),Se=we.getCurrentToken();if(Se=Se||we.stepForward()){ve=ve||new RegExp("(\\.?"+Se.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+");for(var xe=Ie.column-we.getCurrentTokenColumn()-2,ke=Se.value;;){for(;0<=xe;){var Ee=ke.charAt(xe);if(Ee==be){if(0==--ye)return{row:we.getCurrentTokenRow(),column:xe+we.getCurrentTokenColumn()}}else Ee==Ce&&(ye+=1);--xe}for(;(Se=we.stepBackward())&&!ve.test(Se.type););if(null==Se)break;xe=(ke=Se.value).length-1}return null}},this.$findClosingBracket=function(Ce,Ie,ve){var be=this.$brackets[Ce],ye=1,we=new Ae(this,Ie.row,Ie.column),Se=we.getCurrentToken();if(Se=Se||we.stepForward()){ve=ve||new RegExp("(\\.?"+Se.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+");for(var xe=Ie.column-we.getCurrentTokenColumn();;){for(var ke=Se.value,Ee=ke.length;xe<Ee;){var Re=ke.charAt(xe);if(Re==be){if(0==--ye)return{row:we.getCurrentTokenRow(),column:xe+we.getCurrentTokenColumn()}}else Re==Ce&&(ye+=1);xe+=1}for(;(Se=we.stepForward())&&!ve.test(Se.type););if(null==Se)break;xe=0}return null}}}})),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],(function(Ce,Ie,ve){"use strict";function i(Ce,Ie){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++i.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof Ce&&Ce.getLine||(Ce=new _e(Ce)),this.setDocument(Ce),this.selection=new ke(this),this.$bidiHandler=new we(this),Se.resetOptions(this),this.setMode(Ie),Se._signal("session",this)}var be=Ce("./lib/oop"),ye=Ce("./lib/lang"),we=Ce("./bidihandler").BidiHandler,Se=Ce("./config"),xe=Ce("./lib/event_emitter").EventEmitter,ke=Ce("./selection").Selection,Ee=Ce("./mode/text").Mode,Re=Ce("./range").Range,_e=Ce("./document").Document,$e=Ce("./background_tokenizer").BackgroundTokenizer,Le=Ce("./search_highlight").SearchHighlight;i.$uid=0,function(){be.implement(this,xe),this.setDocument=function(Ce){this.doc&&this.doc.off("change",this.$onChange),(this.doc=Ce).on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(Ce){if(!Ce)return this.$docRowCache=[],void(this.$screenRowCache=[]);var Ie=this.$docRowCache.length;(Ce=this.$getRowCacheIndex(this.$docRowCache,Ce)+1)<Ie&&(this.$docRowCache.splice(Ce,Ie),this.$screenRowCache.splice(Ce,Ie))},this.$getRowCacheIndex=function(Ce,Ie){for(var ve=0,Ae=Ce.length-1;ve<=Ae;){var be=ve+Ae>>1,ye=Ce[be];if(ye<Ie)ve=1+be;else{if(!(Ie<ye))return be;Ae=be-1}}return ve-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(Ce){Ce=Ce.data,this.$resetRowCache(Ce.start.row)},this.onChange=function(Ce){this.$modified=!0,this.$bidiHandler.onChange(Ce),this.$resetRowCache(Ce.start.row);var Ie=this.$updateInternalDataOnChange(Ce);!this.$fromUndo&&this.$undoManager&&(Ie&&Ie.length&&(this.$undoManager.add({action:"removeFolds",folds:Ie},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(Ce,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(Ce),this._signal("change",Ce)},this.setValue=function(Ce){this.doc.setValue(Ce),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(Ce){return this.bgTokenizer.getState(Ce)},this.getTokens=function(Ce){return this.bgTokenizer.getTokens(Ce)},this.getTokenAt=function(Ce,Ie){var ve=this.bgTokenizer.getTokens(Ce),Ae=0;if(null==Ie){var be=ve.length-1;Ae=this.getLine(Ce).length}else for(be=0;be<ve.length&&!(Ie<=(Ae+=ve[be].value.length));be++);return(Ce=ve[be])?(Ce.index=be,Ce.start=Ae-Ce.value.length,Ce):null},this.setUndoManager=function(Ce){var Ie;this.$undoManager=Ce,this.$informUndoManager&&this.$informUndoManager.cancel(),Ce?(Ce.addSession(Ie=this),this.$syncInformUndoManager=function(){Ie.$informUndoManager.cancel(),Ie.mergeUndoDeltas=!1},this.$informUndoManager=ye.delayedCall(this.$syncInformUndoManager)):this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?ye.stringRepeat(" ",this.getTabSize()):"\t"},this.setUseSoftTabs=function(Ce){this.setOption("useSoftTabs",Ce)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(Ce){this.setOption("tabSize",Ce)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(Ce){return this.$useSoftTabs&&Ce.column%this.$tabSize==0},this.setNavigateWithinSoftTabs=function(Ce){this.setOption("navigateWithinSoftTabs",Ce)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(Ce){this.setOption("overwrite",Ce)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(Ce,Ie){this.$decorations[Ce]||(this.$decorations[Ce]=""),this.$decorations[Ce]+=" "+Ie,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(Ce,Ie){this.$decorations[Ce]=(this.$decorations[Ce]||"").replace(" "+Ie,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(Ce){this.$breakpoints=[];for(var Ie=0;Ie<Ce.length;Ie++)this.$breakpoints[Ce[Ie]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(Ce,Ie){(Ie=void 0===Ie?"ace_breakpoint":Ie)?this.$breakpoints[Ce]=Ie:delete this.$breakpoints[Ce],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(Ce){delete this.$breakpoints[Ce],this._signal("changeBreakpoint",{})},this.addMarker=function(Ce,Ie,ve,Ae){var be=this.$markerId++;return Ce={range:Ce,type:ve||"line",renderer:"function"==typeof ve?ve:null,clazz:Ie,inFront:!!Ae,id:be},Ae?(this.$frontMarkers[be]=Ce,this._signal("changeFrontMarker")):(this.$backMarkers[be]=Ce,this._signal("changeBackMarker")),be},this.addDynamicMarker=function(Ce,Ie){var ve;if(Ce.update)return ve=this.$markerId++,Ce.id=ve,Ce.inFront=!!Ie,Ie?(this.$frontMarkers[ve]=Ce,this._signal("changeFrontMarker")):(this.$backMarkers[ve]=Ce,this._signal("changeBackMarker")),Ce},this.removeMarker=function(Ce){var Ie=this.$frontMarkers[Ce]||this.$backMarkers[Ce];Ie&&(delete(Ie.inFront?this.$frontMarkers:this.$backMarkers)[Ce],this._signal(Ie.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(Ce){return Ce?this.$frontMarkers:this.$backMarkers},this.highlight=function(Ce){var Ie;this.$searchHighlight||(Ie=new Le(null,"ace_selected-word","text"),this.$searchHighlight=this.addDynamicMarker(Ie)),this.$searchHighlight.setRegexp(Ce)},this.highlightLines=function(Ce,Ie,ve,Ae){return"number"!=typeof Ie&&(ve=Ie,Ie=Ce),ve=ve||"ace_step",(Ce=new Re(Ce,0,Ie,1/0)).id=this.addMarker(Ce,ve,"fullLine",Ae),Ce},this.setAnnotations=function(Ce){this.$annotations=Ce,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(Ce){Ce=Ce.match(/^.*?(\r?\n)/m),this.$autoNewLine=Ce?Ce[1]:"\n"},this.getWordRange=function(Ce,Ie){var ve,Ae=this.getLine(Ce),be=!1,ye=(ve=(be=(be=0<Ie?!!Ae.charAt(Ie-1).match(this.tokenRe):be)||!!Ae.charAt(Ie).match(this.tokenRe))?this.tokenRe:/^\s+$/.test(Ae.slice(Ie-1,Ie+1))?/\s/:this.nonTokenRe,Ie);if(0<ye){for(;0<=--ye&&Ae.charAt(ye).match(ve););ye++}for(var we=Ie;we<Ae.length&&Ae.charAt(we).match(ve);)we++;return new Re(Ce,ye,Ce,we)},this.getAWordRange=function(Ce,Ie){for(var ve=this.getWordRange(Ce,Ie),Ae=this.getLine(ve.end.row);Ae.charAt(ve.end.column).match(/[ \t]/);)ve.end.column+=1;return ve},this.setNewLineMode=function(Ce){this.doc.setNewLineMode(Ce)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(Ce){this.setOption("useWorker",Ce)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(Ce){var Ie=Ce.data;this.bgTokenizer.start(Ie.first),this._signal("tokenizerUpdate",Ce)},this.$modes=Se.$modes,this.$mode=null,this.$modeId=null,this.setMode=function(Ce,Ie){if(Ce&&"object"==typeof Ce){if(Ce.getTokenizer)return this.$onChangeMode(Ce);var ve=Ce,Ae=ve.path}else Ae=Ce||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new Ee),this.$modes[Ae]&&!ve)return this.$onChangeMode(this.$modes[Ae]),void(Ie&&Ie());this.$modeId=Ae,Se.loadModule(["mode",Ae],function(Ce){if(this.$modeId!==Ae)return Ie&&Ie();this.$modes[Ae]&&!ve?this.$onChangeMode(this.$modes[Ae]):Ce&&Ce.Mode&&(Ce=new Ce.Mode(ve),ve||((this.$modes[Ae]=Ce).$id=Ae),this.$onChangeMode(Ce)),Ie&&Ie()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(Ce,Ie){var ve,Ae,be,ye;Ie||(this.$modeId=Ce.$id),this.$mode!==Ce&&(ve=this.$mode,this.$mode=Ce,this.$stopWorker(),this.$useWorker&&this.$startWorker(),void 0!==(Ae=Ce.getTokenizer()).on&&(be=this.onReloadTokenizer.bind(this),Ae.on("update",be)),this.bgTokenizer?this.bgTokenizer.setTokenizer(Ae):(this.bgTokenizer=new $e(Ae),(ye=this).bgTokenizer.on("update",(function(Ce){ye._signal("tokenizerUpdate",Ce)}))),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=Ce.tokenRe,this.nonTokenRe=Ce.nonTokenRe,Ie||(Ce.attachToSession&&Ce.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(Ce.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:ve,mode:Ce})))},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(Ce){Se.warn("Could not load worker",Ce),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(Ce){this.$scrollTop===Ce||isNaN(Ce)||(this.$scrollTop=Ce,this._signal("changeScrollTop",Ce))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(Ce){this.$scrollLeft===Ce||isNaN(Ce)||(this.$scrollLeft=Ce,this._signal("changeScrollLeft",Ce))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var Ce=0;return this.lineWidgets.forEach((function(Ie){Ie&&Ie.screenWidth>Ce&&(Ce=Ie.screenWidth)})),this.lineWidgetWidth=Ce},this.$computeWidth=function(Ce){if(this.$modified||Ce){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var Ie=this.doc.getAllLines(),ve=this.$rowLengthCache,Ae=0,be=0,ye=this.$foldData[be],we=ye?ye.start.row:1/0,Se=Ie.length,xe=0;xe<Se;xe++){if(we<xe){if(Se<=(xe=ye.end.row+1))break;we=(ye=this.$foldData[be++])?ye.start.row:1/0}null==ve[xe]&&(ve[xe]=this.$getStringScreenWidth(Ie[xe])[0]),ve[xe]>Ae&&(Ae=ve[xe])}this.screenWidth=Ae}},this.getLine=function(Ce){return this.doc.getLine(Ce)},this.getLines=function(Ce,Ie){return this.doc.getLines(Ce,Ie)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(Ce){return this.doc.getTextRange(Ce||this.selection.getRange())},this.insert=function(Ce,Ie){return this.doc.insert(Ce,Ie)},this.remove=function(Ce){return this.doc.remove(Ce)},this.removeFullLines=function(Ce,Ie){return this.doc.removeFullLines(Ce,Ie)},this.undoChanges=function(Ce,Ie){if(Ce.length){this.$fromUndo=!0;for(var ve=Ce.length-1;-1!=ve;ve--){var Ae=Ce[ve];"insert"==Ae.action||"remove"==Ae.action?this.doc.revertDelta(Ae):Ae.folds&&this.addFolds(Ae.folds)}!Ie&&this.$undoSelect&&(Ce.selectionBefore?this.selection.fromJSON(Ce.selectionBefore):this.selection.setRange(this.$getUndoSelection(Ce,!0))),this.$fromUndo=!1}},this.redoChanges=function(Ce,Ie){if(Ce.length){this.$fromUndo=!0;for(var ve=0;ve<Ce.length;ve++){var Ae=Ce[ve];"insert"!=Ae.action&&"remove"!=Ae.action||this.doc.$safeApplyDelta(Ae)}!Ie&&this.$undoSelect&&(Ce.selectionAfter?this.selection.fromJSON(Ce.selectionAfter):this.selection.setRange(this.$getUndoSelection(Ce,!1))),this.$fromUndo=!1}},this.setUndoSelect=function(Ce){this.$undoSelect=Ce},this.$getUndoSelection=function(Ce,Ie){function i(Ce){return Ie?"insert"!==Ce.action:"insert"===Ce.action}for(var ve,Ae,be=0;be<Ce.length;be++){var ye=Ce[be];ye.start&&(ve?i(ye)?(Ae=ye.start,-1==ve.compare(Ae.row,Ae.column)&&ve.setStart(Ae),Ae=ye.end,1==ve.compare(Ae.row,Ae.column)&&ve.setEnd(Ae)):(Ae=ye.start,-1==ve.compare(Ae.row,Ae.column)&&(ve=Re.fromPoints(ye.start,ye.start))):ve=i(ye)?Re.fromPoints(ye.start,ye.end):Re.fromPoints(ye.start,ye.start))}return ve},this.replace=function(Ce,Ie){return this.doc.replace(Ce,Ie)},this.moveText=function(Ce,Ie,ve){var Ae,be,ye,we=this.getTextRange(Ce),Se=this.getFoldsInRange(Ce);return Ie=Re.fromPoints(Ie,Ie),ve||(this.remove(Ce),be=Ce.start.row-Ce.end.row,(ye=be?-Ce.end.column:Ce.start.column-Ce.end.column)&&(Ie.start.row==Ce.end.row&&Ie.start.column>Ce.end.column&&(Ie.start.column+=ye),Ie.end.row==Ce.end.row&&Ie.end.column>Ce.end.column&&(Ie.end.column+=ye)),be&&Ie.start.row>=Ce.end.row&&(Ie.start.row+=be,Ie.end.row+=be)),Ie.end=this.insert(Ie.start,we),Se.length&&(Ae=Ce.start,ve=Ie.start,be=ve.row-Ae.row,ye=ve.column-Ae.column,this.addFolds(Se.map((function(Ce){return(Ce=Ce.clone()).start.row==Ae.row&&(Ce.start.column+=ye),Ce.end.row==Ae.row&&(Ce.end.column+=ye),Ce.start.row+=be,Ce.end.row+=be,Ce})))),Ie},this.indentRows=function(Ce,Ie,ve){ve=ve.replace(/\t/g,this.getTabString());for(var Ae=Ce;Ae<=Ie;Ae++)this.doc.insertInLine({row:Ae,column:0},ve)},this.outdentRows=function(Ce){for(var Ie=Ce.collapseRows(),ve=new Re(0,0,0,0),Ae=this.getTabSize(),be=Ie.start.row;be<=Ie.end.row;++be){var ye=this.getLine(be);ve.start.row=be,ve.end.row=be;for(var we=0;we<Ae&&" "==ye.charAt(we);++we);we<Ae&&"\t"==ye.charAt(we)?(ve.start.column=we,ve.end.column=we+1):(ve.start.column=0,ve.end.column=we),this.remove(ve)}},this.$moveLines=function(Ce,Ie,ve){if(Ce=this.getRowFoldStart(Ce),Ie=this.getRowFoldEnd(Ie),ve<0){if((be=this.getRowFoldStart(Ce+ve))<0)return 0;var Ae=be-Ce}else if(0<ve){if((be=this.getRowFoldEnd(Ie+ve))>this.doc.getLength()-1)return 0;Ae=be-Ie}else Ce=this.$clipRowToDocument(Ce),Ae=(Ie=this.$clipRowToDocument(Ie))-Ce+1;var be=new Re(Ce,0,Ie,Number.MAX_VALUE);return be=this.getFoldsInRange(be).map((function(Ce){return(Ce=Ce.clone()).start.row+=Ae,Ce.end.row+=Ae,Ce})),ve=0==ve?this.doc.getLines(Ce,Ie):this.doc.removeFullLines(Ce,Ie),this.doc.insertFullLines(Ce+Ae,ve),be.length&&this.addFolds(be),Ae},this.moveLinesUp=function(Ce,Ie){return this.$moveLines(Ce,Ie,-1)},this.moveLinesDown=function(Ce,Ie){return this.$moveLines(Ce,Ie,1)},this.duplicateLines=function(Ce,Ie){return this.$moveLines(Ce,Ie,0)},this.$clipRowToDocument=function(Ce){return Math.max(0,Math.min(Ce,this.doc.getLength()-1))},this.$clipColumnToRow=function(Ce,Ie){return Ie<0?0:Math.min(this.doc.getLine(Ce).length,Ie)},this.$clipPositionToDocument=function(Ce,Ie){var ve;return Ie=Math.max(0,Ie),Ie=Ce<0?Ce=0:(ve=this.doc.getLength())<=Ce?this.doc.getLine(Ce=ve-1).length:Math.min(this.doc.getLine(Ce).length,Ie),{row:Ce,column:Ie}},this.$clipRangeToDocument=function(Ce){Ce.start.row<0?(Ce.start.row=0,Ce.start.column=0):Ce.start.column=this.$clipColumnToRow(Ce.start.row,Ce.start.column);var Ie=this.doc.getLength()-1;return Ce.end.row>Ie?(Ce.end.row=Ie,Ce.end.column=this.doc.getLine(Ie).length):Ce.end.column=this.$clipColumnToRow(Ce.end.row,Ce.end.column),Ce},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(Ce){Ce!=this.$useWrapMode&&(this.$useWrapMode=Ce,this.$modified=!0,this.$resetRowCache(0),Ce&&(Ce=this.getLength(),this.$wrapData=Array(Ce),this.$updateWrapData(0,Ce-1)),this._signal("changeWrapMode"))},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(Ce,Ie){this.$wrapLimitRange.min===Ce&&this.$wrapLimitRange.max===Ie||(this.$wrapLimitRange={min:Ce,max:Ie},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(Ce,Ie){var ve=this.$wrapLimitRange;return ve.max<0&&(ve={min:Ie,max:Ie}),(Ie=this.$constrainWrapLimit(Ce,ve.min,ve.max))!=this.$wrapLimit&&1<Ie&&(this.$wrapLimit=Ie,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},this.$constrainWrapLimit=function(Ce,Ie,ve){return Ie&&(Ce=Math.max(Ie,Ce)),ve?Math.min(ve,Ce):Ce},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(Ce){this.setWrapLimitRange(Ce,Ce)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(Ce){var Ie,ve=this.$useWrapMode,be=Ce.action,ye=Ce.start,we=Ce.end,Se=ye.row,xe=we.row,ke=xe-Se,Ee=null;if(this.$updating=!0,0!=ke)if("remove"===be){this[ve?"$wrapData":"$rowLengthCache"].splice(Se,ke);var Re=this.$foldData;Ee=this.getFoldsInRange(Ce),this.removeFolds(Ee);var _e=0;for((Ie=this.getFoldLine(we.row))&&(Ie.addRemoveChars(we.row,we.column,ye.column-we.column),Ie.shiftRow(-ke),($e=this.getFoldLine(Se))&&$e!==Ie&&($e.merge(Ie),Ie=$e),_e=Re.indexOf(Ie)+1);_e<Re.length;_e++)(Ie=Re[_e]).start.row>=we.row&&Ie.shiftRow(-ke);xe=Se}else{var $e=Array(ke),Le=($e.unshift(Se,0),ve?this.$wrapData:this.$rowLengthCache);for(Le.splice.apply(Le,$e),Re=this.$foldData,_e=0,(Ie=this.getFoldLine(Se))&&(0==(Le=Ie.range.compareInside(ye.row,ye.column))?(Ie=Ie.split(ye.row,ye.column))&&(Ie.shiftRow(ke),Ie.addRemoveChars(xe,0,we.column-ye.column)):-1==Le&&(Ie.addRemoveChars(Se,0,we.column-ye.column),Ie.shiftRow(ke)),_e=Re.indexOf(Ie)+1);_e<Re.length;_e++)(Ie=Re[_e]).start.row>=Se&&Ie.shiftRow(ke)}else ke=Math.abs(Ce.start.column-Ce.end.column),"remove"===be&&(Ee=this.getFoldsInRange(Ce),this.removeFolds(Ee),ke=-ke),(Ie=this.getFoldLine(Se))&&Ie.addRemoveChars(Se,ye.column,ke);return ve&&this.$wrapData.length!=this.doc.getLength()&&Ae.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,ve?this.$updateWrapData(Se,xe):this.$updateRowLengthCache(Se,xe),Ee},this.$updateRowLengthCache=function(Ce,Ie,ve){this.$rowLengthCache[Ce]=null,this.$rowLengthCache[Ie]=null},this.$updateWrapData=function(ve,Ae){var be,ye,we=this.doc.getAllLines(),Se=this.getTabSize(),xe=this.$wrapData,ke=this.$wrapLimit,Ee=ve;for(Ae=Math.min(Ae,we.length-1);Ee<=Ae;)(ye=this.getFoldLine(Ee,ye))?(be=[],ye.walk(function(ve,Ae,ye,Se){var xe;if(null!=ve){(xe=this.$getDisplayTokens(ve,be.length))[0]=Ce;for(var ke=1;ke<xe.length;ke++)xe[ke]=Ie}else xe=this.$getDisplayTokens(we[Ae].substring(Se,ye),be.length);be=be.concat(xe)}.bind(this),ye.end.row,we[ye.end.row].length+1),xe[ye.start.row]=this.$computeWrapSplits(be,ke,Se),Ee=ye.end.row+1):(be=this.$getDisplayTokens(we[Ee]),xe[Ee]=this.$computeWrapSplits(be,ke,Se),Ee++)};var Ce=3,Ie=4;function a(Ce){return!(Ce<4352)&&(4352<=Ce&&Ce<=4447||4515<=Ce&&Ce<=4519||4602<=Ce&&Ce<=4607||9001<=Ce&&Ce<=9002||11904<=Ce&&Ce<=11929||11931<=Ce&&Ce<=12019||12032<=Ce&&Ce<=12245||12272<=Ce&&Ce<=12283||12288<=Ce&&Ce<=12350||12353<=Ce&&Ce<=12438||12441<=Ce&&Ce<=12543||12549<=Ce&&Ce<=12589||12593<=Ce&&Ce<=12686||12688<=Ce&&Ce<=12730||12736<=Ce&&Ce<=12771||12784<=Ce&&Ce<=12830||12832<=Ce&&Ce<=12871||12880<=Ce&&Ce<=13054||13056<=Ce&&Ce<=19903||19968<=Ce&&Ce<=42124||42128<=Ce&&Ce<=42182||43360<=Ce&&Ce<=43388||44032<=Ce&&Ce<=55203||55216<=Ce&&Ce<=55238||55243<=Ce&&Ce<=55291||63744<=Ce&&Ce<=64255||65040<=Ce&&Ce<=65049||65072<=Ce&&Ce<=65106||65108<=Ce&&Ce<=65126||65128<=Ce&&Ce<=65131||65281<=Ce&&Ce<=65376||65504<=Ce&&Ce<=65510)}this.$computeWrapSplits=function(ve,Ae,be){if(0==ve.length)return[];var ye=[],we=ve.length,Se=0,xe=0,ke=this.$wrapAsCode,Ee=this.$indentedSoftWrap,Re=Ae<=Math.max(2*be,8)||!1===Ee?0:Math.floor(Ae/2);function t(Ce){for(var Ie=Ce-Se,Ae=Se;Ae<Ce;Ae++){var we=ve[Ae];12!==we&&2!==we||--Ie}ye.length||(_e=function(){var Ce=0;if(0===Re)return Ce;if(Ee)for(var Ie=0;Ie<ve.length;Ie++){var Ae=ve[Ie];if(10==Ae)Ce+=1;else if(11==Ae)Ce+=be;else if(12!=Ae)break}return ke&&!1!==Ee&&(Ce+=be),Math.min(Ce,Re)}(),ye.indent=_e),xe+=Ie,ye.push(xe),Se=Ce}for(var _e=0;Ae-_e<we-Se;){var $e=Se+Ae-_e;if(10<=ve[$e-1]&&10<=ve[$e])t($e);else if(ve[$e]!=Ce&&ve[$e]!=Ie){for(var Le=Math.max($e-(Ae-(Ae>>2)),Se-1);Le<$e&&ve[$e]<Ce;)$e--;if(ke){for(;Le<$e&&ve[$e]<Ce;)$e--;for(;Le<$e&&9==ve[$e];)$e--}else for(;Le<$e&&ve[$e]<10;)$e--;Le<$e?t(++$e):(2==ve[$e=Se+Ae]&&$e--,t($e-_e))}else{for(;$e!=Se-1&&ve[$e]!=Ce;$e--);if(Se<$e)t($e);else{for($e=Se+Ae;$e<ve.length&&ve[$e]==Ie;$e++);if($e==ve.length)break;t($e)}}}return ye},this.$getDisplayTokens=function(Ce,Ie){var ve,Ae=[];Ie=Ie||0;for(var be=0;be<Ce.length;be++){var ye=Ce.charCodeAt(be);if(9==ye){ve=this.getScreenTabSize(Ae.length+Ie),Ae.push(11);for(var we=1;we<ve;we++)Ae.push(12)}else 32==ye?Ae.push(10):39<ye&&ye<48||57<ye&&ye<64?Ae.push(9):4352<=ye&&a(ye)?Ae.push(1,2):Ae.push(1)}return Ae},this.$getStringScreenWidth=function(Ce,Ie,ve){if(0==Ie)return[0,0];var Ae,be;for(null==Ie&&(Ie=1/0),ve=ve||0,be=0;be<Ce.length&&(9==(Ae=Ce.charCodeAt(be))?ve+=this.getScreenTabSize(ve):4352<=Ae&&a(Ae)?ve+=2:ve+=1,!(Ie<ve));be++);return[ve,be]},this.lineWidgets=null,this.getRowLength=function(Ce){var Ie=1;return this.lineWidgets&&(Ie+=this.lineWidgets[Ce]&&this.lineWidgets[Ce].rowCount||0),this.$useWrapMode&&this.$wrapData[Ce]?this.$wrapData[Ce].length+Ie:Ie},this.getRowLineCount=function(Ce){return this.$useWrapMode&&this.$wrapData[Ce]?this.$wrapData[Ce].length+1:1},this.getRowWrapIndent=function(Ce){var Ie;return this.$useWrapMode?(Ce=this.screenToDocumentPosition(Ce,Number.MAX_VALUE),(Ie=this.$wrapData[Ce.row]).length&&Ie[0]<Ce.column?Ie.indent:0):0},this.getScreenLastRowColumn=function(Ce){return Ce=this.screenToDocumentPosition(Ce,Number.MAX_VALUE),this.documentToScreenColumn(Ce.row,Ce.column)},this.getDocumentLastRowColumn=function(Ce,Ie){return Ce=this.documentToScreenRow(Ce,Ie),this.getScreenLastRowColumn(Ce)},this.getDocumentLastRowColumnPosition=function(Ce,Ie){return Ce=this.documentToScreenRow(Ce,Ie),this.screenToDocumentPosition(Ce,Number.MAX_VALUE/10)},this.getRowSplitData=function(Ce){if(this.$useWrapMode)return this.$wrapData[Ce]},this.getScreenTabSize=function(Ce){return this.$tabSize-(Ce%this.$tabSize|0)},this.screenToDocumentRow=function(Ce,Ie){return this.screenToDocumentPosition(Ce,Ie).row},this.screenToDocumentColumn=function(Ce,Ie){return this.screenToDocumentPosition(Ce,Ie).column},this.screenToDocumentPosition=function(Ce,Ie,ve){if(Ce<0)return{row:0,column:0};for(var Ae,be,ye,we=0,Se=0,xe=0,ke=0,Ee=this.$screenRowCache,Re=this.$getRowCacheIndex(Ee,Ce),_e=Ee.length,$e=(ye=_e&&0<=Re?(xe=Ee[Re],we=this.$docRowCache[Re],Ce>Ee[_e-1]):!_e,this.getLength()-1),Le=this.getNextFoldLine(we),Be=Le?Le.start.row:1/0;xe<=Ce&&!(Ce<xe+(ke=this.getRowLength(we))||$e<=we);)xe+=ke,Be<++we&&(we=Le.end.row+1,Be=(Le=this.getNextFoldLine(we,Le))?Le.start.row:1/0),ye&&(this.$docRowCache.push(we),this.$screenRowCache.push(xe));if(Le&&Le.start.row<=we)Ae=this.getFoldDisplayLine(Le),we=Le.start.row;else{if(xe+ke<=Ce||$e<we)return{row:$e,column:this.getLine($e).length};Ae=this.getLine(we),Le=null}return Re=0,Ee=Math.floor(Ce-xe),!this.$useWrapMode||(_e=this.$wrapData[we])&&(be=_e[Ee],0<Ee&&_e.length&&(Re=_e.indent,Se=_e[Ee-1]||_e[_e.length-1],Ae=Ae.substring(Se))),void 0!==ve&&this.$bidiHandler.isBidiRow(xe+Ee,we,Ee)&&(Ie=this.$bidiHandler.offsetToCol(ve)),Se+=this.$getStringScreenWidth(Ae,Ie-Re)[1],this.$useWrapMode&&be<=Se&&(Se=be-1),Le?Le.idxToPosition(Se):{row:we,column:Se}},this.documentToScreenPosition=function(Ce,Ie){var ve=(Ce=(Ae=void 0===Ie?this.$clipPositionToDocument(Ce.row,Ce.column):this.$clipPositionToDocument(Ce,Ie)).row,Ie=Ae.column,0),Ae=null;(Se=this.getFoldAt(Ce,Ie,1))&&(Ce=Se.start.row,Ie=Se.start.column);for(var be,ye,we=0,Se=this.$docRowCache,xe=this.$getRowCacheIndex(Se,Ce),ke=Se.length,Ee=(ye=ke&&0<=xe?(we=Se[xe],ve=this.$screenRowCache[xe],Ce>Se[ke-1]):!ke,this.getNextFoldLine(we)),Re=Ee?Ee.start.row:1/0;we<Ce;){if(Re<=we){if(Ce<(be=Ee.end.row+1))break;Re=(Ee=this.getNextFoldLine(be,Ee))?Ee.start.row:1/0}else be=we+1;ve+=this.getRowLength(we),we=be,ye&&(this.$docRowCache.push(we),this.$screenRowCache.push(ve))}var _e="";if(Ae=Ee&&Re<=we?(_e=this.getFoldDisplayLine(Ee,Ce,Ie),Ee.start.row):(_e=this.getLine(Ce).substring(0,Ie),Ce),xe=0,this.$useWrapMode){var $e=this.$wrapData[Ae];if($e){for(var Le=0;_e.length>=$e[Le];)ve++,Le++;_e=_e.substring($e[Le-1]||0,_e.length),xe=0<Le?$e.indent:0}}return this.lineWidgets&&this.lineWidgets[we]&&this.lineWidgets[we].rowsAbove&&(ve+=this.lineWidgets[we].rowsAbove),{row:ve,column:xe+this.$getStringScreenWidth(_e)[0]}},this.documentToScreenColumn=function(Ce,Ie){return this.documentToScreenPosition(Ce,Ie).column},this.documentToScreenRow=function(Ce,Ie){return this.documentToScreenPosition(Ce,Ie).row},this.getScreenLength=function(){var Ce=0,Ie=null;if(this.$useWrapMode)for(var ve=this.$wrapData.length,Ae=0,be=0,ye=(Ie=this.$foldData[be++])?Ie.start.row:1/0;Ae<ve;){var we=this.$wrapData[Ae];Ce+=we?we.length+1:1,ye<++Ae&&(Ae=Ie.end.row+1,ye=(Ie=this.$foldData[be++])?Ie.start.row:1/0)}else{Ce=this.getLength();var Se=this.$foldData;for(be=0;be<Se.length;be++)Ce-=(Ie=Se[be]).end.row-Ie.start.row}return this.lineWidgets&&(Ce+=this.$getWidgetScreenLength()),Ce},this.$setFontMetrics=function(Ce){this.$enableVarChar&&(this.$getStringScreenWidth=function(Ie,ve,Ae){if(0===ve)return[0,0];var be,ye;for(ve=ve||1/0,Ae=Ae||0,ye=0;ye<Ie.length&&!(ve<(Ae+="\t"===(be=Ie.charAt(ye))?this.getScreenTabSize(Ae):Ce.getCharacterWidth(be)));ye++);return[Ae,ye]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection.detach()},this.isFullWidth=a}.call(i.prototype),Ce("./edit_session/folding").Folding.call(i.prototype),Ce("./edit_session/bracket_match").BracketMatch.call(i.prototype),Se.defineOptions(i.prototype,"session",{wrap:{set:function(Ce){Ce&&"off"!=Ce?"free"==Ce?Ce=!0:"printMargin"==Ce?Ce=-1:"string"==typeof Ce&&(Ce=parseInt(Ce,10)||!1):Ce=!1,this.$wrap!=Ce&&((this.$wrap=Ce)?(this.setWrapLimitRange(Ce="number"==typeof Ce?Ce:null,Ce),this.setUseWrapMode(!0)):this.setUseWrapMode(!1))},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(Ce){(Ce="auto"==Ce?"text"!=this.$mode.type:"text"!=Ce)!=this.$wrapAsCode&&(this.$wrapAsCode=Ce,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(Ce){this.$useWorker=Ce,this.$stopWorker(),Ce&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(Ce){0<(Ce=parseInt(Ce))&&this.$tabSize!==Ce&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=Ce,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(Ce){this.setFoldStyle(Ce)},handlesSet:!0},overwrite:{set:function(Ce){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(Ce){this.doc.setNewLineMode(Ce)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(Ce){this.setMode(Ce)},get:function(){return this.$modeId},handlesSet:!0}}),Ie.EditSession=i})),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(Ce,Ie,ve){"use strict";function n(){this.$options={}}var Ae=Ce("./lib/lang"),be=Ce("./lib/oop"),ye=Ce("./range").Range;(function(){this.set=function(Ce){return be.mixin(this.$options,Ce),this},this.getOptions=function(){return Ae.copyObject(this.$options)},this.setOptions=function(Ce){this.$options=Ce},this.find=function(Ce){var Ie=this.$options;if(!(Ce=this.$matchIterator(Ce,Ie)))return!1;var ve=null;return Ce.forEach((function(Ce,Ae,be,we){return ve=new ye(Ce,Ae,be,we),!(Ae==we&&Ie.start&&Ie.start.start&&0!=Ie.skipCurrent&&ve.isEqual(Ie.start)&&(ve=null,1))})),ve},this.findAll=function(Ce){var Ie=this.$options;if(!Ie.needle)return[];this.$assembleRegExp(Ie);var ve=Ie.range,be=ve?Ce.getLines(ve.start.row,ve.end.row):Ce.doc.getAllLines(),we=[],Se=Ie.re;if(Ie.$isMultiLine){var xe,ke=Se.length,Ee=be.length-ke;e:for(var Re=Se.offset||0;Re<=Ee;Re++){for(var _e=0;_e<ke;_e++)if(-1==be[Re+_e].search(Se[_e]))continue e;var $e=be[Re],Le=be[Re+ke-1];$e=$e.length-$e.match(Se[0])[0].length,Le=Le.match(Se[ke-1])[0].length,xe&&xe.end.row===Re&&xe.end.column>$e||(we.push(xe=new ye(Re,$e,Re+ke-1,Le)),2<ke&&(Re=Re+ke-2))}}else for(var Be=0;Be<be.length;Be++){var We=Ae.getMatchOffsets(be[Be],Se);for(_e=0;_e<We.length;_e++){var Ne=We[_e];we.push(new ye(Be,Ne.offset,Be,Ne.offset+Ne.length))}}if(ve){var Ge=ve.start.column,Pe=ve.start.column;for(Be=0,_e=we.length-1;Be<_e&&we[Be].start.column<Ge&&we[Be].start.row==ve.start.row;)Be++;for(;Be<_e&&we[_e].end.column>Pe&&we[_e].end.row==ve.end.row;)_e--;for(we=we.slice(Be,_e+1),Be=0,_e=we.length;Be<_e;Be++)we[Be].start.row+=ve.start.row,we[Be].end.row+=ve.start.row}return we},this.replace=function(Ce,Ie){var ve=this.$options,Ae=this.$assembleRegExp(ve);if(ve.$isMultiLine)return Ie;if(Ae){var be=Ae.exec(Ce);if(!be||be[0].length!=Ce.length)return null;if(Ie=Ce.replace(Ae,Ie),ve.preserveCase){Ie=Ie.split("");for(var ye=Math.min(Ce.length,Ce.length);ye--;){var we=Ce[ye];we&&we.toLowerCase()!=we?Ie[ye]=Ie[ye].toUpperCase():Ie[ye]=Ie[ye].toLowerCase()}Ie=Ie.join("")}return Ie}},this.$assembleRegExp=function(Ce,Ie){if(Ce.needle instanceof RegExp)return Ce.re=Ce.needle;var ve,be=Ce.needle;if(!Ce.needle)return Ce.re=!1;function r(Ce){return/\w/.test(Ce)||ve.regExp?"\\b":""}Ce.regExp||(be=Ae.escapeRegExp(be)),Ce.wholeWord&&(ve=Ce,be=r((ye=be)[0])+ye+r(ye[ye.length-1]));var ye=Ce.caseSensitive?"gm":"gmi";if(Ce.$isMultiLine=!Ie&&/[\n\r]/.test(be),Ce.$isMultiLine)return Ce.re=this.$assembleMultilineRegExp(be,ye);try{var we=new RegExp(be,ye)}catch(Ce){we=!1}return Ce.re=we},this.$assembleMultilineRegExp=function(Ce,Ie){for(var ve=Ce.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),Ae=[],be=0;be<ve.length;be++)try{Ae.push(new RegExp(ve[be],Ie))}catch(Ce){return!1}return Ae},this.$matchIterator=function(Ce,Ie){var ve=this.$assembleRegExp(Ie);if(!ve)return!1;var Ae,be,ye=1==Ie.backwards,we=0!=Ie.skipCurrent,Se=Ie.range,xe=Ie.start,ke=((xe=xe||(Se?Se[ye?"end":"start"]:Ce.selection.getRange())).start&&(xe=xe[we!=ye?"end":"start"]),Se?Se.start.row:0),Ee=Se?Se.end.row:Ce.getLength()-1;return be=Ie.$isMultiLine?(Ae=ve.length,function(Ie,be,we){var Se=ye?Ie-Ae+1:Ie;if(!(Se<0||Se+Ae>Ce.getLength())){var xe=Ce.getLine(Se);if(Ie=xe.search(ve[0]),!(!ye&&Ie<be||-1===Ie)){for(var ke=1;ke<Ae;ke++)if(-1==(xe=Ce.getLine(Se+ke)).search(ve[ke]))return;var Ee=xe.match(ve[Ae-1])[0].length;if(!(ye&&be<Ee))return!!we(Se,Ie,Se+Ae-1,Ee)||void 0}}}):ye?function(Ie,Ae,be){var ye,we=Ce.getLine(Ie),Se=[];for(ve.lastIndex=0;ye=ve.exec(we);){var xe=ye[0].length,ke=ye.index;if(!xe){if(ke>=we.length)break;ve.lastIndex=ke+=1}if(ye.index+xe>Ae)break;Se.push(ye.index,xe)}for(var Ee=Se.length-1;0<=Ee;Ee-=2){var Re=Se[Ee-1];if(be(Ie,Re,Ie,Re+(xe=Se[Ee])))return!0}}:function(Ie,Ae,be){var ye=Ce.getLine(Ie);for(ve.lastIndex=Ae;we=ve.exec(ye);){var we,Se=we[0].length;if(be(Ie,we=we.index,Ie,we+Se))return!0;if(!Se&&(ve.lastIndex=we+=1,we>=ye.length))return!1}},{forEach:ye?function(Ce){var ve=xe.row;if(!be(ve,xe.column,Ce)){for(ve--;ke<=ve;ve--)if(be(ve,Number.MAX_VALUE,Ce))return;if(0!=Ie.wrap)for(ve=Ee,ke=xe.row;ke<=ve;ve--)if(be(ve,Number.MAX_VALUE,Ce))return}}:function(Ce){var ve=xe.row;if(!be(ve,xe.column,Ce)){for(ve+=1;ve<=Ee;ve++)if(be(ve,0,Ce))return;if(0!=Ie.wrap)for(ve=ke,Ee=xe.row;ve<=Ee;ve++)if(be(ve,0,Ce))return}}}}}).call(n.prototype),Ie.Search=n})),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(Ce,Ie,ve){"use strict";var be=Ce("../lib/keys"),ye=Ce("../lib/useragent"),we=be.KEY_MODS;function r(Ce,Ie){this.platform=Ie||(ye.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(Ce),this.$singleCommand=!0}function o(Ce,Ie){r.call(this,Ce,Ie),this.$singleCommand=!1}o.prototype=r.prototype,function(){function s(Ce){return"object"==typeof Ce&&Ce.bindKey&&Ce.bindKey.position||(Ce.isDefault?-100:0)}this.addCommand=function(Ce){this.commands[Ce.name]&&this.removeCommand(Ce),(this.commands[Ce.name]=Ce).bindKey&&this._buildKeyHash(Ce)},this.removeCommand=function(Ce,Ie){var ve,Ae=Ce&&("string"==typeof Ce?Ce:Ce.name),be=(Ce=this.commands[Ae],Ie||delete this.commands[Ae],this.commandKeyBinding);for(ve in be){var ye,we=be[ve];we==Ce?delete be[ve]:!Array.isArray(we)||-1!=(ye=we.indexOf(Ce))&&(we.splice(ye,1),1==we.length&&(be[ve]=we[0]))}},this.bindKey=function(Ce,Ie,ve){if("object"==typeof Ce&&Ce&&(null==ve&&(ve=Ce.position),Ce=Ce[this.platform]),Ce)return"function"==typeof Ie?this.addCommand({exec:Ie,bindKey:Ce,name:Ie.name||Ce}):void Ce.split("|").forEach((function(Ce){var Ae="",be=(-1!=Ce.indexOf(" ")&&(Ce=(be=Ce.split(/\s+/)).pop(),be.forEach((function(Ce){Ce=this.parseKeys(Ce),Ce=we[Ce.hashId]+Ce.key,Ae+=(Ae?" ":"")+Ce,this._addCommandToBinding(Ae,"chainKeys")}),this),Ae+=" "),this.parseKeys(Ce));Ce=we[be.hashId]+be.key,this._addCommandToBinding(Ae+Ce,Ie,ve)}),this)},this._addCommandToBinding=function(Ce,Ie,ve){var Ae=this.commandKeyBinding;if(Ie)if(!Ae[Ce]||this.$singleCommand)Ae[Ce]=Ie;else{Array.isArray(Ae[Ce])?-1!=(ye=Ae[Ce].indexOf(Ie))&&Ae[Ce].splice(ye,1):Ae[Ce]=[Ae[Ce]],"number"!=typeof ve&&(ve=s(Ie));for(var be=Ae[Ce],ye=0;ye<be.length&&!(ve<s(be[ye]));ye++);be.splice(ye,0,Ie)}else delete Ae[Ce]},this.addCommands=function(Ce){Ce&&Object.keys(Ce).forEach((function(Ie){var ve=Ce[Ie];if(ve){if("string"==typeof ve)return this.bindKey(ve,Ie);"object"==typeof(ve="function"==typeof ve?{exec:ve}:ve)&&(ve.name||(ve.name=Ie),this.addCommand(ve))}}),this)},this.removeCommands=function(Ce){Object.keys(Ce).forEach((function(Ie){this.removeCommand(Ce[Ie])}),this)},this.bindKeys=function(Ce){Object.keys(Ce).forEach((function(Ie){this.bindKey(Ie,Ce[Ie])}),this)},this._buildKeyHash=function(Ce){this.bindKey(Ce.bindKey,Ce)},this.parseKeys=function(Ce){var Ie=Ce.toLowerCase().split(/[\-\+]([\-\+])?/).filter((function(Ce){return Ce})),ve=Ie.pop(),ye=be[ve];if(be.FUNCTION_KEYS[ye])ve=be.FUNCTION_KEYS[ye].toLowerCase();else{if(!Ie.length)return{key:ve,hashId:-1};if(1==Ie.length&&"shift"==Ie[0])return{key:ve.toUpperCase(),hashId:-1}}for(var we=0,Se=Ie.length;Se--;){var xe=be.KEY_MODS[Ie[Se]];if(null==xe)return void 0!==Ae&&Ae.error("invalid modifier "+Ie[Se]+" in "+Ce),!1;we|=xe}return{key:ve,hashId:we}},this.findKeyCommand=function(Ce,Ie){return Ce=we[Ce]+Ie,this.commandKeyBinding[Ce]},this.handleKeyboard=function(Ce,Ie,ve,Ae){var be,ye;if(!(Ae<0))return be=we[Ie]+ve,ye=this.commandKeyBinding[be],Ce.$keyChain&&(Ce.$keyChain+=" "+be,ye=this.commandKeyBinding[Ce.$keyChain]||ye),!ye||"chainKeys"!=ye&&"chainKeys"!=ye[ye.length-1]?(Ce.$keyChain&&(Ie&&4!=Ie||1!=ve.length?(-1==Ie||0<Ae)&&(Ce.$keyChain=""):Ce.$keyChain=Ce.$keyChain.slice(0,-be.length-1)),{command:ye}):(Ce.$keyChain=Ce.$keyChain||be,{command:"null"})},this.getStatusText=function(Ce,Ie){return Ie.$keyChain||""}}.call(r.prototype),Ie.HashHandler=r,Ie.MultiHashHandler=o})),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],(function(Ce,Ie,ve){"use strict";function n(Ce,Ie){be.call(this,Ie,Ce),this.byName=this.commands,this.setDefaultHandler("exec",(function(Ce){return Ce.command.exec(Ce.editor,Ce.args||{})}))}var Ae=Ce("../lib/oop"),be=Ce("../keyboard/hash_handler").MultiHashHandler,ye=Ce("../lib/event_emitter").EventEmitter;Ae.inherits(n,be),function(){Ae.implement(this,ye),this.exec=function(Ce,Ie,ve){if(Array.isArray(Ce)){for(var Ae=Ce.length;Ae--;)if(this.exec(Ce[Ae],Ie,ve))return!0;return!1}if(!(Ce="string"==typeof Ce?this.commands[Ce]:Ce))return!1;if(Ie&&Ie.$readOnly&&!Ce.readOnly)return!1;if(0!=this.$checkCommandState&&Ce.isAvailable&&!Ce.isAvailable(Ie))return!1;var be={editor:Ie,command:Ce,args:ve};return be.returnValue=this._emit("exec",be),this._signal("afterExec",be),!1!==be.returnValue},this.toggleRecording=function(Ce){if(!this.$inReplay)return Ce&&Ce._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(Ce){this.macro.push([Ce.command,Ce.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(Ce){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(Ce);try{this.$inReplay=!0,this.macro.forEach((function(Ie){"string"==typeof Ie?this.exec(Ie,Ce):this.exec(Ie[0],Ce,Ie[1])}),this)}finally{this.$inReplay=!1}}},this.trimMacro=function(Ce){return Ce.map((function(Ce){return"string"!=typeof Ce[0]&&(Ce[0]=Ce[0].name),Ce[1]?Ce:Ce[0]}))}}.call(n.prototype),Ie.CommandManager=n})),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../lib/lang"),be=Ce("../config"),ye=Ce("../range").Range;function r(Ce,Ie){return{win:Ce,mac:Ie}}Ie.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:r("Ctrl-,","Command-,"),exec:function(Ce){be.loadModule("ace/ext/settings_menu",(function(Ie){Ie.init(Ce),Ce.showSettingsMenu()}))},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:r("Alt-E","F4"),exec:function(Ce){be.loadModule("./ext/error_marker",(function(Ie){Ie.showErrorMarker(Ce,1)}))},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:r("Alt-Shift-E","Shift-F4"),exec:function(Ce){be.loadModule("./ext/error_marker",(function(Ie){Ie.showErrorMarker(Ce,-1)}))},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:r("Ctrl-A","Command-A"),exec:function(Ce){Ce.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:r(null,"Ctrl-L"),exec:function(Ce){Ce.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:r("Ctrl-L","Command-L"),exec:function(Ce,Ie){"number"!=typeof Ie||isNaN(Ie)||Ce.gotoLine(Ie),Ce.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:r("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(Ce){Ce.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:r("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(Ce){Ce.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:r("F2","F2"),exec:function(Ce){Ce.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:r("Alt-F2","Alt-F2"),exec:function(Ce){Ce.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:r(null,"Ctrl-Command-Option-0"),exec:function(Ce){Ce.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:r(null,"Ctrl-Command-Option-0"),exec:function(Ce){Ce.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:r("Alt-0","Command-Option-0"),exec:function(Ce){Ce.session.foldAll(),Ce.session.unfold(Ce.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:r("Alt-Shift-0","Command-Option-Shift-0"),exec:function(Ce){Ce.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:r("Ctrl-K","Command-G"),exec:function(Ce){Ce.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:r("Ctrl-Shift-K","Command-Shift-G"),exec:function(Ce){Ce.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:r("Alt-K","Ctrl-G"),exec:function(Ce){Ce.selection.isEmpty()?Ce.selection.selectWord():Ce.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:r("Alt-Shift-K","Ctrl-Shift-G"),exec:function(Ce){Ce.selection.isEmpty()?Ce.selection.selectWord():Ce.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:r("Ctrl-F","Command-F"),exec:function(Ce){be.loadModule("ace/ext/searchbox",(function(Ie){Ie.Search(Ce)}))},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(Ce){Ce.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:r("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(Ce){Ce.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:r("Ctrl-Home","Command-Home|Command-Up"),exec:function(Ce){Ce.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:r("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(Ce){Ce.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:r("Up","Up|Ctrl-P"),exec:function(Ce,Ie){Ce.navigateUp(Ie.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:r("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(Ce){Ce.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:r("Ctrl-End","Command-End|Command-Down"),exec:function(Ce){Ce.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:r("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(Ce){Ce.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:r("Down","Down|Ctrl-N"),exec:function(Ce,Ie){Ce.navigateDown(Ie.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:r("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(Ce){Ce.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:r("Ctrl-Left","Option-Left"),exec:function(Ce){Ce.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:r("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(Ce){Ce.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:r("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(Ce){Ce.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:r("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(Ce){Ce.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:r("Left","Left|Ctrl-B"),exec:function(Ce,Ie){Ce.navigateLeft(Ie.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:r("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(Ce){Ce.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:r("Ctrl-Right","Option-Right"),exec:function(Ce){Ce.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:r("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(Ce){Ce.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:r("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(Ce){Ce.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:r("Shift-Right","Shift-Right"),exec:function(Ce){Ce.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:r("Right","Right|Ctrl-F"),exec:function(Ce,Ie){Ce.navigateRight(Ie.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(Ce){Ce.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:r(null,"Option-PageDown"),exec:function(Ce){Ce.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:r("PageDown","PageDown|Ctrl-V"),exec:function(Ce){Ce.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(Ce){Ce.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:r(null,"Option-PageUp"),exec:function(Ce){Ce.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(Ce){Ce.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:r("Ctrl-Up",null),exec:function(Ce){Ce.renderer.scrollBy(0,-2*Ce.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:r("Ctrl-Down",null),exec:function(Ce){Ce.renderer.scrollBy(0,2*Ce.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(Ce){Ce.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(Ce){Ce.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:r("Ctrl-Alt-E","Command-Option-E"),exec:function(Ce){Ce.commands.toggleRecording(Ce)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:r("Ctrl-Shift-E","Command-Shift-E"),exec:function(Ce){Ce.commands.replay(Ce)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:r("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(Ce){Ce.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:r("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(Ce){Ce.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:r("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(Ce){Ce.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:r(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(Ce){},readOnly:!0},{name:"cut",description:"Cut",exec:function(Ce){var Ie=Ce.$copyWithEmptySelection&&Ce.selection.isEmpty()?Ce.selection.getLineRange():Ce.selection.getRange();Ce._emit("cut",Ie),Ie.isEmpty()||Ce.session.remove(Ie),Ce.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(Ce,Ie){Ce.$handlePaste(Ie)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:r("Ctrl-D","Command-D"),exec:function(Ce){Ce.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:r("Ctrl-Shift-D","Command-Shift-D"),exec:function(Ce){Ce.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:r("Ctrl-Alt-S","Command-Alt-S"),exec:function(Ce){Ce.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:r("Ctrl-/","Command-/"),exec:function(Ce){Ce.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:r("Ctrl-Shift-/","Command-Shift-/"),exec:function(Ce){Ce.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:r("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(Ce){Ce.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:r("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(Ce){Ce.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:r("Ctrl-H","Command-Option-F"),exec:function(Ce){be.loadModule("ace/ext/searchbox",(function(Ie){Ie.Search(Ce,!0)}))}},{name:"undo",description:"Undo",bindKey:r("Ctrl-Z","Command-Z"),exec:function(Ce){Ce.undo()}},{name:"redo",description:"Redo",bindKey:r("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(Ce){Ce.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:r("Alt-Shift-Up","Command-Option-Up"),exec:function(Ce){Ce.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:r("Alt-Up","Option-Up"),exec:function(Ce){Ce.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:r("Alt-Shift-Down","Command-Option-Down"),exec:function(Ce){Ce.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:r("Alt-Down","Option-Down"),exec:function(Ce){Ce.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:r("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(Ce){Ce.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:r("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(Ce){Ce.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:r("Shift-Delete",null),exec:function(Ce){if(!Ce.selection.isEmpty())return!1;Ce.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:r("Alt-Backspace","Command-Backspace"),exec:function(Ce){Ce.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:r("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(Ce){Ce.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:r("Ctrl-Shift-Backspace",null),exec:function(Ce){var Ie=Ce.selection.getRange();Ie.start.column=0,Ce.session.remove(Ie)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:r("Ctrl-Shift-Delete",null),exec:function(Ce){var Ie=Ce.selection.getRange();Ie.end.column=Number.MAX_VALUE,Ce.session.remove(Ie)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:r("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(Ce){Ce.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:r("Ctrl-Delete","Alt-Delete"),exec:function(Ce){Ce.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:r("Shift-Tab","Shift-Tab"),exec:function(Ce){Ce.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:r("Tab","Tab"),exec:function(Ce){Ce.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:r("Ctrl-[","Ctrl-["),exec:function(Ce){Ce.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:r("Ctrl-]","Ctrl-]"),exec:function(Ce){Ce.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(Ce,Ie){Ce.insert(Ie)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(Ce,Ie){Ce.insert(Ae.stringRepeat(Ie.text||"",Ie.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:r(null,"Ctrl-O"),exec:function(Ce){Ce.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:r("Alt-Shift-X","Ctrl-T"),exec:function(Ce){Ce.transposeLetters()},multiSelectAction:function(Ce){Ce.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:r("Ctrl-U","Ctrl-U"),exec:function(Ce){Ce.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:r("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(Ce){Ce.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:r(null,null),exec:function(Ce){Ce.autoIndent()},multiSelectAction:"forEachLine",scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:r("Ctrl-Shift-L","Command-Shift-L"),exec:function(Ce){var Ie=Ce.selection.getRange();Ie.start.column=Ie.end.column=0,Ie.end.row++,Ce.selection.setRange(Ie,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:r(null,null),exec:function(Ce){for(var Ie=(be=Ce.selection.isBackwards())?Ce.selection.getSelectionLead():Ce.selection.getSelectionAnchor(),ve=be?Ce.selection.getSelectionAnchor():Ce.selection.getSelectionLead(),be=Ce.session.doc.getLine(Ie.row).length,we=Ce.session.doc.getTextRange(Ce.selection.getRange()).replace(/\n\s*/," ").length,Se=Ce.session.doc.getLine(Ie.row),xe=Ie.row+1;xe<=ve.row+1;xe++){var ke=Ae.stringTrimLeft(Ae.stringTrimRight(Ce.session.doc.getLine(xe)));Se+=ke=0!==ke.length?" "+ke:ke}ve.row+1<Ce.session.doc.getLength()-1&&(Se+=Ce.session.doc.getNewLineCharacter()),Ce.clearSelection(),Ce.session.doc.replace(new ye(Ie.row,0,ve.row+2,0),Se),0<we?(Ce.selection.moveCursorTo(Ie.row,Ie.column),Ce.selection.selectTo(Ie.row,Ie.column+we)):(be=Ce.session.doc.getLine(Ie.row).length>be?be+1:be,Ce.selection.moveCursorTo(Ie.row,be))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:r(null,null),exec:function(Ce){var Ie=Ce.session.doc.getLength()-1,ve=Ce.session.doc.getLine(Ie).length,Ae=Ce.selection.rangeList.ranges,be=[];Ae.length<1&&(Ae=[Ce.selection.getRange()]);for(var we=0;we<Ae.length;we++)we==Ae.length-1&&(Ae[we].end.row===Ie&&Ae[we].end.column===ve||be.push(new ye(Ae[we].end.row,Ae[we].end.column,Ie,ve))),0===we?0===Ae[we].start.row&&0===Ae[we].start.column||be.push(new ye(0,0,Ae[we].start.row,Ae[we].start.column)):be.push(new ye(Ae[we-1].end.row,Ae[we-1].end.column,Ae[we].start.row,Ae[we].start.column));for(Ce.exitMultiSelectMode(),Ce.clearSelection(),we=0;we<be.length;we++)Ce.selection.addRange(be[we],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(Ce){Ce.selection.clearSelection(),Ce.navigateLineEnd(),Ce.insert("\n")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(Ce){Ce.selection.clearSelection();var Ie=Ce.getCursorPosition();Ce.selection.moveTo(Ie.row-1,Number.MAX_VALUE),Ce.insert("\n"),0===Ie.row&&Ce.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",description:"Open command pallete",bindKey:r("F1","F1"),exec:function(Ce){Ce.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:r(null,null),exec:function(Ce){Ce.prompt({$type:"modes"})},readOnly:!0}];for(var we=1;we<9;we++)Ie.commands.push({name:"foldToLevel"+we,description:"Fold To Level "+we,level:we,exec:function(Ce){Ce.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})})),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/clipboard"],(function(Ce,Ie,ve){"use strict";function r(Ce,Ie,ve){this.$toDestroy=[];var Ae=Ce.getContainerElement();this.container=Ae,this.renderer=Ce,this.id="editor"+ ++r.$uid,this.commands=new Be(we.isMac?"mac":"win",We),"object"==typeof document&&(this.textInput=new Se(Ce.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new xe(this),new ke(this)),this.keyBinding=new Ee(this),this.$search=(new _e).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=ye.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",(function(Ce,Ie){Ie._$emitInputEvent.schedule(31)})),this.setSession(Ie||ve&&ve.session||new Re("")),Ne.resetOptions(this),ve&&this.setOptions(ve),Ne._signal("editor",this)}Ce("./lib/fixoldbrowsers");var Ae=Ce("./lib/oop"),be=Ce("./lib/dom"),ye=Ce("./lib/lang"),we=Ce("./lib/useragent"),Se=Ce("./keyboard/textinput").TextInput,xe=Ce("./mouse/mouse_handler").MouseHandler,ke=Ce("./mouse/fold_handler").FoldHandler,Ee=Ce("./keyboard/keybinding").KeyBinding,Re=Ce("./edit_session").EditSession,_e=Ce("./search").Search,$e=Ce("./range").Range,Le=Ce("./lib/event_emitter").EventEmitter,Be=Ce("./commands/command_manager").CommandManager,We=Ce("./commands/default_commands").commands,Ne=Ce("./config"),Ge=Ce("./token_iterator").TokenIterator,Pe=Ce("./clipboard"),Fe=(r.$uid=0,function(){Ae.implement(this,Le),this.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=ye.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(Ce){if(this.curOp){if(!Ce||this.curOp.command)return;this.prevOp=this.curOp}Ce||(this.previousCommand=null,Ce={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:Ce.command||{},args:Ce.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},this.endOperation=function(Ce){if(this.curOp&&this.session){if(Ce&&!1===Ce.returnValue||!this.session)return this.curOp=null;if((1!=Ce||!this.curOp.command||"mouse"!=this.curOp.command.name)&&(this._signal("beforeEndOperation"),this.curOp)){var Ie=(Ce=this.curOp.command)&&Ce.scrollIntoView;if(Ie){switch(Ie){case"center-animate":Ie="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var ve=this.selection.getRange(),Ae=this.renderer.layerConfig;(ve.start.row>=Ae.lastRow||ve.end.row<=Ae.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==Ie&&this.renderer.animateScrolling(this.curOp.scrollTop)}Ce=this.selection.toJSON(),this.curOp.selectionAfter=Ce,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(Ce),this.prevOp=this.curOp,this.curOp=null}}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(Ce){var Ie,ve,Ae,be;this.$mergeUndoDeltas&&(Ie=this.prevOp,ve=this.$mergeableCommands,Ae=Ie.command&&Ce.command.name==Ie.command.name,"insertstring"==Ce.command.name?(be=Ce.args,void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),Ae=Ae&&this.mergeNextCommand&&(!/\s/.test(be)||/\s/.test(Ie.args)),this.mergeNextCommand=!0):Ae=Ae&&-1!==ve.indexOf(Ce.command.name),(Ae=!("always"!=this.$mergeUndoDeltas&&2e3<Date.now()-this.sequenceStartTime)&&Ae)?this.session.mergeUndoDeltas=!0:-1!==ve.indexOf(Ce.command.name)&&(this.sequenceStartTime=Date.now()))},this.setKeyboardHandler=function(Ce,Ie){var ve;Ce&&"string"==typeof Ce&&"ace"!=Ce?(this.$keybindingId=Ce,ve=this,Ne.loadModule(["keybinding",Ce],(function(Ae){ve.$keybindingId==Ce&&ve.keyBinding.setKeyboardHandler(Ae&&Ae.handler),Ie&&Ie()}))):(this.$keybindingId=null,this.keyBinding.setKeyboardHandler(Ce),Ie&&Ie())},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(Ce){var Ie,ve;this.session!=Ce&&(this.curOp&&this.endOperation(),this.curOp={},(Ie=this.session)&&(this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),(ve=this.session.getSelection()).off("changeCursor",this.$onCursorChange),ve.off("changeSelection",this.$onSelectionChange)),(this.session=Ce)?(this.$onDocumentChange=this.onDocumentChange.bind(this),Ce.on("change",this.$onDocumentChange),this.renderer.setSession(Ce),this.$onChangeMode=this.onChangeMode.bind(this),Ce.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),Ce.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),Ce.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),Ce.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),Ce.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),Ce.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=Ce.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(Ce)),this._signal("changeSession",{session:Ce,oldSession:Ie}),this.curOp=null,Ie&&Ie._signal("changeEditor",{oldEditor:this}),Ce&&Ce._signal("changeEditor",{editor:this}),Ce&&Ce.bgTokenizer&&Ce.bgTokenizer.scheduleStart())},this.getSession=function(){return this.session},this.setValue=function(Ce,Ie){return this.session.doc.setValue(Ce),Ie?1==Ie?this.navigateFileEnd():-1==Ie&&this.navigateFileStart():this.selectAll(),Ce},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(Ce){this.renderer.onResize(Ce)},this.setTheme=function(Ce,Ie){this.renderer.setTheme(Ce,Ie)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(Ce){this.renderer.setStyle(Ce)},this.unsetStyle=function(Ce){this.renderer.unsetStyle(Ce)},this.getFontSize=function(){return this.getOption("fontSize")||be.computedStyle(this.container).fontSize},this.setFontSize=function(Ce){this.setOption("fontSize",Ce)},this.$highlightBrackets=function(){var Ce;this.$highlightPending||((Ce=this).$highlightPending=!0,setTimeout((function(){Ce.$highlightPending=!1;var Ie,ve,Ae=Ce.session;Ae&&Ae.bgTokenizer&&(Ae.$bracketHighlight&&(Ae.$bracketHighlight.markerIds.forEach((function(Ce){Ae.removeMarker(Ce)})),Ae.$bracketHighlight=null),(Ie=!(Ie=Ae.getMatchingBracketRanges(Ce.getCursorPosition()))&&Ae.$mode.getMatching?Ae.$mode.getMatching(Ce.session):Ie)&&(ve="ace_bracket",Array.isArray(Ie)?1==Ie.length&&(ve="ace_error_bracket"):Ie=[Ie],2==Ie.length&&(0==$e.comparePoints(Ie[0].end,Ie[1].start)?Ie=[$e.fromPoints(Ie[0].start,Ie[1].end)]:0==$e.comparePoints(Ie[0].start,Ie[1].end)&&(Ie=[$e.fromPoints(Ie[1].start,Ie[0].end)])),Ae.$bracketHighlight={ranges:Ie,markerIds:Ie.map((function(Ce){return Ae.addMarker(Ce,ve,"text")}))}))}),50))},this.$highlightTags=function(){var Ce;this.$highlightTagPending||((Ce=this).$highlightTagPending=!0,setTimeout((function(){Ce.$highlightTagPending=!1;var Ie=Ce.session;if(Ie&&Ie.bgTokenizer){var ve=Ce.getCursorPosition(),Ae=new Ge(Ce.session,ve.row,ve.column),be=Ae.getCurrentToken();if(!be||!/\b(?:tag-open|tag-name)/.test(be.type))return Ie.removeMarker(Ie.$tagHighlight),void(Ie.$tagHighlight=null);if(-1===be.type.indexOf("tag-open")||(be=Ae.stepForward())){var ye=be.value,we=be.value,Se=0,xe=Ae.stepBackward();if("<"===xe.value)for(;xe=be,(be=Ae.stepForward())&&(-1!==be.type.indexOf("tag-name")?ye===(we=be.value)&&("<"===xe.value?Se++:"</"===xe.value&&Se--):ye===we&&"/>"===be.value&&Se--),be&&0<=Se;);else{do{if(be=xe,xe=Ae.stepBackward(),be)if(-1!==be.type.indexOf("tag-name"))ye===be.value&&("<"===xe.value?Se++:"</"===xe.value&&Se--);else if("/>"===be.value){for(var ke=0,Ee=xe;Ee;){if(-1!==Ee.type.indexOf("tag-name")&&Ee.value===ye){Se--;break}if("<"===Ee.value)break;Ee=Ae.stepBackward(),ke++}for(var Re=0;Re<ke;Re++)Ae.stepForward()}}while(xe&&Se<=0);Ae.stepForward()}if(!be)return Ie.removeMarker(Ie.$tagHighlight),void(Ie.$tagHighlight=null);ve=Ae.getCurrentTokenRow();var _e=Ae.getCurrentTokenColumn();ve=new $e(ve,_e,ve,_e+be.value.length),_e=Ie.$backMarkers[Ie.$tagHighlight],Ie.$tagHighlight&&null!=_e&&0!==ve.compareRange(_e.range)&&(Ie.removeMarker(Ie.$tagHighlight),Ie.$tagHighlight=null),Ie.$tagHighlight||(Ie.$tagHighlight=Ie.addMarker(ve,"ace_bracket","text"))}}}),50))},this.focus=function(){var Ce=this;setTimeout((function(){Ce.isFocused()||Ce.textInput.focus()})),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(Ce){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",Ce))},this.onBlur=function(Ce){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",Ce))},this.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine()},this.onDocumentChange=function(Ce){var Ie=this.session.$useWrapMode,ve=Ce.start.row==Ce.end.row?Ce.end.row:1/0;this.renderer.updateLines(Ce.start.row,ve,Ie),this._signal("change",Ce),this.$cursorChange()},this.onTokenizerUpdate=function(Ce){Ce=Ce.data,this.renderer.updateLines(Ce.first,Ce.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var Ce,Ie,ve=this.getSession();this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(Ce=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(Ce=!1),!this.renderer.$maxLines||1!==this.session.getLength()||1<this.renderer.$minLines||(Ce=!1)),ve.$highlightLineMarker&&!Ce?(ve.removeMarker(ve.$highlightLineMarker.id),ve.$highlightLineMarker=null):!ve.$highlightLineMarker&&Ce?((Ie=new $e(Ce.row,Ce.column,Ce.row,1/0)).id=ve.addMarker(Ie,"ace_active-line","screenLine"),ve.$highlightLineMarker=Ie):Ce&&(ve.$highlightLineMarker.start.row=Ce.row,ve.$highlightLineMarker.end.row=Ce.row,ve.$highlightLineMarker.start.column=Ce.column,ve._signal("changeBackMarker"))},this.onSelectionChange=function(Ce){var Ie,ve,Ae=((Ae=this.session).$selectionMarker&&Ae.removeMarker(Ae.$selectionMarker),Ae.$selectionMarker=null,this.selection.isEmpty()?this.$updateHighlightActiveLine():(Ie=this.selection.getRange(),ve=this.getSelectionStyle(),Ae.$selectionMarker=Ae.addMarker(Ie,"ace_selection",ve)),this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp());this.session.highlight(Ae),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var Ce=this.session;if(!(Ie=this.getSelectionRange()).isEmpty()&&!Ie.isMultiLine()){var Ie,ve=Ie.start.column,Ae=Ie.end.column;if(!(5e3<(Ie=(Ce=Ce.getLine(Ie.start.row)).substring(ve,Ae)).length)&&/[\w\d]/.test(Ie)&&(Ie=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:Ie}),Ce=Ce.substring(ve-1,Ae+1),Ie.test(Ce)))return Ie}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(Ce){this.renderer.updateText(),this._emit("changeMode",Ce)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var Ce=this.getSelectedText(),Ie=this.session.doc.getNewLineCharacter(),ve=!1;if(!Ce&&this.$copyWithEmptySelection){ve=!0;for(var Ae=this.selection.getAllRanges(),be=0;be<Ae.length;be++){var ye=Ae[be];be&&Ae[be-1].start.row==ye.start.row||(Ce+=this.session.getLine(ye.start.row)+Ie)}}var we={text:Ce};return this._signal("copy",we),Pe.lineMode=!!ve&&we.text,we.text},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(Ce,Ie){this.commands.exec("paste",this,{text:Ce,event:Ie})},this.$handlePaste=function(Ce){this._signal("paste",Ce="string"==typeof Ce?{text:Ce}:Ce);var Ie=Ce.text,ve=(Ce=Ie===Pe.lineMode,this.session);if(!this.inMultiSelectMode||this.inVirtualSelectionMode)Ce?ve.insert({row:this.selection.lead.row,column:0},Ie):this.insert(Ie);else if(Ce)this.selection.rangeList.ranges.forEach((function(Ce){ve.insert({row:Ce.start.row,column:0},Ie)}));else{var Ae=Ie.split(/\r\n|\r|\n/),be=this.selection.rangeList.ranges;if(Ce=!(2!=Ae.length||Ae[0]&&Ae[1]),Ae.length!=be.length||Ce)return this.commands.exec("insertstring",this,Ie);for(var ye=be.length;ye--;){var we=be[ye];we.isEmpty()||ve.remove(we),ve.insert(we.start,Ae[ye])}}},this.execCommand=function(Ce,Ie){return this.commands.exec(Ce,this,Ie)},this.insert=function(Ce,Ie){var ve,Ae=this.session,be=Ae.getMode(),ye=this.getCursorPosition(),we=(!this.getBehavioursEnabled()||Ie||(ve=be.transformAction(Ae.getState(ye.row),"insertion",this,Ae,Ce))&&(Ce!==ve.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),Ce=ve.text),"\t"==Ce&&(Ce=this.session.getTabString()),this.selection.isEmpty()?this.session.getOverwrite()&&-1==Ce.indexOf("\n")&&((we=new $e.fromPoints(ye,ye)).end.column+=Ce.length,this.session.remove(we)):(we=this.getSelectionRange(),ye=this.session.remove(we),this.clearSelection()),"\n"!=Ce&&"\r\n"!=Ce||(Se=Ae.getLine(ye.row),ye.column>Se.search(/\S|$/)&&(Ie=Se.substr(ye.column).search(/\S|$/),Ae.doc.removeInLine(ye.row,ye.column,ye.column+Ie))),this.clearSelection(),ye.column),Se=(Ie=Ae.getState(ye.row),Ae.getLine(ye.row)),xe=be.checkOutdent(Ie,Se,Ce);Ae.insert(ye,Ce),ve&&ve.selection&&(2==ve.selection.length?this.selection.setSelectionRange(new $e(ye.row,we+ve.selection[0],ye.row,we+ve.selection[1])):this.selection.setSelectionRange(new $e(ye.row+ve.selection[0],ve.selection[1],ye.row+ve.selection[2],ve.selection[3]))),this.$enableAutoIndent&&(Ae.getDocument().isNewLine(Ce)&&(we=be.getNextLineIndent(Ie,Se.slice(0,ye.column),Ae.getTabString()),Ae.insert({row:ye.row+1,column:0},we)),xe&&be.autoOutdent(Ie,Ae,ye.row))},this.autoIndent=function(){for(var Ce,Ie,ve,Ae,be,ye=this.session,we=ye.getMode(),Se=(ve=this.selection.isEmpty()?(Ie=0,ye.doc.getLength()-1):(Ie=(Ce=this.getSelectionRange()).start.row,Ce.end.row),""),xe="",ke=ye.getTabString(),Ee=Ie;Ee<=ve;Ee++)0<Ee&&(Se=ye.getState(Ee-1),Ae=ye.getLine(Ee-1),xe=we.getNextLineIndent(Se,Ae,ke)),Ae=ye.getLine(Ee),xe!==(be=we.$getIndent(Ae))&&(0<be.length&&(be=new $e(Ee,0,Ee,be.length),ye.remove(be)),0<xe.length&&ye.insert({row:Ee,column:0},xe)),we.autoOutdent(Se,ye,Ee)},this.onTextInput=function(Ce,Ie){if(!Ie)return this.keyBinding.onTextInput(Ce);this.startOperation({command:{name:"insertstring"}}),Ce=this.applyComposition.bind(this,Ce,Ie),this.selection.rangeCount?this.forEachSelection(Ce):Ce(),this.endOperation()},this.applyComposition=function(Ce,Ie){var ve;(Ie.extendLeft||Ie.extendRight)&&((ve=this.selection.getRange()).start.column-=Ie.extendLeft,ve.end.column+=Ie.extendRight,ve.start.column<0&&(ve.start.row--,ve.start.column+=this.session.getLine(ve.start.row).length+1),this.selection.setRange(ve),Ce||ve.isEmpty()||this.remove()),!Ce&&this.selection.isEmpty()||this.insert(Ce,!0),(Ie.restoreStart||Ie.restoreEnd)&&((ve=this.selection.getRange()).start.column-=Ie.restoreStart,ve.end.column-=Ie.restoreEnd,this.selection.setRange(ve))},this.onCommandKey=function(Ce,Ie,ve){return this.keyBinding.onCommandKey(Ce,Ie,ve)},this.setOverwrite=function(Ce){this.session.setOverwrite(Ce)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(Ce){this.setOption("scrollSpeed",Ce)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(Ce){this.setOption("dragDelay",Ce)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(Ce){this.setOption("selectionStyle",Ce)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(Ce){this.setOption("highlightActiveLine",Ce)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(Ce){this.setOption("highlightGutterLine",Ce)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(Ce){this.setOption("highlightSelectedWord",Ce)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(Ce){this.renderer.setAnimatedScroll(Ce)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(Ce){this.renderer.setShowInvisibles(Ce)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(Ce){this.renderer.setDisplayIndentGuides(Ce)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(Ce){this.renderer.setShowPrintMargin(Ce)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(Ce){this.renderer.setPrintMarginColumn(Ce)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(Ce){this.setOption("readOnly",Ce)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(Ce){this.setOption("behavioursEnabled",Ce)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(Ce){this.setOption("wrapBehavioursEnabled",Ce)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(Ce){this.setOption("showFoldWidgets",Ce)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(Ce){this.setOption("fadeFoldWidgets",Ce)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(Ce){var Ie,ve,Ae;this.selection.isEmpty()&&("left"==Ce?this.selection.selectLeft():this.selection.selectRight()),Ce=this.getSelectionRange(),this.getBehavioursEnabled()&&(ve=(Ie=this.session).getState(Ce.start.row),ve=Ie.getMode().transformAction(ve,"deletion",this,Ie,Ce),0!==Ce.end.column||"\n"==(Ae=Ie.getTextRange(Ce))[Ae.length-1]&&(Ae=Ie.getLine(Ce.end.row),/^\s+$/.test(Ae)&&(Ce.end.column=Ae.length)),ve&&(Ce=ve)),this.session.remove(Ce),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var Ce=this.getSelectionRange();Ce.start.column==Ce.end.column&&Ce.start.row==Ce.end.row&&(Ce.end.column=0,Ce.end.row++),this.session.remove(Ce),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var Ce=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(Ce)},this.transposeLetters=function(){var Ce,Ie,ve,Ae;!this.selection.isEmpty()||0!==(Ie=(Ce=this.getCursorPosition()).column)&&(Ae=Ie<(Ae=this.session.getLine(Ce.row)).length?(ve=Ae.charAt(Ie)+Ae.charAt(Ie-1),new $e(Ce.row,Ie-1,Ce.row,Ie+1)):(ve=Ae.charAt(Ie-1)+Ae.charAt(Ie-2),new $e(Ce.row,Ie-2,Ce.row,Ie)),this.session.replace(Ae,ve),this.session.selection.moveToPosition(Ae.end))},this.toLowerCase=function(){var Ce=this.getSelectionRange(),Ie=(this.selection.isEmpty()&&this.selection.selectWord(),this.getSelectionRange()),ve=this.session.getTextRange(Ie);this.session.replace(Ie,ve.toLowerCase()),this.selection.setSelectionRange(Ce)},this.toUpperCase=function(){var Ce=this.getSelectionRange(),Ie=(this.selection.isEmpty()&&this.selection.selectWord(),this.getSelectionRange()),ve=this.session.getTextRange(Ie);this.session.replace(Ie,ve.toUpperCase()),this.selection.setSelectionRange(Ce)},this.indent=function(){var Ce=this.session,Ie=this.getSelectionRange();if(Ie.start.row<Ie.end.row)return be=this.$getSelectedRows(),void Ce.indentRows(be.first,be.last,"\t");if(Ie.start.column<Ie.end.column){var ve=Ce.getTextRange(Ie);if(!/^\s+$/.test(ve))return be=this.$getSelectedRows(),void Ce.indentRows(be.first,be.last,"\t")}var Ae=Ce.getLine(Ie.start.row),be=(ve=Ie.start,Ce.getTabSize());if(Ce=Ce.documentToScreenColumn(ve.row,ve.column),this.session.getUseSoftTabs())var we=be-Ce%be,Se=ye.stringRepeat(" ",we);else{for(we=Ce%be;" "==Ae[Ie.start.column-1]&&we;)Ie.start.column--,we--;this.selection.setSelectionRange(Ie),Se="\t"}return this.insert(Se)},this.blockIndent=function(){var Ce=this.$getSelectedRows();this.session.indentRows(Ce.first,Ce.last,"\t")},this.blockOutdent=function(){var Ce=this.session.getSelection();this.session.outdentRows(Ce.getRange())},this.sortLines=function(){for(var Ce=this.$getSelectedRows(),Ie=this.session,ve=[],Ae=Ce.first;Ae<=Ce.last;Ae++)ve.push(Ie.getLine(Ae));ve.sort((function(Ce,Ie){return Ce.toLowerCase()<Ie.toLowerCase()?-1:Ce.toLowerCase()>Ie.toLowerCase()?1:0}));var be=new $e(0,0,0,0);for(Ae=Ce.first;Ae<=Ce.last;Ae++){var ye=Ie.getLine(Ae);be.start.row=Ae,be.end.row=Ae,be.end.column=ye.length,Ie.replace(be,ve[Ae-Ce.first])}},this.toggleCommentLines=function(){var Ce=this.session.getState(this.getCursorPosition().row),Ie=this.$getSelectedRows();this.session.getMode().toggleCommentLines(Ce,this.session,Ie.first,Ie.last)},this.toggleBlockComment=function(){var Ce=this.getCursorPosition(),Ie=this.session.getState(Ce.row),ve=this.getSelectionRange();this.session.getMode().toggleBlockComment(Ie,this.session,ve,Ce)},this.getNumberAt=function(Ce,Ie){for(var ve=/[\-]?[0-9]+(?:\.[0-9]+)?/g,Ae=(ve.lastIndex=0,this.session.getLine(Ce));ve.lastIndex<Ie;){var be=ve.exec(Ae);if(be.index<=Ie&&be.index+be[0].length>=Ie)return{value:be[0],start:be.index,end:be.index+be[0].length}}return null},this.modifyNumber=function(Ce){var Ie,ve,Ae,be=this.selection.getCursor().row,ye=this.selection.getCursor().column,we=new $e(be,ye-1,be,ye);we=this.session.getTextRange(we),!isNaN(parseFloat(we))&&isFinite(we)?(we=this.getNumberAt(be,ye))&&(Ae=0<=we.value.indexOf(".")?we.start+we.value.indexOf(".")+1:we.end,Ie=we.start+we.value.length-Ae,ve=parseFloat(we.value),ve*=Math.pow(10,Ie),Ae!==we.end&&ye<Ae?Ce*=Math.pow(10,we.end-ye-1):Ce*=Math.pow(10,we.end-ye),Ae=(ve=(ve+=Ce)/Math.pow(10,Ie)).toFixed(Ie),Ce=new $e(be,we.start,be,we.end),this.session.replace(Ce,Ae),this.moveCursorTo(be,Math.max(we.start+1,ye+Ae.length-we.value.length))):this.toggleWord()},this.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],this.toggleWord=function(){for(var Ce,Ie=this.selection.getCursor().row,ve=this.selection.getCursor().column,Ae=(this.selection.selectWord(),this.getSelectedText()),be=this.selection.getWordRange().start.column,we=Ae.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),Se=ve-be-1,xe=(Se<0&&(Se=0),0),ke=this,Ee=(Ae.match(/[A-Za-z0-9_]+/)&&we.forEach((function(ve,ye){Ce=xe+ve.length,xe<=Se&&Se<=Ce&&(Ae=ve,ke.selection.clearSelection(),ke.moveCursorTo(Ie,xe+be),ke.selection.selectTo(Ie,Ce+be)),xe=Ce})),this.$toggleWordPairs),Re=0;Re<Ee.length;Re++)for(var _e=Ee[Re],$e=0;$e<=1;$e++){var Le=+!$e,Be=Ae.match(new RegExp("^\\s?_?("+ye.escapeRegExp(_e[$e])+")\\s?$","i"));Be&&Ae.match(new RegExp("([_]|^|\\s)("+ye.escapeRegExp(Be[1])+")($|\\s)","g"))&&(Be=Ae.replace(new RegExp(ye.escapeRegExp(_e[$e]),"i"),(function(Ce){var Ie=_e[Le];return Ce.toUpperCase()==Ce?Ie=Ie.toUpperCase():Ce.charAt(0).toUpperCase()==Ce.charAt(0)&&(Ie=Ie.substr(0,0)+_e[Le].charAt(0).toUpperCase()+Ie.substr(1)),Ie})),this.insert(Be))}},this.removeLines=function(){var Ce=this.$getSelectedRows();this.session.removeFullLines(Ce.first,Ce.last),this.clearSelection()},this.duplicateSelection=function(){var Ce,Ie=this.selection,ve=this.session,Ae=Ie.getRange(),be=Ie.isBackwards();Ae.isEmpty()?(Ce=Ae.start.row,ve.duplicateLines(Ce,Ce)):(Ce=be?Ae.start:Ae.end,ve=ve.insert(Ce,ve.getTextRange(Ae),!1),Ae.start=Ce,Ae.end=ve,Ie.setSelectionRange(Ae,be))},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(Ce,Ie,ve){return this.session.moveText(Ce,Ie,ve)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(Ce,Ie){var ve=this.selection;if(!ve.inMultiSelectMode||this.inVirtualSelectionMode){var Ae=ve.toOrientedRange(),be=this.$getSelectedRows(Ae),ye=this.session.$moveLines(be.first,be.last,Ie?0:Ce);Ae.moveBy(ye=Ie&&-1==Ce?0:ye,0),ve.fromOrientedRange(Ae)}else{for(var we=ve.rangeList.ranges,Se=(ve.rangeList.detach(this.session),this.inVirtualSelectionMode=!0,0),xe=0,ke=we.length,Ee=0;Ee<ke;Ee++){for(var Re=Ee,_e=(we[Ee].moveBy(Se,0),(be=this.$getSelectedRows(we[Ee])).first),$e=be.last;++Ee<ke;){xe&&we[Ee].moveBy(xe,0);var Le=this.$getSelectedRows(we[Ee]);if(Ie&&Le.first!=$e)break;if(!Ie&&Le.first>$e+1)break;$e=Le.last}for(Ee--,Se=this.session.$moveLines(_e,$e,Ie?0:Ce),Ie&&-1==Ce&&(Re=Ee+1);Re<=Ee;)we[Re].moveBy(Se,0),Re++;xe+=Se=Ie?Se:0}ve.fromOrientedRange(ve.ranges[0]),ve.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(Ce){return Ce=(Ce||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(Ce.start.row),last:this.session.getRowFoldEnd(Ce.end.row)}},this.onCompositionStart=function(Ce){this.renderer.showComposition(Ce)},this.onCompositionUpdate=function(Ce){this.renderer.setCompositionText(Ce)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(Ce){return Ce>=this.getFirstVisibleRow()&&Ce<=this.getLastVisibleRow()},this.isRowFullyVisible=function(Ce){return Ce>=this.renderer.getFirstFullyVisibleRow()&&Ce<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(Ce,Ie){var ve=this.renderer,Ae=this.renderer.layerConfig,be=Ce*Math.floor(Ae.height/Ae.lineHeight);!0===Ie?this.selection.$moveSelection((function(){this.moveCursorBy(be,0)})):!1===Ie&&(this.selection.moveCursorBy(be,0),this.selection.clearSelection()),Ce=ve.scrollTop,ve.scrollBy(0,be*Ae.lineHeight),null!=Ie&&ve.scrollCursorIntoView(null,.5),ve.animateScrolling(Ce)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(Ce){this.renderer.scrollToRow(Ce)},this.scrollToLine=function(Ce,Ie,ve,Ae){this.renderer.scrollToLine(Ce,Ie,ve,Ae)},this.centerSelection=function(){var Ce=this.getSelectionRange();Ce={row:Math.floor(Ce.start.row+(Ce.end.row-Ce.start.row)/2),column:Math.floor(Ce.start.column+(Ce.end.column-Ce.start.column)/2)},this.renderer.alignCursor(Ce,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(Ce,Ie){this.selection.moveCursorTo(Ce,Ie)},this.moveCursorToPosition=function(Ce){this.selection.moveCursorToPosition(Ce)},this.jumpToMatching=function(Ce,Ie){var ve=this.getCursorPosition(),Ae=new Ge(this.session,ve.row,ve.column),be=Ae.getCurrentToken(),ye=be||Ae.stepForward();if(ye){var we,Se,xe,ke=!1,Ee={},Re=ve.column-ye.start,_e={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(ye.value.match(/[{}()\[\]]/g)){for(;Re<ye.value.length&&!ke;Re++)if(_e[ye.value[Re]])switch(Se=_e[ye.value[Re]]+"."+ye.type.replace("rparen","lparen"),isNaN(Ee[Se])&&(Ee[Se]=0),ye.value[Re]){case"(":case"[":case"{":Ee[Se]++;break;case")":case"]":case"}":Ee[Se]--,-1===Ee[Se]&&(we="bracket",ke=!0)}}else-1!==ye.type.indexOf("tag-name")&&(isNaN(Ee[ye.value])&&(Ee[ye.value]=0),"<"===be.value?Ee[ye.value]++:"</"===be.value&&Ee[ye.value]--,-1===Ee[ye.value]&&(we="tag",ke=!0))}while(ke||(be=ye,ye=Ae.stepForward(),Re=0),ye&&!ke);if(we){if("bracket"===we)(Le=this.session.getBracketRange(ve))||(xe=(Le=new $e(Ae.getCurrentTokenRow(),Ae.getCurrentTokenColumn()+Re-1,Ae.getCurrentTokenRow(),Ae.getCurrentTokenColumn()+Re-1)).start,(Ie||xe.row===ve.row&&Math.abs(xe.column-ve.column)<2)&&(Le=this.session.getBracketRange(xe)));else if("tag"===we){if(!ye||-1===ye.type.indexOf("tag-name"))return;var Le,Be=ye.value;if(0===(Le=new $e(Ae.getCurrentTokenRow(),Ae.getCurrentTokenColumn()-2,Ae.getCurrentTokenRow(),Ae.getCurrentTokenColumn()-2)).compare(ve.row,ve.column))for(ke=!1;ye=be,(be=Ae.stepBackward())&&(-1!==be.type.indexOf("tag-close")&&Le.setEnd(Ae.getCurrentTokenRow(),Ae.getCurrentTokenColumn()+1),ye.value===Be&&-1!==ye.type.indexOf("tag-name")&&("<"===be.value?Ee[Be]++:"</"===be.value&&Ee[Be]--,0===Ee[Be]&&(ke=!0))),be&&!ke;);ye&&ye.type.indexOf("tag-name")&&(xe=Le.start).row==ve.row&&Math.abs(xe.column-ve.column)<2&&(xe=Le.end)}(xe=Le&&Le.cursor||xe)&&(Ce?Le&&Ie?this.selection.setRange(Le):Le&&Le.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(xe.row,xe.column):this.selection.moveTo(xe.row,xe.column))}}},this.gotoLine=function(Ce,Ie,ve){this.selection.clearSelection(),this.session.unfold({row:Ce-1,column:Ie||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(Ce-1,Ie||0),this.isRowFullyVisible(Ce-1)||this.scrollToLine(Ce-1,!0,ve)},this.navigateTo=function(Ce,Ie){this.selection.moveTo(Ce,Ie)},this.navigateUp=function(Ce){var Ie;if(this.selection.isMultiLine()&&!this.selection.isBackwards())return Ie=this.selection.anchor.getPosition(),this.moveCursorToPosition(Ie);this.selection.clearSelection(),this.selection.moveCursorBy(-Ce||-1,0)},this.navigateDown=function(Ce){var Ie;if(this.selection.isMultiLine()&&this.selection.isBackwards())return Ie=this.selection.anchor.getPosition(),this.moveCursorToPosition(Ie);this.selection.clearSelection(),this.selection.moveCursorBy(Ce||1,0)},this.navigateLeft=function(Ce){if(this.selection.isEmpty())for(Ce=Ce||1;Ce--;)this.selection.moveCursorLeft();else{var Ie=this.getSelectionRange().start;this.moveCursorToPosition(Ie)}this.clearSelection()},this.navigateRight=function(Ce){if(this.selection.isEmpty())for(Ce=Ce||1;Ce--;)this.selection.moveCursorRight();else{var Ie=this.getSelectionRange().end;this.moveCursorToPosition(Ie)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(Ce,Ie){Ie&&this.$search.set(Ie);var ve=0;return(Ie=this.$search.find(this.session))&&(this.$tryReplace(Ie,Ce)&&(ve=1),this.selection.setSelectionRange(Ie),this.renderer.scrollSelectionIntoView(Ie.start,Ie.end)),ve},this.replaceAll=function(Ce,Ie){Ie&&this.$search.set(Ie);var ve=this.$search.findAll(this.session),Ae=0;if(!ve.length)return Ae;Ie=this.getSelectionRange(),this.selection.moveTo(0,0);for(var be=ve.length-1;0<=be;--be)this.$tryReplace(ve[be],Ce)&&Ae++;return this.selection.setSelectionRange(Ie),Ae},this.$tryReplace=function(Ce,Ie){var ve=this.session.getTextRange(Ce);return null!==(Ie=this.$search.replace(ve,Ie))?(Ce.end=this.session.replace(Ce,Ie),Ce):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(Ce,Ie,ve){Ie=Ie||{},"string"==typeof Ce||Ce instanceof RegExp?Ie.needle=Ce:"object"==typeof Ce&&Ae.mixin(Ie,Ce);var be=this.selection.getRange();return null==Ie.needle&&((Ce=this.session.getTextRange(be)||this.$search.$options.needle)||(be=this.session.getWordRange(be.start.row,be.start.column),Ce=this.session.getTextRange(be)),this.$search.set({needle:Ce})),this.$search.set(Ie),Ie.start||this.$search.set({start:be}),Ce=this.$search.find(this.session),Ie.preventScroll?Ce:Ce?(this.revealRange(Ce,ve),Ce):(Ie.backwards?be.start=be.end:be.end=be.start,void this.selection.setRange(be))},this.findNext=function(Ce,Ie){this.find({skipCurrent:!0,backwards:!1},Ce,Ie)},this.findPrevious=function(Ce,Ie){this.find(Ce,{skipCurrent:!0,backwards:!0},Ie)},this.revealRange=function(Ce,Ie){this.session.unfold(Ce),this.selection.setSelectionRange(Ce);var ve=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(Ce.start,Ce.end,.5),!1!==Ie&&this.renderer.animateScrolling(ve)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach((function(Ce){Ce.destroy()})),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},this.setAutoScrollEditorIntoView=function(Ce){var Ie,ve,Ae,be,ye,we,Se;Ce&&(Ae=!1,(ve=this).$scrollAnchor||(this.$scrollAnchor=document.createElement("div")),(be=this.$scrollAnchor).style.cssText="position:absolute",this.container.insertBefore(be,this.container.firstChild),ye=this.on("changeSelection",(function(){Ae=!0})),we=this.renderer.on("beforeRender",(function(){Ae&&(Ie=ve.renderer.container.getBoundingClientRect())})),Se=this.renderer.on("afterRender",(function(){var Ce,ye,we;Ae&&Ie&&(ve.isFocused()||ve.searchBox&&ve.searchBox.isFocused())&&(Ce=(ye=ve.renderer).$cursorLayer.$pixelPos,ye=ye.layerConfig,we=Ce.top-ye.offset,null!=(Ae=0<=Ce.top&&we+Ie.top<0||!(Ce.top<ye.height&&Ce.top+Ie.top+ye.lineHeight>window.innerHeight)&&null)&&(be.style.top=we+"px",be.style.left=Ce.left+"px",be.style.height=ye.lineHeight+"px",be.scrollIntoView(Ae)),Ae=Ie=null)})),this.setAutoScrollEditorIntoView=function(Ce){Ce||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",ye),this.renderer.off("afterRender",Se),this.renderer.off("beforeRender",we))})},this.$resetCursorStyle=function(){var Ce=this.$cursorStyle||"ace",Ie=this.renderer.$cursorLayer;Ie&&(Ie.setSmoothBlinking(/smooth/.test(Ce)),Ie.isBlinking=!this.$readOnly&&"wide"!=Ce,be.setCssClass(Ie.element,"ace_slim-cursors",/slim/.test(Ce)))},this.prompt=function(Ce,Ie,ve){var Ae=this;Ne.loadModule("./ext/prompt",(function(be){be.prompt(Ae,Ce,Ie,ve)}))}}.call(r.prototype),Ne.defineOptions(r.prototype,"editor",{selectionStyle:{set:function(Ce){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:Ce})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(Ce){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(Ce){this.textInput.setReadOnly(Ce),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(Ce){this.textInput.setCopyWithEmptySelection(Ce)},initialValue:!1},cursorStyle:{set:function(Ce){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(Ce){this.setAutoScrollEditorIntoView(Ce)}},keyboardHandler:{set:function(Ce){this.setKeyboardHandler(Ce)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(Ce){this.session.setValue(Ce)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(Ce){this.setSession(Ce)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(Ce){this.renderer.$gutterLayer.setShowLineNumbers(Ce),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),Ce&&this.$relativeLineNumbers?Fe.attach(this):Fe.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(Ce){this.$showLineNumbers&&Ce?Fe.attach(this):Fe.detach(this)}},placeholder:{set:function(Ce){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var Ce=this.session&&(this.renderer.$composition||this.getValue());Ce&&this.renderer.placeholderNode?(this.renderer.off("afterRender",this.$updatePlaceholder),be.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null):Ce||this.renderer.placeholderNode?!Ce&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||""):(this.renderer.on("afterRender",this.$updatePlaceholder),be.addCssClass(this.container,"ace_hasPlaceholder"),(Ce=be.createElement("div")).className="ace_placeholder",Ce.textContent=this.$placeholder||"",this.renderer.placeholderNode=Ce,this.renderer.content.appendChild(this.renderer.placeholderNode))}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),{getText:function(Ce,Ie){return(Math.abs(Ce.selection.lead.row-Ie)||Ie+1+(Ie<9?"·":""))+""},getWidth:function(Ce,Ie,ve){return Math.max(Ie.toString().length,(ve.lastRow+1).toString().length,2)*ve.characterWidth},update:function(Ce,Ie){Ie.renderer.$loop.schedule(Ie.renderer.CHANGE_GUTTER)},attach:function(Ce){Ce.renderer.$gutterLayer.$renderer=this,Ce.on("changeSelection",this.update),this.update(null,Ce)},detach:function(Ce){Ce.renderer.$gutterLayer.$renderer==this&&(Ce.renderer.$gutterLayer.$renderer=null),Ce.off("changeSelection",this.update),this.update(null,Ce)}});Ie.Editor=r})),ace.define("ace/undomanager",["require","exports","module","ace/range"],(function(Ce,Ie,ve){"use strict";function e(){this.$maxRev=0,this.$fromUndo=!1,this.reset()}(function(){this.addSession=function(Ce){this.$session=Ce},this.add=function(Ce,Ie,ve){this.$fromUndo||Ce!=this.$lastDelta&&(this.$keepRedoStack||(this.$redoStack.length=0),!1!==Ie&&this.lastDeltas||(this.lastDeltas=[],this.$undoStack.push(this.lastDeltas),Ce.id=this.$rev=++this.$maxRev),"remove"!=Ce.action&&"insert"!=Ce.action||(this.$lastDelta=Ce),this.lastDeltas.push(Ce))},this.addSelection=function(Ce,Ie){this.selections.push({value:Ce,rev:Ie||this.$rev})},this.startNewGroup=function(){return this.lastDeltas=null,this.$rev},this.markIgnored=function(Ce,Ie){null==Ie&&(Ie=this.$rev+1);for(var ve=this.$undoStack,Ae=ve.length;Ae--;){var be=ve[Ae][0];if(be.id<=Ce)break;be.id<Ie&&(be.ignore=!0)}this.lastDeltas=null},this.getSelection=function(Ce,Ie){for(var ve=this.selections,Ae=ve.length;Ae--;){var be=ve[Ae];if(be.rev<Ce)return Ie?ve[Ae+1]:be}},this.getRevision=function(){return this.$rev},this.getDeltas=function(Ce,Ie){null==Ie&&(Ie=this.$rev+1);for(var ve=this.$undoStack,Ae=null,be=0,ye=ve.length;ye--;){var we=ve[ye][0];if(we.id<Ie&&!Ae&&(Ae=ye+1),we.id<=Ce){be=ye+1;break}}return ve.slice(be,Ae)},this.getChangedRanges=function(Ce,Ie){null==Ie&&this.$rev},this.getChangedLines=function(Ce,Ie){null==Ie&&this.$rev},this.undo=function(Ce,Ie){this.lastDeltas=null;var ve,Ae=this.$undoStack;if(function(Ce,Ie){for(var ve=Ie;ve--;){var Ae=Ce[ve];if(Ae&&!Ae[0].ignore){for(;ve<Ie-1;){var be=function(Ce,Ie){for(var ve=Ce.length;ve--;)for(var Ae=0;Ae<Ie.length;Ae++)if(!o(Ce[ve],Ie[Ae])){for(;ve<Ce.length;){for(;Ae--;)o(Ie[Ae],Ce[ve]);Ae=Ie.length,ve++}return[Ce,Ie]}return Ce.selectionBefore=Ie.selectionBefore=Ce.selectionAfter=Ie.selectionAfter=null,[Ie,Ce]}(Ce[ve],Ce[ve+1]);Ce[ve]=be[0],Ce[ve+1]=be[1],ve++}return!0}}}(Ae,Ae.length))return Ce=Ce||this.$session,this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0,ve=null,(Ae=Ae.pop())&&(ve=Ce.undoChanges(Ae,Ie),this.$redoStack.push(Ae),this.$syncRev()),this.$fromUndo=!1,ve},this.redo=function(Ce,Ie){if(this.lastDeltas=null,Ce=Ce||this.$session,this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){for(var ve=this.getDeltas(this.$redoStackBaseRev,this.$rev+1),ye=this.$redoStack,we=ve,Se=0;Se<we.length;Se++)for(var xe=we[Se],ke=0;ke<xe.length;ke++){Ee=void 0,Re=void 0,_e=void 0,$e=void 0,Le=void 0,Be=void 0;var Ee=ye,Re=xe[ke];Re=function(Ce){return{start:C(Ce.start),end:C(Ce.end),action:Ce.action,lines:Ce.lines.slice()}}(Re);for(var _e=Ee.length;_e--;){for(var $e=Ee[_e],Le=0;Le<$e.length;Le++){var Be=function(Ce,Ie){var ve,ye,we="insert"==Ce.action,Se="insert"==Ie.action;if(we&&Se)be(Ce.start,Ie.start)<0?I(Ie,Ce,1):I(Ce,Ie,1);else if(we&&!Se)0<=be(Ce.start,Ie.end)?I(Ce,Ie,-1):(be(Ce.start,Ie.start)<=0||I(Ce,Ae.fromPoints(Ie.start,Ce.start),-1),I(Ie,Ce,1));else if(!we&&Se)0<=be(Ie.start,Ce.end)?I(Ie,Ce,-1):(be(Ie.start,Ce.start)<=0||I(Ie,Ae.fromPoints(Ce.start,Ie.start),-1),I(Ce,Ie,1));else if(!we&&!Se)if(0<=be(Ie.start,Ce.end))I(Ie,Ce,-1);else{if(!(be(Ie.end,Ce.start)<=0))return be(Ce.start,Ie.start)<0&&(Ce=A(ve=Ce,Ie.start)),0<be(Ce.end,Ie.end)&&(ye=A(Ce,Ie.end)),v(Ie.end,Ce.start,Ce.end,-1),ye&&!ve&&(Ce.lines=ye.lines,Ce.start=ye.start,Ce.end=ye.end,ye=Ce),[Ie,ve,ye].filter(Boolean);I(Ce,Ie,-1)}return[Ie,Ce]}($e[Le],Re);Re=Be[0],2!=Be.length&&(Be[2]?($e.splice(Le+1,1,Be[1],Be[2]),Le++):Be[1]||($e.splice(Le,1),Le--))}$e.length||Ee.splice(_e,1)}}this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach((function(Ce){Ce[0].id=++this.$maxRev}),this)}var We=null;return(ve=this.$redoStack.pop())&&(We=Ce.redoChanges(ve,Ie),this.$undoStack.push(ve),this.$syncRev()),this.$fromUndo=!1,We},this.$syncRev=function(){var Ce=(Ce=(Ce=this.$undoStack)[Ce.length-1])&&Ce[0].id||0;this.$redoStackBaseRev=Ce,this.$rev=Ce},this.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},this.canUndo=function(){return 0<this.$undoStack.length},this.canRedo=function(){return 0<this.$redoStack.length},this.bookmark=function(Ce){null==Ce&&(Ce=this.$rev),this.mark=Ce},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(Ce){return Ce?i(Ce):i(this.$undoStack)+"\n---\n"+i(this.$redoStack)}}).call(e.prototype);var Ae=Ce("./range").Range,be=Ae.comparePoints;function C(Ce){return{row:Ce.row,column:Ce.column}}function i(Ce){if(Ce=Ce||this,Array.isArray(Ce))return Ce.map(i).join("\n");var Ie="";return Ce.action?(Ie="insert"==Ce.action?"+":"-",Ie+="["+Ce.lines+"]"):Ce.value&&(Ie=Array.isArray(Ce.value)?Ce.value.map(n).join("\n"):n(Ce.value)),Ce.start&&(Ie+=n(Ce)),(Ce.id||Ce.rev)&&(Ie+="\t("+(Ce.id||Ce.rev)+")"),Ie}function n(Ce){return Ce.start.row+":"+Ce.start.column+"=>"+Ce.end.row+":"+Ce.end.column}function o(Ce,Ie){var ve="insert"==Ce.action,Ae="insert"==Ie.action;if(ve&&Ae)if(0<=be(Ie.start,Ce.end))I(Ie,Ce,-1);else{if(!(be(Ie.start,Ce.start)<=0))return;I(Ce,Ie,1)}else if(ve&&!Ae)if(0<=be(Ie.start,Ce.end))I(Ie,Ce,-1);else{if(!(be(Ie.end,Ce.start)<=0))return;I(Ce,Ie,-1)}else if(!ve&&Ae)if(0<=be(Ie.start,Ce.start))I(Ie,Ce,1);else{if(!(be(Ie.start,Ce.start)<=0))return;I(Ce,Ie,1)}else if(!ve&&!Ae)if(0<=be(Ie.start,Ce.start))I(Ie,Ce,1);else{if(!(be(Ie.end,Ce.start)<=0))return;I(Ce,Ie,-1)}return 1}function I(Ce,Ie,ve){v(Ce.start,Ie.start,Ie.end,ve),v(Ce.end,Ie.start,Ie.end,ve)}function v(Ce,Ie,ve,Ae){Ce.row==(1==Ae?Ie:ve).row&&(Ce.column+=Ae*(ve.column-Ie.column)),Ce.row+=Ae*(ve.row-Ie.row)}function A(Ce,Ie){var ve=Ce.lines,Ae=Ce.end,be=(Ce.end=C(Ie),Ce.end.row-Ce.start.row),ye=ve.splice(be,ve.length);return be=be?Ie.column:Ie.column-Ce.start.column,ve.push(ye[0].substring(0,be)),ye[0]=ye[0].substr(be),{start:C(Ie),end:Ae,lines:ye,action:Ce.action}}Ae.comparePoints,Ie.UndoManager=e})),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";function n(Ce,Ie){this.element=Ce,this.canvasHeight=Ie||5e5,this.element.style.height=2*this.canvasHeight+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}var Ae=Ce("../lib/dom");(function(){this.moveContainer=function(Ce){Ae.translate(this.element,0,-Ce.firstRowScreen*Ce.lineHeight%this.canvasHeight-Ce.offset*this.$offsetCoefficient)},this.pageChanged=function(Ce,Ie){return Math.floor(Ce.firstRowScreen*Ce.lineHeight/this.canvasHeight)!==Math.floor(Ie.firstRowScreen*Ie.lineHeight/this.canvasHeight)},this.computeLineTop=function(Ce,Ie,ve){var Ae=Ie.firstRowScreen*Ie.lineHeight;return Ae=Math.floor(Ae/this.canvasHeight),ve.documentToScreenRow(Ce,0)*Ie.lineHeight-Ae*this.canvasHeight},this.computeLineHeight=function(Ce,Ie,ve){return Ie.lineHeight*ve.getRowLineCount(Ce)},this.getLength=function(){return this.cells.length},this.get=function(Ce){return this.cells[Ce]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(Ce){if(Array.isArray(Ce)){this.cells.push.apply(this.cells,Ce);for(var Ie=Ae.createFragment(this.element),ve=0;ve<Ce.length;ve++)Ie.appendChild(Ce[ve].element);this.element.appendChild(Ie)}else this.cells.push(Ce),this.element.appendChild(Ce.element)},this.unshift=function(Ce){if(Array.isArray(Ce)){this.cells.unshift.apply(this.cells,Ce);for(var Ie=Ae.createFragment(this.element),ve=0;ve<Ce.length;ve++)Ie.appendChild(Ce[ve].element);this.element.firstChild?this.element.insertBefore(Ie,this.element.firstChild):this.element.appendChild(Ie)}else this.cells.unshift(Ce),this.element.insertAdjacentElement("afterbegin",Ce.element)},this.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},this.$cacheCell=function(Ce){Ce&&(Ce.element.remove(),this.cellCache.push(Ce))},this.createCell=function(Ce,Ie,ve,be){var ye,we=this.cellCache.pop();return we||(ye=Ae.createElement("div"),be&&be(ye),this.element.appendChild(ye),we={element:ye,text:"",row:Ce}),we.row=Ce,we}}).call(n.prototype),Ie.Lines=n})),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines"],(function(Ce,Ie,ve){"use strict";function i(Ce){this.element=be.createElement("div"),this.element.className="ace_layer ace_gutter-layer",Ce.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new xe(this.element),this.$lines.$offsetCoefficient=1}var be=Ce("../lib/dom"),ye=Ce("../lib/oop"),we=Ce("../lib/lang"),Se=Ce("../lib/event_emitter").EventEmitter,xe=Ce("./lines").Lines;function c(Ce){var Ie=document.createTextNode("");return Ce.appendChild(Ie),Ie=be.createElement("span"),Ce.appendChild(Ie),Ce}(function(){ye.implement(this,Se),this.setSession=function(Ce){this.session&&this.session.off("change",this.$updateAnnotations),(this.session=Ce)&&Ce.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(Ce,Ie){window.console&&Ae.warn&&Ae.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(Ce,Ie)},this.removeGutterDecoration=function(Ce,Ie){window.console&&Ae.warn&&Ae.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(Ce,Ie)},this.setAnnotations=function(Ce){this.$annotations=[];for(var Ie=0;Ie<Ce.length;Ie++){var ve=Ce[Ie],Ae=ve.row,be=(be=this.$annotations[Ae])||(this.$annotations[Ae]={text:[]});Ae=(Ae=ve.text)?we.escapeHTML(Ae):ve.html||"","error"==(-1===be.text.indexOf(Ae)&&be.text.push(Ae),Ae=ve.type)?be.className=" ace_error":"warning"==Ae&&" ace_error"!=be.className?be.className=" ace_warning":"info"!=Ae||be.className||(be.className=" ace_info")}},this.$updateAnnotations=function(Ce){var Ie,ve;this.$annotations.length&&(Ie=Ce.start.row,0==(ve=Ce.end.row-Ie)||("remove"==Ce.action?this.$annotations.splice(Ie,1+ve,null):((Ce=new Array(1+ve)).unshift(Ie,1),this.$annotations.splice.apply(this.$annotations,Ce))))},this.update=function(Ce){this.config=Ce;for(var Ie=this.session,ve=Ce.firstRow,Ae=Math.min(Ce.lastRow+Ce.gutterOffset,Ie.getLength()-1),be=(this.oldLastRow=Ae,this.config=Ce,this.$lines.moveContainer(Ce),this.$updateCursorRow(),Ie.getNextFoldLine(ve)),ye=be?be.start.row:1/0,we=null,Se=-1,xe=ve;;){if(ye<xe&&(xe=be.end.row+1,ye=(be=Ie.getNextFoldLine(xe,be))?be.start.row:1/0),Ae<xe){for(;this.$lines.getLength()>Se+1;)this.$lines.pop();break}(we=this.$lines.get(++Se))?we.row=xe:(we=this.$lines.createCell(xe,Ce,this.session,c),this.$lines.push(we)),this.$renderCell(we,Ce,be,xe),xe++}this._signal("afterRender"),this.$updateGutterWidth(Ce)},this.$updateGutterWidth=function(Ce){var Ie=this.session,ve=Ie.gutterRenderer||this.$renderer,Ae=Ie.$firstLineNumber,be=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||Ie.$useWrapMode)&&(be=Ie.getLength()+Ae-1),Ae=ve?ve.getWidth(Ie,be,Ce):be.toString().length*Ce.characterWidth,(Ae+=(ve=this.$padding||this.$computePadding()).left+ve.right)===this.gutterWidth||isNaN(Ae)||(this.gutterWidth=Ae,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",Ae))},this.$updateCursorRow=function(){var Ce;this.$highlightGutterLine&&(Ce=this.session.selection.getCursor(),this.$cursorRow!==Ce.row&&(this.$cursorRow=Ce.row))},this.updateLineHighlight=function(){if(this.$highlightGutterLine){var Ce=this.session.selection.cursor.row;if(this.$cursorRow=Ce,!this.$cursorCell||this.$cursorCell.row!=Ce){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var Ie=this.$lines.cells;this.$cursorCell=null;for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];if(Ae.row>=this.$cursorRow){if(Ae.row>this.$cursorRow){var be=this.session.getFoldLine(this.$cursorRow);if(!(0<ve&&be&&be.start.row==Ie[ve-1].row))break;Ae=Ie[ve-1]}Ae.element.className="ace_gutter-active-line "+Ae.element.className,this.$cursorCell=Ae;break}}}}},this.scrollLines=function(Ce){var Ie=this.config;if(this.config=Ce,this.$updateCursorRow(),this.$lines.pageChanged(Ie,Ce))return this.update(Ce);this.$lines.moveContainer(Ce);var ve=Math.min(Ce.lastRow+Ce.gutterOffset,this.session.getLength()-1),Ae=this.oldLastRow;if(this.oldLastRow=ve,!Ie||Ae<Ce.firstRow)return this.update(Ce);if(ve<Ie.firstRow)return this.update(Ce);if(Ie.firstRow<Ce.firstRow)for(var be=this.session.getFoldedRowCount(Ie.firstRow,Ce.firstRow-1);0<be;be--)this.$lines.shift();if(ve<Ae)for(be=this.session.getFoldedRowCount(ve+1,Ae);0<be;be--)this.$lines.pop();Ce.firstRow<Ie.firstRow&&this.$lines.unshift(this.$renderLines(Ce,Ce.firstRow,Ie.firstRow-1)),Ae<ve&&this.$lines.push(this.$renderLines(Ce,Ae+1,ve)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(Ce)},this.$renderLines=function(Ce,Ie,ve){for(var Ae=[],be=Ie,ye=this.session.getNextFoldLine(be),we=ye?ye.start.row:1/0;we<be&&(be=ye.end.row+1,we=(ye=this.session.getNextFoldLine(be,ye))?ye.start.row:1/0),!(ve<be);){var Se=this.$lines.createCell(be,Ce,this.session,c);this.$renderCell(Se,Ce,ye,be),Ae.push(Se),be++}return Ae},this.$renderCell=function(Ce,Ie,ve,Ae){var ye,we=Ce.element,Se=this.session,xe=we.childNodes[0],ke=we.childNodes[1],Ee=Se.$firstLineNumber,Re=Se.$breakpoints,_e=Se.$decorations,$e=Se.gutterRenderer||this.$renderer,Le=this.$showFoldWidgets&&Se.foldWidgets,Be=ve?ve.start.row:Number.MAX_VALUE,We="ace_gutter-cell ";return this.$highlightGutterLine&&(Ae==this.$cursorRow||ve&&Ae<this.$cursorRow&&Be<=Ae&&this.$cursorRow<=ve.end.row)&&(We+="ace_gutter-active-line ",this.$cursorCell!=Ce&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=Ce)),Re[Ae]&&(We+=Re[Ae]),_e[Ae]&&(We+=_e[Ae]),this.$annotations[Ae]&&(We+=this.$annotations[Ae].className),we.className!=We&&(we.className=We),!Le||null==(ye=Le[Ae])&&(ye=Le[Ae]=Se.getFoldWidget(Ae)),ye?(We="ace_fold-widget ace_"+ye,"start"==ye&&Ae==Be&&Ae<ve.end.row?We+=" ace_closed":We+=" ace_open",ke.className!=We&&(ke.className=We),Re=Ie.lineHeight+"px",be.setStyle(ke.style,"height",Re),be.setStyle(ke.style,"display","inline-block")):ke&&be.setStyle(ke.style,"display","none"),(_e=($e?$e.getText(Se,Ae):Ae+Ee).toString())!==xe.data&&(xe.data=_e),be.setStyle(Ce.element.style,"height",this.$lines.computeLineHeight(Ae,Ie,Se)+"px"),be.setStyle(Ce.element.style,"top",this.$lines.computeLineTop(Ae,Ie,Se)+"px"),Ce.text=_e,Ce},this.$fixedWidth=!1,this.$highlightGutterLine=!0,this.$renderer="",this.setHighlightGutterLine=function(Ce){this.$highlightGutterLine=Ce},this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(Ce){this.$renderer=!Ce&&{getWidth:function(){return 0},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(Ce){Ce?be.addCssClass(this.element,"ace_folding-enabled"):be.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=Ce,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var Ce=be.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(Ce.borderLeftWidth)||0)+(parseInt(Ce.paddingLeft)||0)+1,this.$padding.right=(parseInt(Ce.borderRightWidth)||0)+(parseInt(Ce.paddingRight)||0),this.$padding},this.getRegion=function(Ce){var Ie=this.$padding||this.$computePadding(),ve=this.element.getBoundingClientRect();return Ce.x<Ie.left+ve.left?"markers":this.$showFoldWidgets&&Ce.x>ve.right-Ie.right?"foldWidgets":void 0}}).call(i.prototype),Ie.Gutter=i})),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";function n(Ce){this.element=be.createElement("div"),this.element.className="ace_layer ace_marker-layer",Ce.appendChild(this.element)}var Ae=Ce("../range").Range,be=Ce("../lib/dom");(function(){this.$padding=0,this.setPadding=function(Ce){this.$padding=Ce},this.setSession=function(Ce){this.session=Ce},this.setMarkers=function(Ce){this.markers=Ce},this.elt=function(Ce,Ie){var ve=-1!=this.i&&this.element.childNodes[this.i];ve?this.i++:(ve=document.createElement("div"),this.element.appendChild(ve),this.i=-1),ve.style.cssText=Ie,ve.className=Ce},this.update=function(Ce){if(Ce){var Ie,ve;for(ve in this.config=Ce,this.i=0,this.markers){var Ae,be,ye,we=this.markers[ve];we.range?(ye=we.range.clipRows(Ce.firstRow,Ce.lastRow)).isEmpty()||(ye=ye.toScreenRange(this.session),we.renderer?(Ae=this.$getTop(ye.start.row,Ce),be=this.$padding+ye.start.column*Ce.characterWidth,we.renderer(Ie,ye,be,Ae,Ce)):"fullLine"==we.type?this.drawFullLineMarker(Ie,ye,we.clazz,Ce):"screenLine"==we.type?this.drawScreenLineMarker(Ie,ye,we.clazz,Ce):ye.isMultiLine()?"text"==we.type?this.drawTextMarker(Ie,ye,we.clazz,Ce):this.drawMultiLineMarker(Ie,ye,we.clazz,Ce):this.drawSingleLineMarker(Ie,ye,we.clazz+" ace_start ace_br15",Ce)):we.update(Ie,this,this.session,Ce)}if(-1!=this.i)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},this.$getTop=function(Ce,Ie){return(Ce-Ie.firstRowScreen)*Ie.lineHeight},this.drawTextMarker=function(Ce,Ie,ve,be,ye){for(var we,Se=this.session,xe=Ie.start.row,ke=Ie.end.row,Ee=xe,Re=0,_e=Se.getScreenLastRowColumn(Ee),$e=new Ae(Ee,Ie.start.column,Ee,Re);Ee<=ke;Ee++)$e.start.row=$e.end.row=Ee,$e.start.column=Ee==xe?Ie.start.column:Se.getRowWrapIndent(Ee),we=Re,Re=$e.end.column=_e,_e=Ee+1<ke?Se.getScreenLastRowColumn(Ee+1):Ee==ke?0:Ie.end.column,this.drawSingleLineMarker(Ce,$e,ve+(Ee==xe?" ace_start":"")+" ace_br"+((Ee==xe||Ee==xe+1&&Ie.start.column?1:0)|(we<Re?2:0)|(_e<Re?4:0)|(Ee==ke?8:0)),be,Ee==ke?0:1,ye)},this.drawMultiLineMarker=function(Ce,Ie,ve,Ae,be){var ye,we=this.$padding,Se=Ae.lineHeight,xe=this.$getTop(Ie.start.row,Ae),ke=we+Ie.start.column*Ae.characterWidth;be=be||"",this.session.$bidiHandler.isBidiRow(Ie.start.row)?((ye=Ie.clone()).end.row=ye.start.row,ye.end.column=this.session.getLine(ye.start.row).length,this.drawBidiSingleLineMarker(Ce,ye,ve+" ace_br1 ace_start",Ae,null,be)):this.elt(ve+" ace_br1 ace_start","height:"+Se+"px;right:0;top:"+xe+"px;left:"+ke+"px;"+(be||"")),this.session.$bidiHandler.isBidiRow(Ie.end.row)?((ye=Ie.clone()).start.row=ye.end.row,ye.start.column=0,this.drawBidiSingleLineMarker(Ce,ye,ve+" ace_br12",Ae,null,be)):(xe=this.$getTop(Ie.end.row,Ae),ke=Ie.end.column*Ae.characterWidth,this.elt(ve+" ace_br12","height:"+Se+"px;width:"+ke+"px;top:"+xe+"px;left:"+we+"px;"+(be||""))),(Se=(Ie.end.row-Ie.start.row-1)*Ae.lineHeight)<=0||(xe=this.$getTop(Ie.start.row+1,Ae),Ce=(Ie.start.column?1:0)|(Ie.end.column?0:8),this.elt(ve+(Ce?" ace_br"+Ce:""),"height:"+Se+"px;right:0;top:"+xe+"px;left:"+we+"px;"+(be||"")))},this.drawSingleLineMarker=function(Ce,Ie,ve,Ae,be,ye){if(this.session.$bidiHandler.isBidiRow(Ie.start.row))return this.drawBidiSingleLineMarker(Ce,Ie,ve,Ae,be,ye);Ce=Ae.lineHeight,be=(Ie.end.column+(be||0)-Ie.start.column)*Ae.characterWidth;var we=this.$getTop(Ie.start.row,Ae);Ie=this.$padding+Ie.start.column*Ae.characterWidth,this.elt(ve,"height:"+Ce+"px;width:"+be+"px;top:"+we+"px;left:"+Ie+"px;"+(ye||""))},this.drawBidiSingleLineMarker=function(Ce,Ie,ve,Ae,be,ye){var we=Ae.lineHeight,Se=this.$getTop(Ie.start.row,Ae),xe=this.$padding;this.session.$bidiHandler.getSelections(Ie.start.column,Ie.end.column).forEach((function(Ce){this.elt(ve,"height:"+we+"px;width:"+Ce.width+(be||0)+"px;top:"+Se+"px;left:"+(xe+Ce.left)+"px;"+(ye||""))}),this)},this.drawFullLineMarker=function(Ce,Ie,ve,Ae,be){var ye=this.$getTop(Ie.start.row,Ae),we=Ae.lineHeight;Ie.start.row!=Ie.end.row&&(we+=this.$getTop(Ie.end.row,Ae)-ye),this.elt(ve,"height:"+we+"px;top:"+ye+"px;left:0;right:0;"+(be||""))},this.drawScreenLineMarker=function(Ce,Ie,ve,Ae,be){Ie=this.$getTop(Ie.start.row,Ae),Ae=Ae.lineHeight,this.elt(ve,"height:"+Ae+"px;top:"+Ie+"px;left:0;right:0;"+(be||""))}}).call(n.prototype),Ie.Marker=n})),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],(function(Ce,Ie,ve){"use strict";function n(Ce){this.dom=be,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",Ce.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new we(this.element)}var Ae=Ce("../lib/oop"),be=Ce("../lib/dom"),ye=Ce("../lib/lang"),we=Ce("./lines").Lines,Se=Ce("../lib/event_emitter").EventEmitter;(function(){Ae.implement(this,Se),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="—",this.SPACE_CHAR="·",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var Ce="\n"==(Ce=this.session.doc).getNewLineCharacter()&&"windows"!=Ce.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=Ce)return this.EOL_CHAR=Ce,!0},this.setPadding=function(Ce){this.$padding=Ce,this.element.style.margin="0 "+Ce+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(Ce){this.$fontMetrics=Ce,this.$fontMetrics.on("changeCharacterSize",function(Ce){this._signal("changeCharacterSize",Ce)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(Ce){(this.session=Ce)&&this.$computeTabString()},this.showInvisibles=!1,this.showSpaces=!1,this.showTabs=!1,this.showEOL=!1,this.setShowInvisibles=function(Ce){return this.showInvisibles!=Ce&&("string"==typeof(this.showInvisibles=Ce)?(this.showSpaces=/tab/i.test(Ce),this.showTabs=/space/i.test(Ce),this.showEOL=/eol/i.test(Ce)):this.showSpaces=this.showTabs=this.showEOL=Ce,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(Ce){return this.displayIndentGuides!=Ce&&(this.displayIndentGuides=Ce,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){for(var Ce,Ie,ve,Ae,be,we,Se=this.session.getTabSize(),xe=(this.tabSize=Se,this.$tabStrings=[0]),ke=1;ke<Se+1;ke++)this.showTabs?((we=this.dom.createElement("span")).className="ace_invisible ace_invisible_tab",we.textContent=ye.stringRepeat(this.TAB_CHAR,ke),xe.push(we)):xe.push(this.dom.createTextNode(ye.stringRepeat(" ",ke),this.element));this.displayIndentGuides&&(this.$indentGuideRe=/\s\S| \t|\t |\s$/,Ce="ace_indent-guide",Ie=this.showSpaces?" ace_invisible ace_invisible_space":"",ve=this.showSpaces?ye.stringRepeat(this.SPACE_CHAR,this.tabSize):ye.stringRepeat(" ",this.tabSize),Ae=this.showTabs?" ace_invisible ace_invisible_tab":"",be=this.showTabs?ye.stringRepeat(this.TAB_CHAR,this.tabSize):ve,(we=this.dom.createElement("span")).className=Ce+Ie,we.textContent=ve,this.$tabStrings[" "]=we,(we=this.dom.createElement("span")).className=Ce+Ae,we.textContent=be,this.$tabStrings["\t"]=we)},this.updateLines=function(Ce,Ie,ve){if(this.config.lastRow!=Ce.lastRow||this.config.firstRow!=Ce.firstRow)return this.update(Ce);this.config=Ce;for(var Ae=Math.max(Ie,Ce.firstRow),be=Math.min(ve,Ce.lastRow),ye=this.element.childNodes,we=0,Se=Ce.firstRow;Se<Ae;Se++){if(xe=this.session.getFoldLine(Se)){if(xe.containsRow(Ae)){Ae=xe.start.row;break}Se=xe.end.row}we++}for(var xe,ke=!1,Ee=(Se=Ae,(xe=this.session.getNextFoldLine(Se))?xe.start.row:1/0);Ee<Se&&(Se=xe.end.row+1,Ee=(xe=this.session.getNextFoldLine(Se,xe))?xe.start.row:1/0),!(be<Se);){var Re,_e=ye[we++];_e&&(this.dom.removeChildren(_e),this.$renderLine(_e,Se,Se==Ee&&xe),ke&&(_e.style.top=this.$lines.computeLineTop(Se,Ce,this.session)+"px"),Re=Ce.lineHeight*this.session.getRowLength(Se)+"px",_e.style.height!=Re&&(ke=!0,_e.style.height=Re)),Se++}if(ke)for(;we<this.$lines.cells.length;){var $e=this.$lines.cells[we++];$e.element.style.top=this.$lines.computeLineTop($e.row,Ce,this.session)+"px"}},this.scrollLines=function(Ce){var Ie=this.config;if(this.config=Ce,this.$lines.pageChanged(Ie,Ce))return this.update(Ce);this.$lines.moveContainer(Ce);var ve=Ce.lastRow,Ae=Ie?Ie.lastRow:-1;if(!Ie||Ae<Ce.firstRow)return this.update(Ce);if(ve<Ie.firstRow)return this.update(Ce);if(!Ie||Ie.lastRow<Ce.firstRow)return this.update(Ce);if(Ce.lastRow<Ie.firstRow)return this.update(Ce);if(Ie.firstRow<Ce.firstRow)for(var be=this.session.getFoldedRowCount(Ie.firstRow,Ce.firstRow-1);0<be;be--)this.$lines.shift();if(Ie.lastRow>Ce.lastRow)for(be=this.session.getFoldedRowCount(Ce.lastRow+1,Ie.lastRow);0<be;be--)this.$lines.pop();Ce.firstRow<Ie.firstRow&&this.$lines.unshift(this.$renderLinesFragment(Ce,Ce.firstRow,Ie.firstRow-1)),Ce.lastRow>Ie.lastRow&&this.$lines.push(this.$renderLinesFragment(Ce,Ie.lastRow+1,Ce.lastRow))},this.$renderLinesFragment=function(Ce,Ie,ve){for(var Ae=[],ye=Ie,we=this.session.getNextFoldLine(ye),Se=we?we.start.row:1/0;Se<ye&&(ye=we.end.row+1,Se=(we=this.session.getNextFoldLine(ye,we))?we.start.row:1/0),!(ve<ye);){var xe=this.$lines.createCell(ye,Ce,this.session),ke=xe.element;this.dom.removeChildren(ke),be.setStyle(ke.style,"height",this.$lines.computeLineHeight(ye,Ce,this.session)+"px"),be.setStyle(ke.style,"top",this.$lines.computeLineTop(ye,Ce,this.session)+"px"),this.$renderLine(ke,ye,ye==Se&&we),this.$useLineGroups()?ke.className="ace_line_group":ke.className="ace_line",Ae.push(xe),ye++}return Ae},this.update=function(Ce){this.$lines.moveContainer(Ce);for(var Ie=(this.config=Ce).firstRow,ve=Ce.lastRow,Ae=this.$lines;Ae.getLength();)Ae.pop();Ae.push(this.$renderLinesFragment(Ce,Ie,ve))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(Ce,Ie,ve,Ae){for(var be,we,Se=this,xe=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,ke=this.dom.createFragment(this.element),Ee=0;be=xe.exec(Ae);){var Re,_e,$e=be[1],Le=be[2],Be=be[3],We=be[4],Ne=be[5];!Se.showSpaces&&Le||(Re=Ee!=be.index?Ae.slice(Ee,be.index):"",Ee=be.index+be[0].length,Re&&ke.appendChild(this.dom.createTextNode(Re,this.element)),$e?(Re=Se.session.getScreenTabSize(Ie+be.index),ke.appendChild(Se.$tabStrings[Re].cloneNode(!0)),Ie+=Re-1):Le?Se.showSpaces?((_e=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",_e.textContent=ye.stringRepeat(Se.SPACE_CHAR,Le.length),ke.appendChild(_e)):ke.appendChild(this.com.createTextNode(Le,this.element)):Be?((_e=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",_e.textContent=ye.stringRepeat(Se.SPACE_CHAR,Be.length),ke.appendChild(_e)):We?(Ie+=1,(_e=this.dom.createElement("span")).style.width=2*Se.config.characterWidth+"px",_e.className=Se.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",_e.textContent=Se.showSpaces?Se.SPACE_CHAR:We,ke.appendChild(_e)):Ne&&(Ie+=1,(_e=this.dom.createElement("span")).style.width=2*Se.config.characterWidth+"px",_e.className="ace_cjk",_e.textContent=Ne,ke.appendChild(_e)))}return ke.appendChild(this.dom.createTextNode(Ee?Ae.slice(Ee):Ae,this.element)),this.$textToken[ve.type]?Ce.appendChild(ke):(we="ace_"+ve.type.replace(/\./g," ace_"),_e=this.dom.createElement("span"),"fold"==ve.type&&(_e.style.width=ve.value.length*this.config.characterWidth+"px"),_e.className=we,_e.appendChild(ke),Ce.appendChild(_e)),Ie+Ae.length},this.renderIndentGuide=function(Ce,Ie,ve){var Ae=Ie.search(this.$indentGuideRe);if(Ae<=0||ve<=Ae)return Ie;if(" "==Ie[0]){for(var be=(Ae-=Ae%this.tabSize)/this.tabSize,ye=0;ye<be;ye++)Ce.appendChild(this.$tabStrings[" "].cloneNode(!0));return Ie.substr(Ae)}if("\t"!=Ie[0])return Ie;for(ye=0;ye<Ae;ye++)Ce.appendChild(this.$tabStrings["\t"].cloneNode(!0));return Ie.substr(Ae)},this.$createLineElement=function(Ce){var Ie=this.dom.createElement("div");return Ie.className="ace_line",Ie.style.height=this.config.lineHeight+"px",Ie},this.$renderWrappedLine=function(Ce,Ie,ve){var Ae=0,be=0,we=ve[0],Se=0,xe=this.$createLineElement();Ce.appendChild(xe);for(var ke=0;ke<Ie.length;ke++){var Ee=Ie[ke],Re=Ee.value;if(0==ke&&this.displayIndentGuides){if(Ae=Re.length,!(Re=this.renderIndentGuide(xe,Re,we)))continue;Ae-=Re.length}if(Ae+Re.length<we)Se=this.$renderToken(xe,Se,Ee,Re),Ae+=Re.length;else{for(;Ae+Re.length>=we;)Se=this.$renderToken(xe,Se,Ee,Re.substring(0,we-Ae)),Re=Re.substring(we-Ae),Ae=we,xe=this.$createLineElement(),Ce.appendChild(xe),xe.appendChild(this.dom.createTextNode(ye.stringRepeat(" ",ve.indent),this.element)),Se=0,we=ve[++be]||Number.MAX_VALUE;0!=Re.length&&(Ae+=Re.length,Se=this.$renderToken(xe,Se,Ee,Re))}}ve[ve.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(xe,Se,null,"",!0)},this.$renderSimpleLine=function(Ce,Ie){var ve=0,Ae=Ie[0],be=Ae.value;(be=this.displayIndentGuides?this.renderIndentGuide(Ce,be):be)&&(ve=this.$renderToken(Ce,ve,Ae,be));for(var ye=1;ye<Ie.length;ye++){if(ve+(be=(Ae=Ie[ye]).value).length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(Ce,ve,Ae,be);ve=this.$renderToken(Ce,ve,Ae,be)}},this.$renderOverflowMessage=function(Ce,Ie,ve,Ae,be){ve&&this.$renderToken(Ce,Ie,ve,Ae.slice(0,this.MAX_LINE_LENGTH-Ie)),(ve=this.dom.createElement("span")).className="ace_inline_button ace_keyword ace_toggle_wrap",ve.textContent=be?"<hide>":"<click to see more...>",Ce.appendChild(ve)},this.$renderLine=function(Ce,Ie,ve){var Ae,be,ye=Ce;(Ae=(ve=ve||0==ve?ve:this.session.getFoldLine(Ie))?this.$getFoldLineTokens(Ie,ve):this.session.getTokens(Ie)).length?(be=this.session.getRowSplitData(Ie))&&be.length?(this.$renderWrappedLine(Ce,Ae,be),ye=Ce.lastChild):(ye=Ce,this.$useLineGroups()&&(ye=this.$createLineElement(),Ce.appendChild(ye)),this.$renderSimpleLine(ye,Ae)):this.$useLineGroups()&&(ye=this.$createLineElement(),Ce.appendChild(ye)),this.showEOL&&ye&&(ve&&(Ie=ve.end.row),(be=this.dom.createElement("span")).className="ace_invisible ace_invisible_eol",be.textContent=Ie==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,ye.appendChild(be))},this.$getFoldLineTokens=function(Ce,Ie){var ve=this.session,Ae=[],be=ve.getTokens(Ce);return Ie.walk((function(Ce,Ie,ye,we,Se){if(null!=Ce)Ae.push({type:"fold",value:Ce});else if((be=Se?ve.getTokens(Ie):be).length){for(var xe,ke=be,Ee=we,Re=ye,_e=0,$e=0;$e+ke[_e].value.length<Ee;)if($e+=ke[_e].value.length,++_e==ke.length)return;for($e!=Ee&&((xe=ke[_e].value.substring(Ee-$e)).length>Re-Ee&&(xe=xe.substring(0,Re-Ee)),Ae.push({type:ke[_e].type,value:xe}),$e=Ee+xe.length,_e+=1);$e<Re&&_e<ke.length;)(xe=ke[_e].value).length+$e>Re?Ae.push({type:ke[_e].type,value:xe.substring(0,Re-$e)}):Ae.push(ke[_e]),$e+=xe.length,_e+=1}}),Ie.end.row,this.session.getLine(Ie.end.row).length),Ae},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(n.prototype),Ie.Text=n})),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";function n(Ce){this.element=Ae.createElement("div"),this.element.className="ace_layer ace_cursor-layer",Ce.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),Ae.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}var Ae=Ce("../lib/dom");(function(){this.$updateOpacity=function(Ce){for(var Ie=this.cursors,ve=Ie.length;ve--;)Ae.setStyle(Ie[ve].style,"opacity",Ce?"":"0")},this.$startCssAnimation=function(){for(var Ce=this.cursors,Ie=Ce.length;Ie--;)Ce[Ie].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&Ae.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){this.$isAnimating=!1,Ae.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(Ce){this.$padding=Ce},this.setSession=function(Ce){this.session=Ce},this.setBlinking=function(Ce){Ce!=this.isBlinking&&(this.isBlinking=Ce,this.restartTimer())},this.setBlinkInterval=function(Ce){Ce!=this.blinkInterval&&(this.blinkInterval=Ce,this.restartTimer())},this.setSmoothBlinking=function(Ce){Ce!=this.smoothBlinking&&(this.smoothBlinking=Ce,Ae.setCssClass(this.element,"ace_smooth-blinking",Ce),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var Ce=Ae.createElement("div");return Ce.className="ace_cursor",this.element.appendChild(Ce),this.cursors.push(Ce),Ce},this.removeCursor=function(){var Ce;if(1<this.cursors.length)return(Ce=this.cursors.pop()).parentNode.removeChild(Ce),Ce},this.hideCursor=function(){this.isVisible=!1,Ae.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,Ae.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var Ce,Ie=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,Ae.removeCssClass(this.element,"ace_smooth-blinking")),Ie(!0),this.isBlinking&&this.blinkInterval&&this.isVisible?(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&Ae.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),Ae.HAS_CSS_ANIMATION?this.$startCssAnimation():(Ce=function(){this.timeoutId=setTimeout((function(){Ie(!1)}),.6*this.blinkInterval)}.bind(this),this.intervalId=setInterval((function(){Ie(!0),Ce()}),this.blinkInterval),Ce())):this.$stopCssAnimation()},this.getPixelPosition=function(Ce,Ie){if(!this.config||!this.session)return{left:0,top:0};Ce=Ce||this.session.selection.getCursor();var ve=this.session.documentToScreenPosition(Ce);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(ve.row,Ce.row)?this.session.$bidiHandler.getPosLeft(ve.column):ve.column*this.config.characterWidth),top:(ve.row-(Ie?this.config.firstRowScreen:0))*this.config.lineHeight}},this.isCursorInView=function(Ce,Ie){return 0<=Ce.top&&Ce.top<Ie.maxHeight},this.update=function(Ce){this.config=Ce;for(var Ie=this.session.$selectionMarkers,ve=0,be=0,ye=(ve=0,(Ie=void 0===Ie||0===Ie.length?[{cursor:null}]:Ie).length);ve<ye;ve++){var we,Se,xe=this.getPixelPosition(Ie[ve].cursor,!0);(xe.top>Ce.height+Ce.offset||xe.top<0)&&1<ve||(Se=(we=this.cursors[be++]||this.addCursor()).style,this.drawCursor?this.drawCursor(we,xe,Ce,Ie[ve],this.session):this.isCursorInView(xe,Ce)?(Ae.setStyle(Se,"display","block"),Ae.translate(we,xe.left,xe.top),Ae.setStyle(Se,"width",Math.round(Ce.characterWidth)+"px"),Ae.setStyle(Se,"height",Ce.lineHeight+"px")):Ae.setStyle(Se,"display","none"))}for(;this.cursors.length>be;)this.removeCursor();var ke=this.session.getOverwrite();this.$setOverwrite(ke),this.$pixelPos=xe,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(Ce){Ce!=this.overwrite&&((this.overwrite=Ce)?Ae.addCssClass(this.element,"ace_overwrite-cursors"):Ae.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(n.prototype),Ie.Cursor=n})),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(Ce,Ie,ve){"use strict";function i(Ce){this.element=be.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=be.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),Ce.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,ye.addListener(this.element,"scroll",this.onScroll.bind(this)),ye.addListener(this.element,"mousedown",ye.preventDefault)}function n(Ce,Ie){i.call(this,Ce),this.scrollTop=0,this.scrollHeight=0,Ie.$scrollbarWidth=this.width=be.scrollbarWidth(Ce.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0}function r(Ce,Ie){i.call(this,Ce),this.scrollLeft=0,this.height=Ie.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"}var Ae=Ce("./lib/oop"),be=Ce("./lib/dom"),ye=Ce("./lib/event"),we=Ce("./lib/event_emitter").EventEmitter;(function(){Ae.implement(this,we),this.setVisible=function(Ce){this.element.style.display=Ce?"":"none",this.isVisible=Ce,this.coeff=1}}).call(i.prototype),Ae.inherits(n,i),function(){this.classSuffix="-v",this.onScroll=function(){var Ce;this.skipEvent||(this.scrollTop=this.element.scrollTop,1!=this.coeff&&(Ce=this.element.clientHeight/this.scrollHeight,this.scrollTop=this.scrollTop*(1-Ce)/(this.coeff-Ce)),this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(Ce){this.element.style.height=Ce+"px"},this.setInnerHeight=this.setScrollHeight=function(Ce){32768<(this.scrollHeight=Ce)?(this.coeff=32768/Ce,Ce=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=Ce+"px"},this.setScrollTop=function(Ce){this.scrollTop!=Ce&&(this.skipEvent=!0,this.scrollTop=Ce,this.element.scrollTop=Ce*this.coeff)}}.call(n.prototype),Ae.inherits(r,i),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(Ce){this.element.style.width=Ce+"px"},this.setInnerWidth=function(Ce){this.inner.style.width=Ce+"px"},this.setScrollWidth=function(Ce){this.inner.style.width=Ce+"px"},this.setScrollLeft=function(Ce){this.scrollLeft!=Ce&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=Ce)}}.call(r.prototype),Ie.ScrollBar=n,Ie.ScrollBarV=n,Ie.ScrollBarH=r,Ie.VScrollBar=n,Ie.HScrollBar=r})),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],(function(Ce,Ie,ve){"use strict";function n(Ce,Ie){this.onRender=Ce,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=Ie||window;var ve=this;this._flush=function(Ce){ve.pending=!1;var Ie=ve.changes;Ie&&(Ae.blockIdle(100),ve.changes=0,ve.onRender(Ie)),ve.changes?ve.$recursionLimit--<0||ve.schedule():ve.$recursionLimit=2}}var Ae=Ce("./lib/event");(function(){this.schedule=function(Ce){this.changes=this.changes|Ce,this.changes&&!this.pending&&(Ae.nextFrame(this._flush),this.pending=!0)},this.clear=function(Ce){var Ie=this.changes;return this.changes=0,Ie}}).call(n.prototype),Ie.RenderLoop=n})),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],(function(Ce,Ie,ve){var Ae=Ce("../lib/oop"),be=Ce("../lib/dom"),ye=Ce("../lib/lang"),we=Ce("../lib/event"),Se=Ce("../lib/useragent"),xe=Ce("../lib/event_emitter").EventEmitter,ke="function"==typeof ResizeObserver;Ce=Ie.FontMetrics=function(Ce){this.el=be.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=be.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=be.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),Ce.appendChild(this.el),this.$measureNode.textContent=ye.stringRepeat("X",256),this.$characterSize={width:0,height:0},ke?this.$addObserver():this.checkForSizeChanges()},function(){Ae.implement(this,xe),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(Ce,Ie){Ce.width=Ce.height="auto",Ce.left=Ce.top="0px",Ce.visibility="hidden",Ce.position="absolute",Ce.whiteSpace="pre",Se.isIE<8?Ce["font-family"]="inherit":Ce.font="inherit",Ce.overflow=Ie?"hidden":"visible"},this.checkForSizeChanges=function(Ce){var Ie;!(Ce=void 0===Ce?this.$measureSizes():Ce)||this.$characterSize.width===Ce.width&&this.$characterSize.height===Ce.height||(this.$measureNode.style.fontWeight="bold",Ie=this.$measureSizes(),this.$measureNode.style.fontWeight="",this.$characterSize=Ce,this.charSizes=Object.create(null),this.allowBoldFonts=Ie&&Ie.width===Ce.width&&Ie.height===Ce.height,this._emit("changeCharacterSize",{data:Ce}))},this.$addObserver=function(){var Ce=this;this.$observer=new window.ResizeObserver((function(Ie){Ce.checkForSizeChanges()})),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var Ce=this;return this.$pollSizeChangesTimer=we.onIdle((function e(){Ce.checkForSizeChanges(),we.onIdle(e,500)}),500)},this.setPolling=function(Ce){Ce?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(Ce){return 0===(Ce={height:(Ce||this.$measureNode).clientHeight,width:(Ce||this.$measureNode).clientWidth/256}).width||0===Ce.height?null:Ce},this.$measureCharWidth=function(Ce){return this.$main.textContent=ye.stringRepeat(Ce,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(Ce){var Ie=this.charSizes[Ce];return void 0===Ie?this.charSizes[Ce]=this.$measureCharWidth(Ce)/this.$characterSize.width:Ie},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(Ce){return Ce&&Ce.parentElement?(window.getComputedStyle(Ce).zoom||1)*e(Ce.parentElement):1},this.$initTransformMeasureNodes=function(){function e(Ce,Ie){return["div",{style:"position: absolute;top:"+Ce+"px;left:"+Ie+"px;"}]}this.els=be.buildDom([e(0,0),e(200,0),e(0,200),e(200,200)],this.el)},this.transformCoordinates=function(Ce,Ie){function h(Ce,Ie,ve){var Ae=Ce[1]*Ie[0]-Ce[0]*Ie[1];return[(-Ie[1]*ve[0]+Ie[0]*ve[1])/Ae,(+Ce[1]*ve[0]-Ce[0]*ve[1])/Ae]}function i(Ce,Ie){return[Ce[0]-Ie[0],Ce[1]-Ie[1]]}function n(Ce,Ie){return[Ce[0]+Ie[0],Ce[1]+Ie[1]]}function r(Ce,Ie){return[Ce*Ie[0],Ce*Ie[1]]}function d(Ce){return[(Ce=Ce.getBoundingClientRect()).left,Ce.top]}Ce=Ce&&r(1/this.$getZoom(this.el),Ce),this.els||this.$initTransformMeasureNodes();var ve,Ae=d(this.els[0]),be=d(this.els[1]),ye=d(this.els[2]);if(be=r(1+(ve=h(i(ve=d(this.els[3]),be),i(ve,ye),i(n(be,ye),n(ve,Ae))))[0],i(be,Ae)),ye=r(1+ve[1],i(ye,Ae)),Ie)return we=ve[0]*Ie[0]/200+ve[1]*Ie[1]/200+1,Ie=n(r(Ie[0],be),r(Ie[1],ye)),n(r(1/we/200,Ie),Ae);var we=i(Ce,Ae);return Ie=h(i(be,r(ve[0],we)),i(ye,r(ve[1],we)),we),r(200,Ie)}}.call(Ce.prototype)})),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],(function(Ce,Ie,ve){"use strict";function i(Ce,Ie){var ve=this;this.container=Ce||be.createElement("div"),be.addCssClass(this.container,"ace_editor"),be.HI_DPI&&be.addCssClass(this.container,"ace_hidpi"),this.setTheme(Ie),null==ye.get("useStrictCSP")&&ye.set("useStrictCSP",!1),this.$gutter=be.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=be.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=be.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new we(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new Se(this.content),Ce=this.$textLayer=new xe(this.content),this.canvas=Ce.element,this.$markerFront=new Se(this.content),this.$cursorLayer=new ke(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new Re(this.container,this),this.scrollBarH=new Ee(this.container,this),this.scrollBarV.on("scroll",(function(Ce){ve.$scrollAnimation||ve.session.setScrollTop(Ce.data-ve.scrollMargin.top)})),this.scrollBarH.on("scroll",(function(Ce){ve.$scrollAnimation||ve.session.setScrollLeft(Ce.data-ve.scrollMargin.left)})),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new $e(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",(function(Ce){ve.updateCharacterSize(),ve.onResize(!0,ve.gutterWidth,ve.$size.width,ve.$size.height),ve._signal("changeCharacterSize",Ce)})),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!We.isIOS,this.$loop=new _e(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),ye.resetOptions(this),ye._signal("renderer",this)}var Ae=Ce("./lib/oop"),be=Ce("./lib/dom"),ye=Ce("./config"),we=Ce("./layer/gutter").Gutter,Se=Ce("./layer/marker").Marker,xe=Ce("./layer/text").Text,ke=Ce("./layer/cursor").Cursor,Ee=Ce("./scrollbar").HScrollBar,Re=Ce("./scrollbar").VScrollBar,_e=Ce("./renderloop").RenderLoop,$e=Ce("./layer/font_metrics").FontMetrics,Le=Ce("./lib/event_emitter").EventEmitter,Be='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;padding: 0;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;font-variant-ligatures: no-common-ligatures;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {opacity: 0;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_error_bracket {position: absolute;border-bottom: 1px solid #DE5555;border-radius: 0;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}.ace_placeholder {font-family: arial;transform: scale(0.9);transform-origin: left;white-space: pre;opacity: 0.7;margin: 0 10px;}',We=Ce("./lib/useragent"),Ne=We.isIE;be.importCssString(Be,"ace_editor.css",!1),function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,Ae.implement(this,Le),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),be.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(Ce){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),(this.session=Ce)&&this.scrollMargin.top&&Ce.getScrollTop()<=0&&Ce.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(Ce),this.$markerBack.setSession(Ce),this.$markerFront.setSession(Ce),this.$gutterLayer.setSession(Ce),this.$textLayer.setSession(Ce),Ce&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(Ce,Ie,ve){if(void 0===Ie&&(Ie=1/0),this.$changedLines?(this.$changedLines.firstRow>Ce&&(this.$changedLines.firstRow=Ce),this.$changedLines.lastRow<Ie&&(this.$changedLines.lastRow=Ie)):this.$changedLines={firstRow:Ce,lastRow:Ie},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!ve)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(Ce){Ce?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(Ce,Ie,ve,Ae){if(!(2<this.resizing)){0<this.resizing?this.resizing++:this.resizing=Ce?1:0;var be=this.container;if(Ae=Ae||be.clientHeight||be.scrollHeight,ve=ve||be.clientWidth||be.scrollWidth,be=this.$updateCachedSize(Ce,Ie,ve,Ae),!this.$size.scrollerHeight||!ve&&!Ae)return this.resizing=0;Ce&&(this.$gutterLayer.$padding=null),Ce?this.$renderChanges(be|this.$changes,!0):this.$loop.schedule(be|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(Ce,Ie,ve,Ae){Ae-=this.$extraHeight||0;var ye=0,we=this.$size,Se={width:we.width,height:we.height,scrollerHeight:we.scrollerHeight,scrollerWidth:we.scrollerWidth};return Ae&&(Ce||we.height!=Ae)&&(we.height=Ae,ye|=this.CHANGE_SIZE,we.scrollerHeight=we.height,this.$horizScroll&&(we.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",ye|=this.CHANGE_SCROLL),ve&&(Ce||we.width!=ve)&&(ye|=this.CHANGE_SIZE,we.width=ve,null==Ie&&(Ie=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=Ie,be.setStyle(this.scrollBarH.element.style,"left",Ie+"px"),be.setStyle(this.scroller.style,"left",Ie+this.margin.left+"px"),we.scrollerWidth=Math.max(0,ve-Ie-this.scrollBarV.getWidth()-this.margin.h),be.setStyle(this.$gutter.style,"left",this.margin.left+"px"),Ie=this.scrollBarV.getWidth()+"px",be.setStyle(this.scrollBarH.element.style,"right",Ie),be.setStyle(this.scroller.style,"right",Ie),be.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||Ce)&&(ye|=this.CHANGE_FULL)),we.$dirty=!ve||!Ae,ye&&this._signal("resize",Se),ye},this.onGutterResize=function(Ce){(Ce=this.$showGutter?Ce:0)!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,Ce,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var Ce=this.$size.scrollerWidth-2*this.$padding;return Ce=Math.floor(Ce/this.characterWidth),this.session.adjustWrapLimit(Ce,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(Ce){this.setOption("animatedScroll",Ce)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(Ce){this.setOption("showInvisibles",Ce),this.session.$bidiHandler.setShowInvisibles(Ce)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(Ce){this.setOption("displayIndentGuides",Ce)},this.setShowPrintMargin=function(Ce){this.setOption("showPrintMargin",Ce)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(Ce){this.setOption("printMarginColumn",Ce)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(Ce){return this.setOption("showGutter",Ce)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(Ce){this.setOption("fadeFoldWidgets",Ce)},this.setHighlightGutterLine=function(Ce){this.setOption("highlightGutterLine",Ce)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){var Ce;(this.$showPrintMargin||this.$printMarginEl)&&(this.$printMarginEl||((Ce=be.createElement("div")).className="ace_layer ace_print-margin-layer",this.$printMarginEl=be.createElement("div"),this.$printMarginEl.className="ace_print-margin",Ce.appendChild(this.$printMarginEl),this.content.insertBefore(Ce,this.content.firstChild)),(Ce=this.$printMarginEl.style).left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",Ce.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit())},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){var Ce,Ie,ve,Ae,ye,we,Se;this.$isMousePressed||(Ce=this.textarea.style,we=this.$composition,this.$keepTextAreaAtCursor||we?(ve=this.$cursorLayer.$pixelPos)&&(we&&we.markerRange&&(ve=this.$cursorLayer.getPixelPosition(we.markerRange.start,!0)),Se=this.layerConfig,Ie=ve.top,ve=ve.left,Ie-=Se.offset,Ae=we&&we.useTextareaForIME?this.lineHeight:Ne?0:1,Ie<0||Ie>Se.height-Ae?be.translate(this.textarea,0,0):(Se=1,ye=this.$size.height-Ae,we?we.useTextareaForIME?(we=this.textarea.value,Se=this.characterWidth*this.session.$getStringScreenWidth(we)[0]):Ie+=this.lineHeight+2:Ie+=this.lineHeight,(ve-=this.scrollLeft)>this.$size.scrollerWidth-Se&&(ve=this.$size.scrollerWidth-Se),ve+=this.gutterWidth+this.margin.left,be.setStyle(Ce,"height",Ae+"px"),be.setStyle(Ce,"width",Se+"px"),be.translate(this.textarea,Math.min(ve,this.$size.scrollerWidth-Se),Math.min(Ie,ye)))):be.translate(this.textarea,-100,0))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var Ce=this.layerConfig,Ie=Ce.lastRow;return this.session.documentToScreenRow(Ie,0)*Ce.lineHeight-this.session.getScrollTop()>Ce.height-Ce.lineHeight?Ie-1:Ie},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(Ce){this.$padding=Ce,this.$textLayer.setPadding(Ce),this.$cursorLayer.setPadding(Ce),this.$markerFront.setPadding(Ce),this.$markerBack.setPadding(Ce),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(Ce,Ie,ve,Ae){var be=this.scrollMargin;be.top=0|Ce,be.bottom=0|Ie,be.right=0|Ae,be.left=0|ve,be.v=be.top+be.bottom,be.h=be.left+be.right,be.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-be.top),this.updateFull()},this.setMargin=function(Ce,Ie,ve,Ae){var be=this.margin;be.top=0|Ce,be.bottom=0|Ie,be.right=0|Ae,be.left=0|ve,be.v=be.top+be.bottom,be.h=be.left+be.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(Ce){this.setOption("hScrollBarAlwaysVisible",Ce)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(Ce){this.setOption("vScrollBarAlwaysVisible",Ce)},this.$updateScrollBarV=function(){var Ce=this.layerConfig.maxHeight,Ie=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(Ce-=(Ie-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>Ce-Ie&&(Ce=this.scrollTop+Ie,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(Ce+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(Ce,Ie){var ve,Ae;if(this.$changes&&(Ce|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(Ce||Ie))return this.$size.$dirty?(this.$changes|=Ce,this.onResize(!0)):(this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",Ce),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics),Ie=this.layerConfig,(Ce&this.CHANGE_FULL||Ce&this.CHANGE_SIZE||Ce&this.CHANGE_TEXT||Ce&this.CHANGE_LINES||Ce&this.CHANGE_SCROLL||Ce&this.CHANGE_H_SCROLL)&&(Ce|=this.$computeLayerConfig()|this.$loop.clear(),Ie.firstRow==this.layerConfig.firstRow||Ie.firstRowScreen!=this.layerConfig.firstRowScreen||0<(ve=this.scrollTop+(Ie.firstRow-this.layerConfig.firstRow)*this.lineHeight)&&(this.scrollTop=ve,Ce=(Ce|=this.CHANGE_SCROLL)|this.$computeLayerConfig()|this.$loop.clear()),Ie=this.layerConfig,this.$updateScrollBarV(),Ce&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),be.translate(this.content,-this.scrollLeft,-Ie.offset),ve=Ie.width+2*this.$padding+"px",Ae=Ie.minHeight+"px",be.setStyle(this.content.style,"width",ve),be.setStyle(this.content.style,"height",Ae)),Ce&this.CHANGE_H_SCROLL&&(be.translate(this.content,-this.scrollLeft,-Ie.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),Ce&this.CHANGE_FULL?(this.$changedLines=null,this.$textLayer.update(Ie),this.$showGutter&&this.$gutterLayer.update(Ie),this.$markerBack.update(Ie),this.$markerFront.update(Ie),this.$cursorLayer.update(Ie),this.$moveTextAreaToCursor(),void this._signal("afterRender",Ce)):(Ce&this.CHANGE_SCROLL?(this.$changedLines=null,Ce&this.CHANGE_TEXT||Ce&this.CHANGE_LINES?this.$textLayer.update(Ie):this.$textLayer.scrollLines(Ie),this.$showGutter&&(Ce&this.CHANGE_GUTTER||Ce&this.CHANGE_LINES?this.$gutterLayer.update(Ie):this.$gutterLayer.scrollLines(Ie)),this.$markerBack.update(Ie),this.$markerFront.update(Ie),this.$cursorLayer.update(Ie),this.$moveTextAreaToCursor()):(Ce&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(Ie),this.$showGutter&&this.$gutterLayer.update(Ie)):Ce&this.CHANGE_LINES?(this.$updateLines()||Ce&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(Ie):Ce&this.CHANGE_TEXT||Ce&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(Ie):Ce&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(Ie),Ce&this.CHANGE_CURSOR&&(this.$cursorLayer.update(Ie),this.$moveTextAreaToCursor()),Ce&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(Ie),Ce&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(Ie)),void this._signal("afterRender",Ce)));this.$changes|=Ce},this.$autosize=function(){var Ce=this.session.getScreenLength()*this.lineHeight,Ie=this.$maxLines*this.lineHeight,ve=Math.min(Ie,Math.max((this.$minLines||1)*this.lineHeight,Ce))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(ve+=this.scrollBarH.getHeight()),Ie=!((ve=this.$maxPixelHeight&&ve>this.$maxPixelHeight?this.$maxPixelHeight:ve)<=2*this.lineHeight)&&Ie<Ce,ve==this.desiredHeight&&this.$size.height==this.desiredHeight&&Ie==this.$vScroll||(Ie!=this.$vScroll&&(this.$vScroll=Ie,this.scrollBarV.setVisible(Ie)),Ce=this.container.clientWidth,this.container.style.height=ve+"px",this.$updateCachedSize(!0,this.$gutterWidth,Ce,ve),this.desiredHeight=ve,this._signal("autosize"))},this.$computeLayerConfig=function(){var Ce,Ie,ve=this.session,Ae=this.$size,be=Ae.height<=2*this.lineHeight,ye=this.session.getScreenLength()*this.lineHeight,we=this.$getLongestLine(),Se=!be&&(this.$hScrollBarAlwaysVisible||Ae.scrollerWidth-we-2*this.$padding<0),xe=this.$horizScroll!==Se,ke=(xe&&(this.$horizScroll=Se,this.scrollBarH.setVisible(Se)),Se=this.$vScroll,this.$maxLines&&1<this.lineHeight&&this.$autosize(),Ae.scrollerHeight+this.lineHeight),Ee=(ye+=Ie=!this.$maxLines&&this.$scrollPastEnd?(Ae.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0,this.scrollMargin),Re=((Ie=Se!==(this.session.setScrollTop(Math.max(-Ee.top,Math.min(this.scrollTop,ye-Ae.scrollerHeight+Ee.bottom))),this.session.setScrollLeft(Math.max(-Ee.left,Math.min(this.scrollLeft,we+2*this.$padding-Ae.scrollerWidth+Ee.right))),be=!be&&(this.$vScrollBarAlwaysVisible||Ae.scrollerHeight-ye+Ie<0||this.scrollTop>Ee.top)))&&(this.$vScroll=be,this.scrollBarV.setVisible(be)),Ee=this.scrollTop%this.lineHeight,Se=Math.ceil(ke/this.lineHeight)-1,Se=(be=Math.max(0,Math.round((this.scrollTop-Ee)/this.lineHeight)))+Se,this.lineHeight),_e=(be=ve.screenToDocumentRow(be,0),ve.getFoldLine(be));return _e&&(be=_e.start.row),_e=ve.documentToScreenRow(be,0),Ce=ve.getRowLength(be)*Re,Se=Math.min(ve.screenToDocumentRow(Se,0),ve.getLength()-1),ke=Ae.scrollerHeight+ve.getRowLength(Se)*Re+Ce,Ee=this.scrollTop-_e*Re,ve=0,this.layerConfig.width==we&&!xe||(ve=this.CHANGE_H_SCROLL),(xe||Ie)&&(ve|=this.$updateCachedSize(!0,this.gutterWidth,Ae.width,Ae.height),this._signal("scrollbarVisibilityChanged"),Ie&&(we=this.$getLongestLine())),this.layerConfig={width:we,padding:this.$padding,firstRow:be,firstRowScreen:_e,lastRow:Se,lineHeight:Re,characterWidth:this.characterWidth,minHeight:ke,maxHeight:ye,offset:Ee,gutterOffset:Re?Math.max(0,Math.ceil((Ee+Ae.height-Ae.scrollerHeight)/Re)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(we-this.$padding),ve},this.$updateLines=function(){if(this.$changedLines){var Ce=this.$changedLines.firstRow,Ie=this.$changedLines.lastRow,ve=(this.$changedLines=null,this.layerConfig);if(!(Ce>ve.lastRow+1||Ie<ve.firstRow))return Ie===1/0?(this.$showGutter&&this.$gutterLayer.update(ve),void this.$textLayer.update(ve)):(this.$textLayer.updateLines(ve,Ce,Ie),!0)}},this.$getLongestLine=function(){var Ce=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(Ce+=1),this.$textLayer&&Ce>this.$textLayer.MAX_LINE_LENGTH&&(Ce=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(Ce*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(Ce,Ie){this.$gutterLayer.addGutterDecoration(Ce,Ie)},this.removeGutterDecoration=function(Ce,Ie){this.$gutterLayer.removeGutterDecoration(Ce,Ie)},this.updateBreakpoints=function(Ce){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(Ce){this.$gutterLayer.setAnnotations(Ce),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(Ce,Ie,ve){this.scrollCursorIntoView(Ce,ve),this.scrollCursorIntoView(Ie,ve)},this.scrollCursorIntoView=function(Ce,Ie,ve){var Ae,be,ye;0!==this.$size.scrollerHeight&&(Ae=(Ce=this.$cursorLayer.getPixelPosition(Ce)).left,Ce=Ce.top,ye=ve&&ve.top||0,ve=ve&&ve.bottom||0,Ce<(be=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop)+ye?(Ie&&be+ye>Ce+this.lineHeight&&(Ce-=Ie*this.$size.scrollerHeight),0===Ce&&(Ce=-this.scrollMargin.top),this.session.setScrollTop(Ce)):be+this.$size.scrollerHeight-ve<Ce+this.lineHeight&&(Ie&&be+this.$size.scrollerHeight-ve<Ce-this.lineHeight&&(Ce+=Ie*this.$size.scrollerHeight),this.session.setScrollTop(Ce+this.lineHeight+ve-this.$size.scrollerHeight)),Ae<(ye=this.scrollLeft)?(Ae<this.$padding+2*this.layerConfig.characterWidth&&(Ae=-this.scrollMargin.left),this.session.setScrollLeft(Ae)):ye+this.$size.scrollerWidth<Ae+this.characterWidth?this.session.setScrollLeft(Math.round(Ae+this.characterWidth-this.$size.scrollerWidth)):ye<=this.$padding&&Ae-ye<this.characterWidth&&this.session.setScrollLeft(0))},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(Ce){this.session.setScrollTop(Ce*this.lineHeight)},this.alignCursor=function(Ce,Ie){Ce=this.$cursorLayer.getPixelPosition(Ce="number"==typeof Ce?{row:Ce,column:0}:Ce);var ve=this.$size.scrollerHeight-this.lineHeight;return Ce=Ce.top-ve*(Ie||0),this.session.setScrollTop(Ce),Ce},this.STEPS=8,this.$calcSteps=function(Ce,Ie){var ve,Ae,be=0,ye=this.STEPS,we=[];for(be=0;be<ye;++be)we.push((ve=be/this.STEPS,(Ie-(Ae=Ce))*(Math.pow(ve-1,3)+1)+Ae));return we},this.scrollToLine=function(Ce,Ie,ve,Ae){Ce=this.$cursorLayer.getPixelPosition({row:Ce,column:0}).top,Ie&&(Ce-=this.$size.scrollerHeight/2),Ie=this.scrollTop,this.session.setScrollTop(Ce),!1!==ve&&this.animateScrolling(Ie,Ae)},this.animateScrolling=function(Ce,Ie){var ve=this.scrollTop;if(this.$animatedScroll){var Ae=this;if(Ce!=ve){if(this.$scrollAnimation){var be=this.$scrollAnimation.steps;if(be.length&&(Ce=be[0])==ve)return}var ye=Ae.$calcSteps(Ce,ve);this.$scrollAnimation={from:Ce,to:ve,steps:ye},clearInterval(this.$timer),Ae.session.setScrollTop(ye.shift()),Ae.session.$scrollTop=ve,this.$timer=setInterval((function(){return Ae.session?void(ye.length?(Ae.session.setScrollTop(ye.shift()),Ae.session.$scrollTop=ve):null!=ve?(Ae.session.$scrollTop=-1,Ae.session.setScrollTop(ve),ve=null):(Ae.$timer=clearInterval(Ae.$timer),Ae.$scrollAnimation=null,Ie&&Ie())):clearInterval(Ae.$timer)}),10)}}},this.scrollToY=function(Ce){this.scrollTop!==Ce&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=Ce)},this.scrollToX=function(Ce){this.scrollLeft!==Ce&&(this.scrollLeft=Ce),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(Ce,Ie){this.session.setScrollTop(Ie),this.session.setScrollLeft(Ce)},this.scrollBy=function(Ce,Ie){Ie&&this.session.setScrollTop(this.session.getScrollTop()+Ie),Ce&&this.session.setScrollLeft(this.session.getScrollLeft()+Ce)},this.isScrollableBy=function(Ce,Ie){return Ie<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||0<Ie&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||Ce<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||0<Ce&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0},this.pixelToScreenCoordinates=function(Ce,Ie){this.$hasCssTransforms?(Ae={top:0,left:0},Ce=(ve=this.$fontMetrics.transformCoordinates([Ce,Ie]))[1]-this.gutterWidth-this.margin.left,Ie=ve[0]):Ae=this.scroller.getBoundingClientRect();var ve=Ce+this.scrollLeft-Ae.left-this.$padding,Ae=(Ce=ve/this.characterWidth,Ie=Math.floor((Ie+this.scrollTop-Ae.top)/this.lineHeight),this.$blockCursor?Math.floor(Ce):Math.round(Ce));return{row:Ie,column:Ae,side:0<Ce-Ae?1:-1,offsetX:ve}},this.screenToTextCoordinates=function(Ce,Ie){this.$hasCssTransforms?(ve={top:0,left:0},Ce=(Ae=this.$fontMetrics.transformCoordinates([Ce,Ie]))[1]-this.gutterWidth-this.margin.left,Ie=Ae[0]):ve=this.scroller.getBoundingClientRect();var ve,Ae=Ce+this.scrollLeft-ve.left-this.$padding;return Ce=Ae/this.characterWidth,Ce=this.$blockCursor?Math.floor(Ce):Math.round(Ce),Ie=Math.floor((Ie+this.scrollTop-ve.top)/this.lineHeight),this.session.screenToDocumentPosition(Ie,Math.max(Ce,0),Ae)},this.textToScreenCoordinates=function(Ce,Ie){var ve=this.scroller.getBoundingClientRect();return Ie=this.session.documentToScreenPosition(Ce,Ie),Ce=this.$padding+(this.session.$bidiHandler.isBidiRow(Ie.row,Ce)?this.session.$bidiHandler.getPosLeft(Ie.column):Math.round(Ie.column*this.characterWidth)),Ie=Ie.row*this.lineHeight,{pageX:ve.left+Ce-this.scrollLeft,pageY:ve.top+Ie-this.scrollTop}},this.visualizeFocus=function(){be.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){be.removeCssClass(this.container,"ace_focus")},this.showComposition=function(Ce){(this.$composition=Ce).cssText||(Ce.cssText=this.textarea.style.cssText),null==Ce.useTextareaForIME&&(Ce.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(be.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):Ce.markerId=this.session.addMarker(Ce.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(Ce){var Ie=this.session.selection.cursor;this.addToken(Ce,"composition_placeholder",Ie.row,Ie.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){var Ce;this.$composition&&(this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),be.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText,Ce=this.session.selection.cursor,this.removeExtraToken(Ce.row,Ce.column),this.$composition=null,this.$cursorLayer.element.style.display="")},this.addToken=function(Ce,Ie,ve,Ae){var be=this.session,ye=(be.bgTokenizer.lines[ve]=null,{type:Ie,value:Ce}),we=be.getTokens(ve);if(null==Ae)we.push(ye);else for(var Se=0,xe=0;xe<we.length;xe++){var ke=we[xe];if(Ae<=(Se+=ke.value.length)){var Ee=ke.value.length-(Se-Ae),Re=ke.value.slice(0,Ee);Ee=ke.value.slice(Ee),we.splice(xe,1,{type:ke.type,value:Re},ye,{type:ke.type,value:Ee});break}}this.updateLines(ve,ve)},this.removeExtraToken=function(Ce,Ie){this.updateLines(Ce,Ce)},this.setTheme=function(Ce,Ie){var ve,Ae=this;function t(ve){if(Ae.$themeId!=Ce)return Ie&&Ie();if(!ve||!ve.cssClass)throw new Error("couldn't load module "+Ce+" or it didn't call define");ve.$id&&(Ae.$themeId=ve.$id),be.importCssString(ve.cssText,ve.cssClass,Ae.container),Ae.theme&&be.removeCssClass(Ae.container,Ae.theme.cssClass);var ye="padding"in ve?ve.padding:"padding"in(Ae.theme||{})?4:Ae.$padding;Ae.$padding&&ye!=Ae.$padding&&Ae.setPadding(ye),Ae.$theme=ve.cssClass,Ae.theme=ve,be.addCssClass(Ae.container,ve.cssClass),be.setCssClass(Ae.container,"ace_dark",ve.isDark),Ae.$size&&(Ae.$size.width=0,Ae.$updateSizeAsync()),Ae._dispatchEvent("themeLoaded",{theme:ve}),Ie&&Ie()}this.$themeId=Ce,Ae._dispatchEvent("themeChange",{theme:Ce}),Ce&&"string"!=typeof Ce?t(Ce):(ve=Ce||this.$options.theme.initialValue,ye.loadModule(["theme",ve],t))},this.getTheme=function(){return this.$themeId},this.setStyle=function(Ce,Ie){be.setCssClass(this.container,Ce,!1!==Ie)},this.unsetStyle=function(Ce){be.removeCssClass(this.container,Ce)},this.setCursorStyle=function(Ce){be.setStyle(this.scroller.style,"cursor",Ce)},this.setMouseCursor=function(Ce){be.setStyle(this.scroller.style,"cursor",Ce)},this.attachToShadowRoot=function(){be.importCssString(Be,"ace_editor.css",this.container)},this.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent=""}}.call(i.prototype),ye.defineOptions(i.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(Ce){this.$textLayer.setShowInvisibles(Ce)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(Ce){"number"==typeof Ce&&(this.$printMarginColumn=Ce),this.$showPrintMargin=!!Ce,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(Ce){this.$gutter.style.display=Ce?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(Ce){be.setCssClass(this.$gutter,"ace_fade-fold-widgets",Ce)},initialValue:!1},showFoldWidgets:{set:function(Ce){this.$gutterLayer.setShowFoldWidgets(Ce),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(Ce){this.$textLayer.setDisplayIndentGuides(Ce)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(Ce){this.$gutterLayer.setHighlightGutterLine(Ce),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(Ce){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(Ce){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(Ce){"number"==typeof Ce&&(Ce+="px"),this.container.style.fontSize=Ce,this.updateFontSize()},initialValue:12},fontFamily:{set:function(Ce){this.container.style.fontFamily=Ce,this.updateFontSize()}},maxLines:{set:function(Ce){this.updateFull()}},minLines:{set:function(Ce){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(Ce){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(Ce){this.$scrollPastEnd!=(Ce=+Ce||0)&&(this.$scrollPastEnd=Ce,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(Ce){this.$gutterLayer.$fixedWidth=!!Ce,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(Ce){this.setTheme(Ce)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!We.isMobile&&!We.isIE}}),Ie.VirtualRenderer=i})),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],(function(Ce,Ie,ve){"use strict";var be=Ce("../lib/oop"),ye=Ce("../lib/net"),we=Ce("../lib/event_emitter").EventEmitter,Se=Ce("../config");function l(Ce){return"undefined"==typeof Worker?{postMessage:function(){},terminate:function(){}}:Se.get("loadWorkerFromBlob")?(Ie=function(Ce){Ce="importScripts('"+ye.qualifyURL(Ce)+"');";try{return new Blob([Ce],{type:"application/javascript"})}catch(ve){var Ie=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return Ie.append(Ce),Ie.getBlob("application/javascript")}}(Ce),Ie=(window.URL||window.webkitURL).createObjectURL(Ie),new Worker(Ie)):new Worker(Ce);var Ie}function d(Ce){Ce.postMessage||(Ce=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=Ce,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage}(function(){be.implement(this,we),this.$createWorkerFromOldConfig=function(Ie,ve,Ae,be,ye){var we,xe;return Ce.nameToUrl&&!Ce.toUrl&&(Ce.toUrl=Ce.nameToUrl),Se.get("packaged")||!Ce.toUrl?be=be||Se.moduleUrl(ve,"worker"):(we=this.$normalizePath,be=be||we(Ce.toUrl("ace/worker/worker.js",null,"_")),xe={},Ie.forEach((function(Ie){xe[Ie]=we(Ce.toUrl(Ie,null,"_").replace(/(\.js)?(\?.*)?$/,""))}))),this.$worker=l(be),ye&&this.send("importScripts",ye),this.$worker.postMessage({init:!0,tlns:xe,module:ve,classname:Ae}),this.$worker},this.onMessage=function(Ce){var Ie=Ce.data;switch(Ie.type){case"event":this._signal(Ie.name,{data:Ie.data});break;case"call":var ve=this.callbacks[Ie.id];ve&&(ve(Ie.data),delete this.callbacks[Ie.id]);break;case"error":this.reportError(Ie.data);break;case"log":window.console&&Ae.log&&Ae.log.apply(Ae,Ie.data)}},this.reportError=function(Ce){window.console&&Ae.error&&Ae.error(Ce)},this.$normalizePath=function(Ce){return ye.qualifyURL(Ce)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(Ce,Ie){this.$worker.postMessage({command:Ce,args:Ie})},this.call=function(Ce,Ie,ve){var Ae;ve&&(Ae=this.callbackId++,this.callbacks[Ae]=ve,Ie.push(Ae)),this.send(Ce,Ie)},this.emit=function(Ce,Ie){try{Ie.data&&Ie.data.err&&(Ie.data.err={message:Ie.data.err.message,stack:Ie.data.err.stack,code:Ie.data.err.code}),this.$worker.postMessage({event:Ce,data:{data:Ie.data}})}catch(Ce){Ae.error(Ce.stack)}},this.attachToDocument=function(Ce){this.$doc&&this.terminate(),this.$doc=Ce,this.call("setValue",[Ce.getValue()]),Ce.on("change",this.changeListener)},this.changeListener=function(Ce){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==Ce.action?this.deltaQueue.push(Ce.start,Ce.lines):this.deltaQueue.push(Ce.start,Ce.end)},this.$sendDeltaQueue=function(){var Ce=this.deltaQueue;Ce&&(this.deltaQueue=null,50<Ce.length&&Ce.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:Ce}))}}).call(d.prototype),Ie.UIWorkerClient=function(Ce,Ie,ve){var Ae=null,be=!1,ye=Object.create(we),xe=[],ke=new d({messageBuffer:xe,terminate:function(){},postMessage:function(Ce){xe.push(Ce),Ae&&(be?setTimeout(Ee):Ee())}}),Ee=(ke.setEmitSync=function(Ce){be=Ce},function(){var Ce=xe.shift();Ce.command?Ae[Ce.command].apply(Ae,Ce.args):Ce.event&&ye._signal(Ce.event,Ce.data)});return ye.postMessage=function(Ce){ke.onMessage({data:Ce})},ye.callback=function(Ce,Ie){this.postMessage({type:"call",id:Ie,data:Ce})},ye.emit=function(Ce,Ie){this.postMessage({type:"event",name:Ce,data:Ie})},Se.loadModule(["worker",Ie],(function(Ce){for(Ae=new Ce[ve](ye);xe.length;)Ee()})),ke},Ie.WorkerClient=d,Ie.createWorker=l})),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],(function(Ce,Ie,ve){"use strict";function n(Ce,Ie,ve,Ae,be,ye){var we=this;this.length=Ie,this.session=Ce,this.doc=Ce.getDocument(),this.mainClass=be,this.othersClass=ye,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=Ae,this.$onCursorChange=function(){setTimeout((function(){we.onCursorChange()}))},this.$pos=ve,Ie=Ce.getUndoManager().$undoStack||Ce.getUndoManager().$undostack||{length:-1},this.$undoStackDepth=Ie.length,this.setup(),Ce.selection.on("changeCursor",this.$onCursorChange)}var Ae=Ce("./range").Range,be=Ce("./lib/event_emitter").EventEmitter,ye=Ce("./lib/oop");(function(){ye.implement(this,be),this.setup=function(){var Ce=this,Ie=this.doc,ve=this.session,be=(this.selectionBefore=ve.selection.toJSON(),ve.selection.inMultiSelectMode&&ve.selection.toSingleRange(),this.pos=Ie.createAnchor(this.$pos.row,this.$pos.column),this.pos);be.$insertRight=!0,be.detach(),be.markerId=ve.addMarker(new Ae(be.row,be.column,be.row,be.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach((function(ve){(ve=Ie.createAnchor(ve.row,ve.column)).$insertRight=!0,ve.detach(),Ce.others.push(ve)})),ve.setUndoSelect(!1)},this.showOtherMarkers=function(){var Ce,Ie;this.othersActive||(Ce=this.session,(Ie=this).othersActive=!0,this.others.forEach((function(ve){ve.markerId=Ce.addMarker(new Ae(ve.row,ve.column,ve.row,ve.column+Ie.length),Ie.othersClass,null,!1)})))},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var Ce=0;Ce<this.others.length;Ce++)this.session.removeMarker(this.others[Ce].markerId)}},this.onUpdate=function(Ce){if(this.$updating)return this.updateAnchors(Ce);var Ie=Ce;if(Ie.start.row===Ie.end.row&&Ie.start.row===this.pos.row){this.$updating=!0;var ve="insert"===Ce.action?Ie.end.column-Ie.start.column:Ie.start.column-Ie.end.column,be=Ie.start.column>=this.pos.column&&Ie.start.column<=this.pos.column+this.length+1,ye=Ie.start.column-this.pos.column;if(this.updateAnchors(Ce),be&&(this.length+=ve),be&&!this.session.$fromUndo)if("insert"===Ce.action)for(var we=this.others.length-1;0<=we;we--){var Se={row:(xe=this.others[we]).row,column:xe.column+ye};this.doc.insertMergedLines(Se,Ce.lines)}else if("remove"===Ce.action)for(we=this.others.length-1;0<=we;we--){var xe;Se={row:(xe=this.others[we]).row,column:xe.column+ye},this.doc.remove(new Ae(Se.row,Se.column,Se.row,Se.column-ve))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(Ce){this.pos.onChange(Ce);for(var Ie=this.others.length;Ie--;)this.others[Ie].onChange(Ce);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var Ce=this,Ie=this.session,e=function(ve,be){Ie.removeMarker(ve.markerId),ve.markerId=Ie.addMarker(new Ae(ve.row,ve.column,ve.row,ve.column+Ce.length),be,null,!1)};e(this.pos,this.mainClass);for(var ve=this.others.length;ve--;)e(this.others[ve],this.othersClass)}},this.onCursorChange=function(Ce){var Ie;!this.$updating&&this.session&&((Ie=this.session.selection.getCursor()).row===this.pos.row&&Ie.column>=this.pos.column&&Ie.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",Ce)):(this.hideOtherMarkers(),this._emit("cursorLeave",Ce)))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var Ce=this.session.getUndoManager(),Ie=(Ce.$undoStack||Ce.$undostack).length-this.$undoStackDepth,ve=0;ve<Ie;ve++)Ce.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(n.prototype),Ie.PlaceHolder=n})),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(Ce,Ie,ve){var Ae=Ce("../lib/event"),be=Ce("../lib/useragent");function E(Ce,Ie){return Ce.row==Ie.row&&Ce.column==Ie.column}Ie.onMouseDown=function(Ce){var Ie=Ce.domEvent,ve=Ie.altKey,ye=Ie.shiftKey,we=Ie.ctrlKey,Se=Ce.getAccelKey(),xe=Ce.getButton();if(we&&be.isMac&&(xe=Ie.button),Ce.editor.inMultiSelectMode&&2==xe)Ce.editor.textInput.onContextMenu(Ce.domEvent);else if(we||ve||Se){if(0===xe){var ke,Ee,Re,_e,$e,Le,Be,We,Ne=Ce.editor,Ge=Ne.selection,Pe=Ne.inMultiSelectMode,Fe=Ce.getDocumentPosition(),He=Ge.getCursor(),Ve=(He=Ce.inSelection()||Ge.isEmpty()&&E(Fe,He),Ce.x),Ze=Ce.y,Me=Ne.session,Oe=Ne.renderer.pixelToScreenCoordinates(Ve,Ze),De=Oe;if(Ne.$mouseHandler.$enableJumpToDef)we&&ve||Se&&ve?ke=ye?"block":"add":ve&&Ne.$blockSelectEnabled&&(ke="block");else if(Se&&!ve){if(ke="add",!Pe&&ye)return}else ve&&Ne.$blockSelectEnabled&&(ke="block");if(ke&&be.isMac&&Ie.ctrlKey&&Ne.$mouseHandler.cancelContextMenu(),"add"==ke)!Pe&&He||(Pe||(Ee=Ge.toOrientedRange(),Ne.addSelectionMarker(Ee)),Re=Ge.rangeList.rangeAtPoint(Fe),Ne.inVirtualSelectionMode=!0,ye&&(Re=null,Ee=Ge.ranges[0]||Ee,Ne.removeSelectionMarker(Ee)),Ne.once("mouseup",(function(){var Ce=Ge.toOrientedRange();Re&&Ce.isEmpty()&&E(Re.cursor,Ce.cursor)?Ge.substractPoint(Ce.cursor):(ye?Ge.substractPoint(Ee.cursor):Ee&&(Ne.removeSelectionMarker(Ee),Ge.addRange(Ee)),Ge.addRange(Ce)),Ne.inVirtualSelectionMode=!1})));else if("block"==ke)return Ce.stop(),Ne.inVirtualSelectionMode=!0,$e=[],Le=function(){var Ce=Ne.renderer.pixelToScreenCoordinates(Ve,Ze),Ie=Me.screenToDocumentPosition(Ce.row,Ce.column,Ce.offsetX);E(De,Ce)&&E(Ie,Ge.lead)||(De=Ce,Ne.selection.moveToPosition(Ie),Ne.renderer.scrollCursorIntoView(),Ne.removeSelectionMarkers($e),$e=Ge.rectangularRangeBlock(De,Oe),Ne.$mouseHandler.$clickSelection&&1==$e.length&&$e[0].isEmpty()&&($e[0]=Ne.$mouseHandler.$clickSelection.clone()),$e.forEach(Ne.addSelectionMarker,Ne),Ne.updateSelectionMarkers())},Pe&&!Se?Ge.toSingleRange():!Pe&&Se&&(_e=Ge.toOrientedRange(),Ne.addSelectionMarker(_e)),ye?Oe=Me.documentToScreenPosition(Ge.lead):Ge.moveToPosition(Fe),De={row:-1,column:-1},Be=Le,Ae.capture(Ne.container,(function(Ce){Ve=Ce.clientX,Ze=Ce.clientY}),(function(Ce){Le(),clearInterval(We),Ne.removeSelectionMarkers($e),$e.length||($e=[Ge.toOrientedRange()]),_e&&(Ne.removeSelectionMarker(_e),Ge.toSingleRange(_e));for(var Ie=0;Ie<$e.length;Ie++)Ge.addRange($e[Ie]);Ne.inVirtualSelectionMode=!1,Ne.$mouseHandler.$clickSelection=null})),We=setInterval((function(){Be()}),20),Ce.preventDefault()}}else 0===xe&&Ce.editor.inMultiSelectMode&&Ce.editor.exitMultiSelectMode()}})),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],(function(Ce,Ie,ve){Ie.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(Ce){Ce.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(Ce){Ce.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(Ce){Ce.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(Ce){Ce.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(Ce){Ce.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(Ce){Ce.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(Ce){Ce.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(Ce){Ce.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split into lines",exec:function(Ce){1<Ce.multiSelect.rangeCount?Ce.multiSelect.joinSelections():Ce.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(Ce){Ce.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(Ce){Ce.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(Ce){Ce.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],Ie.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(Ce){Ce.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(Ce){return Ce&&Ce.inMultiSelectMode}}],Ce=Ce("../keyboard/hash_handler").HashHandler,Ie.keyboardHandler=new Ce(Ie.multiSelectCommands)})),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],(function(Ce,Ie,ve){var Ae=Ce("./range_list").RangeList,be=Ce("./range").Range,ye=Ce("./selection").Selection,we=Ce("./mouse/multi_select_handler").onMouseDown,Se=Ce("./lib/event"),xe=Ce("./lib/lang"),ke=Ce("./commands/multi_select_commands");Ie.commands=ke.defaultCommands.concat(ke.multiSelectCommands);var Ee=new(Ce("./search").Search),Re=Ce("./edit_session").EditSession;function c(Ce){var ve,Ae;function n(Ce){Ae&&(ve.renderer.setMouseCursor(""),Ae=!1)}Ce.$multiselectOnSessionChange||(Ce.$onAddRange=Ce.$onAddRange.bind(Ce),Ce.$onRemoveRange=Ce.$onRemoveRange.bind(Ce),Ce.$onMultiSelect=Ce.$onMultiSelect.bind(Ce),Ce.$onSingleSelect=Ce.$onSingleSelect.bind(Ce),Ce.$multiselectOnSessionChange=Ie.onSessionChange.bind(Ce),Ce.$checkMultiselectChange=Ce.$checkMultiselectChange.bind(Ce),Ce.$multiselectOnSessionChange(Ce),Ce.on("changeSession",Ce.$multiselectOnSessionChange),Ce.on("mousedown",we),Ce.commands.addCommands(ke.defaultCommands),(ve=Ce).textInput&&(Ce=ve.textInput.getElement(),Ae=!1,Se.addListener(Ce,"keydown",(function(Ce){Ce=18==Ce.keyCode&&!(Ce.ctrlKey||Ce.shiftKey||Ce.metaKey),ve.$blockSelectEnabled&&Ce?Ae||(ve.renderer.setMouseCursor("crosshair"),Ae=!0):Ae&&n()}),ve),Se.addListener(Ce,"keyup",n,ve),Se.addListener(Ce,"blur",n,ve)))}(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(Re.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(Ce,Ie){if(Ce){if(!this.inMultiSelectMode&&0===this.rangeCount){var ve=this.toOrientedRange();if(this.rangeList.add(ve),this.rangeList.add(Ce),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),Ie||this.fromOrientedRange(Ce);this.rangeList.removeAll(),this.rangeList.add(ve),this.$onAddRange(ve)}return Ce.cursor||(Ce.cursor=Ce.end),ve=this.rangeList.add(Ce),this.$onAddRange(Ce),ve.length&&this.$onRemoveRange(ve),1<this.rangeCount&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),Ie||this.fromOrientedRange(Ce)}},this.toSingleRange=function(Ce){Ce=Ce||this.ranges[0];var Ie=this.rangeList.removeAll();Ie.length&&this.$onRemoveRange(Ie),Ce&&this.fromOrientedRange(Ce)},this.substractPoint=function(Ce){if(Ce=this.rangeList.substractPoint(Ce))return this.$onRemoveRange(Ce),Ce[0]},this.mergeOverlappingRanges=function(){var Ce=this.rangeList.merge();Ce.length&&this.$onRemoveRange(Ce)},this.$onAddRange=function(Ce){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(Ce),this._signal("addRange",{range:Ce})},this.$onRemoveRange=function(Ce){var Ie;this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode&&(Ie=this.rangeList.ranges.pop(),Ce.push(Ie),this.rangeCount=0);for(var ve=Ce.length;ve--;){var Ae=this.ranges.indexOf(Ce[ve]);this.ranges.splice(Ae,1)}this._signal("removeRange",{ranges:Ce}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(Ie=Ie||this.ranges[0])&&!Ie.isEqual(this.getRange())&&this.fromOrientedRange(Ie)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new Ae,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var Ce=this.ranges.length?this.ranges:[this.getRange()],Ie=[],ve=0;ve<Ce.length;ve++){var Ae=Ce[ve],ye=Ae.start.row,we=Ae.end.row;if(ye===we)Ie.push(Ae.clone());else{for(Ie.push(new be(ye,Ae.start.column,ye,this.session.getLine(ye).length));++ye<we;)Ie.push(this.getLineRange(ye,!0));Ie.push(new be(we,0,we,Ae.end.column))}0!=ve||this.isBackwards()||(Ie=Ie.reverse())}for(this.toSingleRange(),ve=Ie.length;ve--;)this.addRange(Ie[ve])},this.joinSelections=function(){var Ce=(Ie=this.rangeList.ranges)[Ie.length-1],Ie=be.fromPoints(Ie[0].start,Ce.end);this.toSingleRange(),this.setSelectionRange(Ie,Ce.cursor==Ce.start)},this.toggleBlockSelection=function(){var Ce,Ie;1<this.rangeCount?(Ie=(Ce=this.rangeList.ranges)[Ce.length-1],Ce=be.fromPoints(Ce[0].start,Ie.end),this.toSingleRange(),this.setSelectionRange(Ce,Ie.cursor==Ie.start)):(Ce=this.session.documentToScreenPosition(this.cursor),Ie=this.session.documentToScreenPosition(this.anchor),this.rectangularRangeBlock(Ce,Ie).forEach(this.addRange,this))},this.rectangularRangeBlock=function(Ce,Ie,ve){var Ae,ye,we,Se,xe,ke,Ee,Re=[],_e=Ce.column<Ie.column,$e=(Se=_e?(Ae=Ce.column,ye=Ie.column,we=Ce.offsetX,Ie.offsetX):(Ae=Ie.column,ye=Ce.column,we=Ie.offsetX,Ce.offsetX),Ce.row<Ie.row);ke=$e?(xe=Ce.row,Ie.row):(xe=Ie.row,Ce.row),Ae<0&&(Ae=0),(xe=xe<0?0:xe)==ke&&(ve=!0);for(var Le,Be,We=xe;We<=ke;We++){var Ne=be.fromPoints(this.session.screenToDocumentPosition(We,Ae,we),this.session.screenToDocumentPosition(We,ye,Se));if(Ne.isEmpty()){if(Ee&&(Be=Ee,(Le=Ne.end).row==Be.row&&Le.column==Be.column))break;Ee=Ne.end}Ne.cursor=_e?Ne.start:Ne.end,Re.push(Ne)}if($e&&Re.reverse(),!ve){for(var Ge=Re.length-1;Re[Ge].isEmpty()&&0<Ge;)Ge--;if(0<Ge)for(var Pe=0;Re[Pe].isEmpty();)Pe++;for(var Fe=Ge;Pe<=Fe;Fe--)Re[Fe].isEmpty()&&Re.splice(Fe,1)}return Re}}.call(ye.prototype),Re=Ce("./editor").Editor,function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(Ce){Ce.cursor||(Ce.cursor=Ce.end);var Ie=this.getSelectionStyle();return Ce.marker=this.session.addMarker(Ce,"ace_selection",Ie),this.session.$selectionMarkers.push(Ce),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,Ce},this.removeSelectionMarker=function(Ce){Ce.marker&&(this.session.removeMarker(Ce.marker),-1!=(Ce=this.session.$selectionMarkers.indexOf(Ce))&&this.session.$selectionMarkers.splice(Ce,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length)},this.removeSelectionMarkers=function(Ce){for(var Ie=this.session.$selectionMarkers,ve=Ce.length;ve--;){var Ae=Ce[ve];Ae.marker&&(this.session.removeMarker(Ae.marker),-1!=(Ae=Ie.indexOf(Ae))&&Ie.splice(Ae,1))}this.session.selectionMarkerCount=Ie.length},this.$onAddRange=function(Ce){this.addSelectionMarker(Ce.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(Ce){this.removeSelectionMarkers(Ce.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(Ce){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(ke.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(Ce){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(ke.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(Ce){var Ie,ve=Ce.command,Ae=Ce.editor;if(Ae.multiSelect)return ve.multiSelectAction?Ie="forEach"==ve.multiSelectAction?Ae.forEachSelection(ve,Ce.args):"forEachLine"==ve.multiSelectAction?Ae.forEachSelection(ve,Ce.args,!0):"single"==ve.multiSelectAction?(Ae.exitMultiSelectMode(),ve.exec(Ae,Ce.args||{})):ve.multiSelectAction(Ae,Ce.args||{}):(Ie=ve.exec(Ae,Ce.args||{}),Ae.multiSelect.addRange(Ae.multiSelect.toOrientedRange()),Ae.multiSelect.mergeOverlappingRanges()),Ie},this.forEachSelection=function(Ce,Ie,ve){if(!this.inVirtualSelectionMode){var Ae,be=ve&&ve.keepOrder,we=1==ve||ve&&ve.$byLines,Se=this.session,xe=(ve=this.selection).rangeList,ke=(be?ve:xe).ranges;if(!ke.length)return Ce.exec?Ce.exec(this,Ie||{}):Ce(this,Ie||{});be=ve._eventRegistry;var Ee=(ve._eventRegistry={},new ye(Se));this.inVirtualSelectionMode=!0;for(var Re=ke.length;Re--;){if(we)for(;0<Re&&ke[Re].start.row==ke[Re-1].end.row;)Re--;Ee.fromOrientedRange(ke[Re]),Ee.index=Re,this.selection=Se.selection=Ee;var _e=Ce.exec?Ce.exec(this,Ie||{}):Ce(this,Ie||{});Ae||void 0===_e||(Ae=_e),Ee.toOrientedRange(ke[Re])}return Ee.detach(),this.selection=Se.selection=ve,this.inVirtualSelectionMode=!1,ve._eventRegistry=be,ve.mergeOverlappingRanges(),ve.ranges[0]&&ve.fromOrientedRange(ve.ranges[0]),xe=this.renderer.$scrollAnimation,this.onCursorChange(),this.onSelectionChange(),xe&&xe.from==xe.to&&this.renderer.animateScrolling(xe.from),Ae}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var Ce="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var Ie=this.multiSelect.rangeList.ranges,ve=[],Ae=0;Ae<Ie.length;Ae++)ve.push(this.session.getTextRange(Ie[Ae]));var be=this.session.getDocument().getNewLineCharacter();(Ce=ve.join(be)).length==(ve.length-1)*be.length&&(Ce="")}else this.selection.isEmpty()||(Ce=this.session.getTextRange(this.getSelectionRange()));return Ce},this.$checkMultiselectChange=function(Ce,Ie){var ve;this.inMultiSelectMode&&!this.inVirtualSelectionMode&&(ve=this.multiSelect.ranges[0],this.multiSelect.isEmpty()&&Ie==this.multiSelect.anchor||((ve=Ie==this.multiSelect.anchor?ve.cursor==ve.start?ve.end:ve.start:ve.cursor).row!=Ie.row||this.session.$clipPositionToDocument(ve.row,ve.column).column!=Ie.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()))},this.findAll=function(Ce,Ie,ve){(Ie=Ie||{}).needle=Ce||Ie.needle,null==Ie.needle&&(Ae=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange(),Ie.needle=this.session.getTextRange(Ae)),this.$search.set(Ie);var Ae,be=this.$search.findAll(this.session);if(!be.length)return 0;var ye=this.multiSelect;ve||ye.toSingleRange(be[0]);for(var we=be.length;we--;)ye.addRange(be[we],!0);return Ae&&ye.rangeList.rangeAtPoint(Ae.start)&&ye.addRange(Ae,!0),be.length},this.selectMoreLines=function(Ce,Ie){var ve,Ae,ye,we=this.selection.toOrientedRange(),Se=we.cursor==we.end,xe=this.session.documentToScreenPosition(we.cursor),ke=(this.selection.$desiredColumn&&(xe.column=this.selection.$desiredColumn),this.session.screenToDocumentPosition(xe.row+Ce,xe.column));Ce=we.isEmpty()?ke:(ve=this.session.documentToScreenPosition(Se?we.end:we.start),this.session.screenToDocumentPosition(ve.row+Ce,ve.column)),Se?(Ae=be.fromPoints(ke,Ce)).cursor=Ae.start:(Ae=be.fromPoints(Ce,ke)).cursor=Ae.end,Ae.desiredColumn=xe.column,this.selection.inMultiSelectMode?Ie&&(ye=we.cursor):this.selection.addRange(we),this.selection.addRange(Ae),ye&&this.selection.substractPoint(ye)},this.transposeSelections=function(Ce){for(var Ie=this.session,ve=Ie.multiSelect,Ae=ve.ranges,be=Ae.length;be--;)(we=Ae[be]).isEmpty()&&(Se=Ie.getWordRange(we.start.row,we.start.column),we.start.row=Se.start.row,we.start.column=Se.start.column,we.end.row=Se.end.row,we.end.column=Se.end.column);ve.mergeOverlappingRanges();var ye=[];for(be=Ae.length;be--;){var we=Ae[be];ye.unshift(Ie.getTextRange(we))}for(Ce<0?ye.unshift(ye.pop()):ye.push(ye.shift()),be=Ae.length;be--;){var Se=(we=Ae[be]).clone();Ie.replace(we,ye[be]),we.start.row=Se.start.row,we.start.column=Se.start.column}ve.fromOrientedRange(ve.ranges[0])},this.selectMore=function(Ce,Ie,ve){var Ae,be=this.session,ye=be.multiSelect.toOrientedRange();ye.isEmpty()&&((ye=be.getWordRange(ye.start.row,ye.start.column)).cursor=-1==Ce?ye.start:ye.end,this.multiSelect.addRange(ye),ve)||(ve=be.getTextRange(ye),Ae=Ce,Ee.$options.wrap=!0,Ee.$options.needle=ve,Ee.$options.backwards=-1==Ae,(ve=Ee.find(be))&&(ve.cursor=-1==Ce?ve.start:ve.end,this.session.unfold(ve),this.multiSelect.addRange(ve),this.renderer.scrollCursorIntoView(null,.5)),Ie&&this.multiSelect.substractPoint(ye.cursor))},this.alignCursors=function(){var Ce=this.session,Ie=Ce.multiSelect,ve=Ie.ranges,Ae=-1,ye=ve.filter((function(Ce){return Ce.cursor.row==Ae||void(Ae=Ce.cursor.row)}));if(ve.length&&ye.length!=ve.length-1){ye.forEach((function(Ce){Ie.substractPoint(Ce.cursor)}));var we=0,Se=1/0,ke=ve.map((function(Ie){Ie=Ie.cursor;var ve=Ce.getLine(Ie.row).substr(Ie.column).search(/\S/g);return Ie.column>we&&(we=Ie.column),(ve=-1==ve?0:ve)<Se&&(Se=ve),ve}));ve.forEach((function(Ie,ve){var Ae=Ie.cursor,ye=we-Ae.column;(ve=ke[ve]-Se)<ye?Ce.insert(Ae,xe.stringRepeat(" ",ye-ve)):Ce.remove(new be(Ae.row,Ae.column,Ae.row,Ae.column-ye+ve)),Ie.start.column=Ie.end.column=we,Ie.start.row=Ie.end.row=Ae.row,Ie.cursor=Ie.end})),Ie.fromOrientedRange(ve[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var Ee=(ye=this.selection.getRange()).start.row,Re=ye.end.row;if(ve=Ee==Re){for(var _e,$e=this.session.getLength();_e=this.session.getLine(Re),/[=:]/.test(_e)&&++Re<$e;);for(;_e=this.session.getLine(Ee),/[=:]/.test(_e)&&0<--Ee;);Ee<0&&(Ee=0),$e<=Re&&(Re=$e-1)}var Le=this.session.removeFullLines(Ee,Re);Le=this.$reAlignText(Le,ve),this.session.insert({row:Ee,column:0},Le.join("\n")+"\n"),ve||(ye.start.column=0,ye.end.column=Le[Le.length-1].length),this.selection.setRange(ye)}},this.$reAlignText=function(Ce,Ie){var ve,Ae,be,ye=!0,we=!0;return Ce.map((function(Ce){var Ie=Ce.match(/(\s*)(.*?)(\s*)([=:].*)/);return Ie?(null==ve?(ve=Ie[1].length,Ae=Ie[2].length,be=Ie[3].length):(ve+Ae+be!=Ie[1].length+Ie[2].length+Ie[3].length&&(we=!1),ve!=Ie[1].length&&(ye=!1),ve>Ie[1].length&&(ve=Ie[1].length),Ae<Ie[2].length&&(Ae=Ie[2].length),be>Ie[3].length&&(be=Ie[3].length)),Ie):[Ce]})).map(Ie?l:ye?we?function(Ce){return Ce[2]?a(ve+Ae-Ce[2].length)+Ce[2]+a(be)+Ce[4].replace(/^([=:])\s+/,"$1 "):Ce[0]}:l:function(Ce){return Ce[2]?a(ve)+Ce[2]+a(be)+Ce[4].replace(/^([=:])\s+/,"$1 "):Ce[0]});function a(Ce){return xe.stringRepeat(" ",Ce)}function l(Ce){return Ce[2]?a(ve)+Ce[2]+a(Ae-Ce[2].length+be)+Ce[4].replace(/^([=:])\s+/,"$1 "):Ce[0]}}}.call(Re.prototype),Ie.onSessionChange=function(Ce){var Ie=Ce.session;Ie&&!Ie.multiSelect&&(Ie.$selectionMarkers=[],Ie.selection.$initRangeList(),Ie.multiSelect=Ie.selection),this.multiSelect=Ie&&Ie.multiSelect,(Ce=Ce.oldSession)&&(Ce.multiSelect.off("addRange",this.$onAddRange),Ce.multiSelect.off("removeRange",this.$onRemoveRange),Ce.multiSelect.off("multiSelect",this.$onMultiSelect),Ce.multiSelect.off("singleSelect",this.$onSingleSelect),Ce.multiSelect.lead.off("change",this.$checkMultiselectChange),Ce.multiSelect.anchor.off("change",this.$checkMultiselectChange)),Ie&&(Ie.multiSelect.on("addRange",this.$onAddRange),Ie.multiSelect.on("removeRange",this.$onRemoveRange),Ie.multiSelect.on("multiSelect",this.$onMultiSelect),Ie.multiSelect.on("singleSelect",this.$onSingleSelect),Ie.multiSelect.lead.on("change",this.$checkMultiselectChange),Ie.multiSelect.anchor.on("change",this.$checkMultiselectChange)),Ie&&this.inMultiSelectMode!=Ie.selection.inMultiSelectMode&&(Ie.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},Ie.MultiSelect=c,Ce("./config").defineOptions(Re.prototype,"editor",{enableMultiselect:{set:function(Ce){c(this),Ce?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",we)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",we))},value:!0},enableBlockSelect:{set:function(Ce){this.$blockSelectEnabled=Ce},value:!0}})})),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../../range").Range;Ce=Ie.FoldMode=function(){},function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(Ce,Ie,ve){return Ce=Ce.getLine(ve),this.foldingStartMarker.test(Ce)?"start":"markbeginend"==Ie&&this.foldingStopMarker&&this.foldingStopMarker.test(Ce)?"end":""},this.getFoldWidgetRange=function(Ce,Ie,ve){return null},this.indentationBlock=function(Ce,Ie,ve){var be=/\S/,ye=(xe=Ce.getLine(Ie)).search(be);if(-1!=ye){ve=ve||xe.length;for(var we,Se=Ce.getLength(),xe=Ie,ke=Ie;++Ie<Se;){var Ee=Ce.getLine(Ie).search(be);if(-1!=Ee){if(Ee<=ye&&(!(Ee=Ce.getTokenAt(Ie,0))||"string"!==Ee.type))break;ke=Ie}}return xe<ke?(we=Ce.getLine(ke).length,new Ae(xe,ve,ke,we)):void 0}},this.openingBracketBlock=function(Ce,Ie,ve,be,ye){if(ve={row:ve,column:be+1},be=Ce.$findClosingBracket(Ie,ve,ye))return"start"==(Ie=null==(Ie=Ce.foldWidgets[be.row])?Ce.getFoldWidget(be.row):Ie)&&be.row>ve.row&&(be.row--,be.column=Ce.getLine(be.row).length),Ae.fromPoints(ve,be)},this.closingBracketBlock=function(Ce,Ie,ve,be,ye){if(ve={row:ve,column:be},be=Ce.$findOpeningBracket(Ie,ve))return be.column++,ve.column--,Ae.fromPoints(be,ve)}}.call(Ce.prototype)})),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";Ie.isDark=!1,Ie.cssClass="ace-tm",Ie.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',Ie.$id="ace/theme/textmate",Ce("../lib/dom").importCssString(Ie.cssText,Ie.cssClass,!1)})),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("./lib/dom");function n(Ce){this.session=Ce,(this.session.widgetManager=this).session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}(function(){this.getRowLength=function(Ce){var Ie=this.lineWidgets&&this.lineWidgets[Ce]&&this.lineWidgets[Ce].rowCount||0;return this.$useWrapMode&&this.$wrapData[Ce]?this.$wrapData[Ce].length+1+Ie:1+Ie},this.$getWidgetScreenLength=function(){var Ce=0;return this.lineWidgets.forEach((function(Ie){Ie&&Ie.rowCount&&!Ie.hidden&&(Ce+=Ie.rowCount)})),Ce},this.$onChangeEditor=function(Ce){this.attach(Ce.editor)},this.attach=function(Ce){Ce&&Ce.widgetManager&&Ce.widgetManager!=this&&Ce.widgetManager.detach(),this.editor!=Ce&&(this.detach(),(this.editor=Ce)&&(Ce.widgetManager=this,Ce.renderer.on("beforeRender",this.measureWidgets),Ce.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(Ce){var Ie=this.editor;Ie&&(this.editor=null,Ie.widgetManager=null,Ie.renderer.off("beforeRender",this.measureWidgets),Ie.renderer.off("afterRender",this.renderWidgets),(Ie=this.session.lineWidgets)&&Ie.forEach((function(Ce){Ce&&Ce.el&&Ce.el.parentNode&&(Ce._inDocument=!1,Ce.el.parentNode.removeChild(Ce.el))})))},this.updateOnFold=function(Ce,Ie){var ve=Ie.lineWidgets;if(ve&&Ce.action){for(var Ae=(Ie=Ce.data).start.row,be=Ie.end.row,ye="add"==Ce.action,we=Ae+1;we<be;we++)ve[we]&&(ve[we].hidden=ye);ve[be]&&(ye?ve[Ae]?ve[be].hidden=ye:ve[Ae]=ve[be]:(ve[Ae]==ve[be]&&(ve[Ae]=void 0),ve[be].hidden=ye))}},this.updateOnChange=function(Ce){var Ie,ve,Ae,be=this.session.lineWidgets;be&&(Ie=Ce.start.row,0==(ve=Ce.end.row-Ie)||("remove"==Ce.action?(Ae=be.splice(Ie+1,ve),!be[Ie]&&Ae[Ae.length-1]&&(be[Ie]=Ae.pop()),Ae.forEach((function(Ce){Ce&&this.removeLineWidget(Ce)}),this)):(Ae=new Array(ve),be[Ie]&&null!=be[Ie].column&&Ce.start.column>be[Ie].column&&Ie++,Ae.unshift(Ie,0),be.splice.apply(be,Ae)),this.$updateRows()))},this.$updateRows=function(){var Ce,Ie=this.session.lineWidgets;Ie&&(Ce=!0,Ie.forEach((function(Ie,ve){if(Ie)for(Ce=!1,Ie.row=ve;Ie.$oldWidget;)Ie.$oldWidget.row=ve,Ie=Ie.$oldWidget})),Ce&&(this.session.lineWidgets=null))},this.$registerLineWidget=function(Ce){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var Ie=this.session.lineWidgets[Ce.row];return Ie&&(Ce.$oldWidget=Ie).el&&Ie.el.parentNode&&(Ie.el.parentNode.removeChild(Ie.el),Ie._inDocument=!1),this.session.lineWidgets[Ce.row]=Ce},this.addLineWidget=function(Ce){if(this.$registerLineWidget(Ce),Ce.session=this.session,!this.editor)return Ce;var Ie,ve=this.editor.renderer,be=(Ce.html&&!Ce.el&&(Ce.el=Ae.createElement("div"),Ce.el.innerHTML=Ce.html),Ce.el&&(Ae.addCssClass(Ce.el,"ace_lineWidgetContainer"),Ce.el.style.position="absolute",Ce.el.style.zIndex=5,ve.container.appendChild(Ce.el),Ce._inDocument=!0,Ce.coverGutter||(Ce.el.style.zIndex=3),null==Ce.pixelHeight&&(Ce.pixelHeight=Ce.el.offsetHeight)),null==Ce.rowCount&&(Ce.rowCount=Ce.pixelHeight/ve.layerConfig.lineHeight),this.session.getFoldAt(Ce.row,0));return(Ce.$fold=be)&&(Ie=this.session.lineWidgets,Ce.row!=be.end.row||Ie[be.start.row]?Ce.hidden=!0:Ie[be.start.row]=Ce),this.session._emit("changeFold",{data:{start:{row:Ce.row}}}),this.$updateRows(),this.renderWidgets(null,ve),this.onWidgetChanged(Ce),Ce},this.removeLineWidget=function(Ce){if(Ce._inDocument=!1,Ce.session=null,Ce.el&&Ce.el.parentNode&&Ce.el.parentNode.removeChild(Ce.el),Ce.editor&&Ce.editor.destroy)try{Ce.editor.destroy()}catch(Ce){}if(this.session.lineWidgets){var Ie=this.session.lineWidgets[Ce.row];if(Ie==Ce)this.session.lineWidgets[Ce.row]=Ce.$oldWidget,Ce.$oldWidget&&this.onWidgetChanged(Ce.$oldWidget);else for(;Ie;){if(Ie.$oldWidget==Ce){Ie.$oldWidget=Ce.$oldWidget;break}Ie=Ie.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:Ce.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(Ce){for(var Ie=this.session.lineWidgets,ve=Ie&&Ie[Ce],Ae=[];ve;)Ae.push(ve),ve=ve.$oldWidget;return Ae},this.onWidgetChanged=function(Ce){this.session._changedWidgets.push(Ce),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(Ce,Ie){var ve=this.session._changedWidgets,Ae=Ie.layerConfig;if(ve&&ve.length){for(var be=1/0,ye=0;ye<ve.length;ye++){var we=ve[ye];if(we&&we.el&&we.session==this.session){if(!we._inDocument){if(this.session.lineWidgets[we.row]!=we)continue;we._inDocument=!0,Ie.container.appendChild(we.el)}we.h=we.el.offsetHeight,we.fixedWidth||(we.w=we.el.offsetWidth,we.screenWidth=Math.ceil(we.w/Ae.characterWidth));var Se=we.h/Ae.lineHeight;we.coverLine&&(Se-=this.session.getRowLineCount(we.row))<0&&(Se=0),we.rowCount!=Se&&(we.rowCount=Se,we.row<be&&(be=we.row))}}be!=1/0&&(this.session._emit("changeFold",{data:{start:{row:be}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(Ce,Ie){var ve=Ie.layerConfig,Ae=this.session.lineWidgets;if(Ae){for(var be=Math.min(this.firstRow,ve.firstRow),ye=Math.max(this.lastRow,ve.lastRow,Ae.length);0<be&&!Ae[be];)be--;this.firstRow=ve.firstRow,this.lastRow=ve.lastRow,Ie.$cursorLayer.config=ve;for(var we=be;we<=ye;we++){var Se,xe=Ae[we];xe&&xe.el&&(xe.hidden?xe.el.style.top=-100-(xe.pixelHeight||0)+"px":(xe._inDocument||(xe._inDocument=!0,Ie.container.appendChild(xe.el)),Se=Ie.$cursorLayer.getPixelPosition({row:we,column:0},!0).top,xe.coverLine||(Se+=ve.lineHeight*this.session.getRowLineCount(xe.row)),xe.el.style.top=Se-ve.offset+"px",Se=xe.coverGutter?0:Ie.gutterWidth,xe.fixedWidth||(Se-=Ie.scrollLeft),xe.el.style.left=Se+"px",xe.fullWidth&&xe.screenWidth&&(xe.el.style.minWidth=ve.width+2*ve.padding+"px"),xe.fixedWidth?xe.el.style.right=Ie.scrollBar.getWidth()+"px":xe.el.style.right=""))}}}}).call(n.prototype),Ie.LineWidgets=n})),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../line_widgets").LineWidgets,be=Ce("../lib/dom"),ye=Ce("../range").Range;function d(Ce,Ie,ve){var Ae=Ce.getAnnotations().sort(ye.comparePoints);if(Ae.length){var be=function(Ce,Ie,ve){for(var Ae=0,be=Ce.length-1;Ae<=be;){var ye=Ae+be>>1,we=ve(Ie,Ce[ye]);if(0<we)Ae=1+ye;else{if(!(we<0))return ye;be=ye-1}}return-(Ae+1)}(Ae,{row:Ie,column:-1},ye.comparePoints),we=((be=be<0?-be-1:be)>=Ae.length?be=0<ve?0:Ae.length-1:0===be&&ve<0&&(be=Ae.length-1),Ae[be]);if(we&&ve){if(we.row===Ie){for(;(we=Ae[be+=ve])&&we.row===Ie;);if(!we)return Ae.slice()}var Se=[];for(Ie=we.row;Se[ve<0?"unshift":"push"](we),(we=Ae[be+=ve])&&we.row==Ie;);return Se.length&&Se}}}Ie.showErrorMarker=function(Ce,Ie){var ve,ye=Ce.session,we=(ye.widgetManager||(ye.widgetManager=new Ae(ye),ye.widgetManager.attach(Ce)),Ce.getCursorPosition()),Se=we.row,xe=ye.widgetManager.getWidgetsAtRow(Se).filter((function(Ce){return"errorMarker"==Ce.type}))[0];if(xe?xe.destroy():Se-=Ie,Se=d(ye,Se,Ie))Ie=Se[0],we.column=(Ie.pos&&"number"!=typeof Ie.column?Ie.pos.sc:Ie.column)||0,we.row=Ie.row,ve=Ce.renderer.$gutterLayer.$annotations[we.row];else{if(xe)return;ve={text:["Looks good!"],className:"ace_ok"}}function a(Ce,Ie,ve){if(0===Ie&&("esc"===ve||"return"===ve))return ke.destroy(),{command:"null"}}Ce.session.unfold(we.row),Ce.selection.moveToPosition(we);var ke={row:we.row,fixedWidth:!0,coverGutter:!0,el:be.createElement("div"),type:"errorMarker"};Se=ke.el.appendChild(be.createElement("div")),(Ie=ke.el.appendChild(be.createElement("div"))).className="error_widget_arrow "+ve.className,xe=Ce.renderer.$cursorLayer.getPixelPosition(we).left,Ie.style.left=xe+Ce.renderer.gutterWidth-5+"px",ke.el.className="error_widget_wrapper",Se.className="error_widget "+ve.className,Se.innerHTML=ve.text.join("<br>"),Se.appendChild(be.createElement("div")),ke.destroy=function(){Ce.$mouseHandler.isMousePressed||(Ce.keyBinding.removeKeyboardHandler(a),ye.widgetManager.removeLineWidget(ke),Ce.off("changeSelection",ke.destroy),Ce.off("changeSession",ke.destroy),Ce.off("mouseup",ke.destroy),Ce.off("change",ke.destroy))},Ce.keyBinding.addKeyboardHandler(a),Ce.on("changeSelection",ke.destroy),Ce.on("changeSession",ke.destroy),Ce.on("mouseup",ke.destroy),Ce.on("change",ke.destroy),Ce.session.widgetManager.addLineWidget(ke),ke.el.onmousedown=Ce.focus.bind(Ce),Ce.renderer.scrollCursorIntoView(null,.5,{bottom:ke.el.offsetHeight})},be.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","error_marker.css",!1)})),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],(function(Ce,Ie,Ae){"use strict";Ce("./lib/fixoldbrowsers");var be=Ce("./lib/dom"),ye=Ce("./lib/event"),we=Ce("./range").Range,Se=Ce("./editor").Editor,xe=Ce("./edit_session").EditSession,ke=Ce("./undomanager").UndoManager,Ee=Ce("./virtual_renderer").VirtualRenderer;Ce("./worker/worker_client"),Ce("./keyboard/hash_handler"),Ce("./placeholder"),Ce("./multi_select"),Ce("./mode/folding/fold_mode"),Ce("./theme/textmate"),Ce("./ext/error_marker"),Ie.config=Ce("./config"),Ie.require=Ce,Ie.define=ve.amdD,Ie.edit=function(Ce,ve){if("string"==typeof Ce){var Ae=Ce;if(!(Ce=document.getElementById(Ae)))throw new Error("ace.edit can't find div #"+Ae)}if(Ce&&Ce.env&&Ce.env.editor instanceof Se)return Ce.env.editor;Ae="";var we,xe={document:(Ce&&/input|textarea/i.test(Ce.tagName)?(Ae=(we=Ce).value,Ce=be.createElement("pre"),we.parentNode.replaceChild(Ce,we)):Ce&&(Ae=Ce.textContent,Ce.innerHTML=""),Ae=Ie.createEditSession(Ae)),editor:Ce=new Se(new Ee(Ce),Ae,ve),onResize:Ce.resize.bind(Ce,null)};return we&&(xe.textarea=we),ye.addListener(window,"resize",xe.onResize),Ce.on("destroy",(function(){ye.removeListener(window,"resize",xe.onResize),xe.editor.container.env=null})),Ce.container.env=Ce.env=xe,Ce},Ie.createEditSession=function(Ce,Ie){return(Ce=new xe(Ce,Ie)).setUndoManager(new ke),Ce},Ie.Range=we,Ie.Editor=Se,Ie.EditSession=xe,Ie.UndoManager=ke,Ie.VirtualRenderer=Ee,Ie.version=Ie.config.version})),ace.require(["ace/ace"],(function(Ie){for(var ve in Ie&&(Ie.config.init(!0),Ie.define=ace.define),window.ace||(window.ace=Ie),Ie)Ie.hasOwnProperty(ve)&&(window.ace[ve]=Ie[ve]);window.ace.default=window.ace,Ce&&(Ce.exports=window.ace)}))},3330:function(Ce,Ie,ve){Ce=ve.nmd(Ce),ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],(function(Ce,Ie,ve){"use strict";function i(Ce,Ie,ve){var be=Ae.createElement("div");Ae.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:"Search for",spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},""],["span",{action:"findNext",class:"ace_searchbtn next"},""],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},"All"]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:"Replace with",spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},"Replace"],["span",{action:"replaceAll",class:"ace_searchbtn"},"All"]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:"Toggle Replace mode",style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:"RegExp Search"},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:"CaseSensitive Search"},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:"Whole Word Search"},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:"Search In Selection"},"S"]]],be),this.element=be.firstChild,this.setSession=this.setSession.bind(this),this.$init(),this.setEditor(Ce),Ae.importCssString(we,"ace_searchbox",Ce.container)}var Ae=Ce("../lib/dom"),be=Ce("../lib/lang"),ye=Ce("../lib/event"),we='.ace_search {background-color: #ddd;color: #666;border: 1px solid #cbcbcb;border-top: 0 none;overflow: hidden;margin: 0;padding: 4px 6px 0 4px;position: absolute;top: 0;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {margin: 0 20px 4px 0;overflow: hidden;line-height: 1.9;}.ace_replace_form {margin-right: 0;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {border-radius: 3px 0 0 3px;background-color: white;color: black;border: 1px solid #cbcbcb;border-right: 0 none;outline: 0;padding: 0;font-size: inherit;margin: 0;line-height: inherit;padding: 0 6px;min-width: 17em;vertical-align: top;min-height: 1.8em;box-sizing: content-box;}.ace_searchbtn {border: 1px solid #cbcbcb;line-height: inherit;display: inline-block;padding: 0 6px;background: #fff;border-right: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;margin: 0;position: relative;color: #666;}.ace_searchbtn:last-child {border-radius: 0 3px 3px 0;border-right: 1px solid #cbcbcb;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn:hover {background-color: #eef1f6;}.ace_searchbtn.prev, .ace_searchbtn.next {padding: 0px 0.7em}.ace_searchbtn.prev:after, .ace_searchbtn.next:after {content: "";border: solid 2px #888;width: 0.5em;height: 0.5em;border-width: 2px 0 0 2px;display:inline-block;transform: rotate(-45deg);}.ace_searchbtn.next:after {border-width: 0 2px 2px 0 ;}.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;font: 16px/16px Arial;padding: 0;height: 14px;width: 14px;top: 9px;right: 7px;position: absolute;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;box-sizing: border-box!important;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;clear: both;}.ace_search_counter {float: left;font-family: arial;padding: 0 8px;}',Se=Ce("../keyboard/hash_handler").HashHandler,xe=Ce("../lib/keys");Ae.importCssString(we,"ace_searchbox",!1),function(){this.setEditor=function(Ce){Ce.searchBox=this,Ce.renderer.scroller.appendChild(this.element),this.editor=Ce},this.setSession=function(Ce){this.searchRange=null,this.$syncOptions(!0)},this.$initElements=function(Ce){this.searchBox=Ce.querySelector(".ace_search_form"),this.replaceBox=Ce.querySelector(".ace_replace_form"),this.searchOption=Ce.querySelector("[action=searchInSelection]"),this.replaceOption=Ce.querySelector("[action=toggleReplace]"),this.regExpOption=Ce.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=Ce.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=Ce.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=Ce.querySelector(".ace_search_counter")},this.$init=function(){var Ce=this.element,Ie=(this.$initElements(Ce),this);ye.addListener(Ce,"mousedown",(function(Ce){setTimeout((function(){Ie.activeInput.focus()}),0),ye.stopPropagation(Ce)})),ye.addListener(Ce,"click",(function(Ce){var ve=(Ce.target||Ce.srcElement).getAttribute("action");ve&&Ie[ve]?Ie[ve]():Ie.$searchBarKb.commands[ve]&&Ie.$searchBarKb.commands[ve].exec(Ie),ye.stopPropagation(Ce)})),ye.addCommandKeyListener(Ce,(function(Ce,ve,Ae){Ae=xe.keyCodeToString(Ae),(ve=Ie.$searchBarKb.findKeyCommand(ve,Ae))&&ve.exec&&(ve.exec(Ie),ye.stopEvent(Ce))})),this.$onChange=be.delayedCall((function(){Ie.find(!1,!1)})),ye.addListener(this.searchInput,"input",(function(){Ie.$onChange.schedule(20)})),ye.addListener(this.searchInput,"focus",(function(){Ie.activeInput=Ie.searchInput,Ie.searchInput.value&&Ie.highlight()})),ye.addListener(this.replaceInput,"focus",(function(){Ie.activeInput=Ie.replaceInput,Ie.searchInput.value&&Ie.highlight()}))},this.$closeSearchBarKb=new Se([{bindKey:"Esc",name:"closeSearchBar",exec:function(Ce){Ce.searchBox.hide()}}]),this.$searchBarKb=new Se,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f":function(Ce){var Ie=Ce.isReplace=!Ce.isReplace;Ce.replaceBox.style.display=Ie?"":"none",Ce.replaceOption.checked=!1,Ce.$syncOptions(),Ce.searchInput.focus()},"Ctrl-H|Command-Option-F":function(Ce){Ce.editor.getReadOnly()||(Ce.replaceOption.checked=!0,Ce.$syncOptions(),Ce.replaceInput.focus())},"Ctrl-G|Command-G":function(Ce){Ce.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(Ce){Ce.findPrev()},esc:function(Ce){setTimeout((function(){Ce.hide()}))},Return:function(Ce){Ce.activeInput==Ce.replaceInput&&Ce.replace(),Ce.findNext()},"Shift-Return":function(Ce){Ce.activeInput==Ce.replaceInput&&Ce.replace(),Ce.findPrev()},"Alt-Return":function(Ce){Ce.activeInput==Ce.replaceInput&&Ce.replaceAll(),Ce.findAll()},Tab:function(Ce){(Ce.activeInput==Ce.replaceInput?Ce.searchInput:Ce.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(Ce){Ce.regExpOption.checked=!Ce.regExpOption.checked,Ce.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(Ce){Ce.caseSensitiveOption.checked=!Ce.caseSensitiveOption.checked,Ce.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(Ce){Ce.wholeWordOption.checked=!Ce.wholeWordOption.checked,Ce.$syncOptions()}},{name:"toggleReplace",exec:function(Ce){Ce.replaceOption.checked=!Ce.replaceOption.checked,Ce.$syncOptions()}},{name:"searchInSelection",exec:function(Ce){Ce.searchOption.checked=!Ce.searchRange,Ce.setSearchRange(Ce.searchOption.checked&&Ce.editor.getSelectionRange()),Ce.$syncOptions()}}]),this.setSearchRange=function(Ce){(this.searchRange=Ce)?this.searchRangeMarker=this.editor.session.addMarker(Ce,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},this.$syncOptions=function(Ce){Ae.setCssClass(this.replaceOption,"checked",this.searchRange),Ae.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",Ae.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),Ae.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),Ae.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var Ie=this.editor.getReadOnly();this.replaceOption.style.display=Ie?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!Ie?"":"none",this.find(!1,!1,Ce)},this.highlight=function(Ce){this.editor.session.highlight(Ce||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(Ce,Ie,ve){Ce=!this.editor.find(this.searchInput.value,{skipCurrent:Ce,backwards:Ie,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:ve,range:this.searchRange})&&this.searchInput.value,Ae.setCssClass(this.searchBox,"ace_nomatch",Ce),this.editor._emit("findSearchBox",{match:!Ce}),this.highlight(),this.updateCounter()},this.updateCounter=function(){var Ce=this.editor,Ie=Ce.$search.$options.re,ve=0,Ae=0;if(Ie){var be,ye,we=this.searchRange?Ce.session.getTextRange(this.searchRange):Ce.getValue(),Se=Ce.session.doc.positionToIndex(Ce.selection.anchor);for(this.searchRange&&(Se-=Ce.session.doc.positionToIndex(this.searchRange.start)),Ie.lastIndex=0;(ye=Ie.exec(we))&&((be=ye.index)<=Se&&Ae++,!(999<++ve))&&(ye[0]||(Ie.lastIndex=be+=1,!(be>=we.length))););}this.searchCounter.textContent=Ae+" of "+(999<ve?"999+":ve)},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var Ce=!this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked})&&this.searchInput.value;Ae.setCssClass(this.searchBox,"ace_nomatch",Ce),this.editor._emit("findSearchBox",{match:!Ce}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(Ce,Ie){this.active=!0,this.editor.on("changeSession",this.setSession),this.element.style.display="",this.replaceOption.checked=Ie,Ce&&(this.searchInput.value=Ce),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},this.isFocused=function(){var Ce=document.activeElement;return Ce==this.searchInput||Ce==this.replaceInput}}.call(i.prototype),Ie.SearchBox=i,Ie.Search=function(Ce,Ie){(Ce.searchBox||new i(Ce)).show(Ce.session.getTextRange(),Ie)}})),ace.require(["ace/ext/searchbox"],(function(Ie){Ce&&(Ce.exports=Ie)}))},4091:function(Ce,Ie,ve){Ce=ve.nmd(Ce),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(Ce,Ie,ve){"use strict";function n(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}}var Ae=Ce("../lib/oop");Ce=Ce("./text_highlight_rules").TextHighlightRules,Ae.inherits(n,Ce),Ie.JsonHighlightRules=n})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(Ce,Ie,ve){"use strict";function n(){}var Ae=Ce("../range").Range;(function(){this.checkOutdent=function(Ce,Ie){return!!/^\s+$/.test(Ce)&&/^\s*\}/.test(Ie)},this.autoOutdent=function(Ce,Ie){if(!(ve=Ce.getLine(Ie).match(/^(\s*\})/)))return 0;var ve=ve[1].length,be=Ce.findMatchingBracket({row:Ie,column:ve});if(!be||be.row==Ie)return 0;be=this.$getIndent(Ce.getLine(be.row)),Ce.replace(new Ae(Ie,0,Ie,ve-1),be)},this.$getIndent=function(Ce){return Ce.match(/^\s*/)[0]}}).call(n.prototype),Ie.MatchingBraceOutdent=n})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(Ce,Ie,ve){"use strict";var Ae=Ce("../../lib/oop"),be=Ce("../../range").Range;Ce=Ce("./fold_mode").FoldMode,Ie=Ie.FoldMode=function(Ce){Ce&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+Ce.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+Ce.end)))},Ae.inherits(Ie,Ce),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(Ce,Ie,ve){var Ae=Ce.getLine(ve);return!this.singleLineBlockCommentRe.test(Ae)||this.startRegionRe.test(Ae)||this.tripleStarBlockCommentRe.test(Ae)?!(Ce=this._getFoldWidgetBase(Ce,Ie,ve))&&this.startRegionRe.test(Ae)?"start":Ce:""},this.getFoldWidgetRange=function(Ce,Ie,ve,Ae){var be=Ce.getLine(ve);if(this.startRegionRe.test(be))return this.getCommentRegionBlock(Ce,be,ve);var ye=be.match(this.foldingStartMarker);if(ye){var we=ye.index;if(ye[1])return this.openingBracketBlock(Ce,ye[1],ve,we);var Se=Ce.getCommentFoldRange(ve,we+ye[0].length,1);return Se&&!Se.isMultiLine()&&(Ae?Se=this.getSectionRange(Ce,ve):"all"!=Ie&&(Se=null)),Se}return"markbegin"!==Ie&&(ye=be.match(this.foldingStopMarker))?(we=ye.index+ye[0].length,ye[1]?this.closingBracketBlock(Ce,ye[1],ve,we):Ce.getCommentFoldRange(ve,we,-1)):void 0},this.getSectionRange=function(Ce,Ie){for(var ve=(xe=Ce.getLine(Ie)).search(/\S/),Ae=Ie,ye=xe.length,we=Ie+=1,Se=Ce.getLength();++Ie<Se;){var xe,ke=(xe=Ce.getLine(Ie)).search(/\S/);if(-1!==ke){if(ke<ve)break;var Ee=this.getFoldWidgetRange(Ce,"all",Ie);if(Ee){if(Ee.start.row<=Ae)break;if(Ee.isMultiLine())Ie=Ee.end.row;else if(ve==ke)break}we=Ie}}return new be(Ae,ye,we,Ce.getLine(we).length)},this.getCommentRegionBlock=function(Ce,Ie,ve){for(var Ae=Ie.search(/\s*$/),ye=Ce.getLength(),we=ve,Se=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,xe=1;++ve<ye;){Ie=Ce.getLine(ve);var ke=Se.exec(Ie);if(ke&&(ke[1]?xe--:xe++,!xe))break}if(we<ve)return new be(we,Ae,ve,Ie.length)}}.call(Ie.prototype)})),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],(function(Ce,Ie,ve){"use strict";function i(){this.HighlightRules=ye,this.$outdent=new we,this.$behaviour=new Se,this.foldingRules=new xe}var Ae=Ce("../lib/oop"),be=Ce("./text").Mode,ye=Ce("./json_highlight_rules").JsonHighlightRules,we=Ce("./matching_brace_outdent").MatchingBraceOutdent,Se=Ce("./behaviour/cstyle").CstyleBehaviour,xe=Ce("./folding/cstyle").FoldMode,ke=Ce("../worker/worker_client").WorkerClient;Ae.inherits(i,be),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(Ce,Ie,ve){var Ae=this.$getIndent(Ie);return"start"==Ce&&Ie.match(/^.*[\{\(\[]\s*$/)&&(Ae+=ve),Ae},this.checkOutdent=function(Ce,Ie,ve){return this.$outdent.checkOutdent(Ie,ve)},this.autoOutdent=function(Ce,Ie,ve){this.$outdent.autoOutdent(Ie,ve)},this.createWorker=function(Ce){var Ie=new ke(["ace"],"ace/mode/json_worker","JsonWorker");return Ie.attachToDocument(Ce.getDocument()),Ie.on("annotate",(function(Ie){Ce.setAnnotations(Ie.data)})),Ie.on("terminate",(function(){Ce.clearAnnotations()})),Ie},this.$id="ace/mode/json"}.call(i.prototype),Ie.Mode=i})),ace.require(["ace/mode/json"],(function(Ie){Ce&&(Ce.exports=Ie)}))},8903:function(Ce,Ie,ve){"use strict";var be=ve(5689),ye=ve(3969),we=ve(5255),Se=ve(4293),xe=ve(3508),ke=ve(3368),Ee=ve(742),Re=ve(9394),_e=ve(3724),$e=((Ce.exports=f).prototype.validate=function(Ce,Ie){var ve;if("string"==typeof Ce){if(!(ve=this.getSchema(Ce)))throw new Error('no schema with key or ref "'+Ce+'"')}else ve=(Ce=this._addSchema(Ce)).validate||this._compile(Ce);return Ce=ve(Ie),!0!==ve.$async&&(this.errors=ve.errors),Ce},f.prototype.compile=function(Ce,Ie){return(Ce=this._addSchema(Ce,void 0,Ie)).validate||this._compile(Ce)},f.prototype.addSchema=function(Ce,Ie,ve,Ae){if(Array.isArray(Ce)){for(var be=0;be<Ce.length;be++)this.addSchema(Ce[be],void 0,ve,Ae);return this}var we=this._getId(Ce);if(void 0!==we&&"string"!=typeof we)throw new Error("schema id must be string");return h(this,Ie=ye.normalizeId(Ie||we)),this._schemas[Ie]=this._addSchema(Ce,ve,Ae,!0),this},f.prototype.addMetaSchema=function(Ce,Ie,ve){return this.addSchema(Ce,Ie,ve,!0),this},f.prototype.validateSchema=function(Ce,Ie){var ve=Ce.$schema;if(void 0!==ve&&"string"!=typeof ve)throw new Error("$schema must be a string");if(!(ve=ve||this._opts.defaultMeta||function(Ce){var Ie=Ce._opts.meta;return Ce._opts.defaultMeta="object"==typeof Ie?Ce._getId(Ie)||Ie:Ce.getSchema($e)?$e:void 0,Ce._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),!(this.errors=null);if(!(ve=this.validate(ve,Ce))&&Ie){if(Ce="schema is invalid: "+this.errorsText(),"log"!=this._opts.validateSchema)throw new Error(Ce);this.logger.error(Ce)}return ve},f.prototype.getSchema=function(Ce){var Ie=n(this,Ce);switch(typeof Ie){case"object":return Ie.validate||this._compile(Ie);case"string":return this.getSchema(Ie);case"undefined":return function(Ce,Ie){var ve,Ae,we,xe=ye.schema.call(Ce,{schema:{}},Ie);if(xe)return ve=xe.schema,Ae=xe.root,xe=xe.baseId,we=be.call(Ce,ve,Ae,void 0,xe),Ce._fragments[Ie]=new Se({ref:Ie,fragment:!0,schema:ve,root:Ae,baseId:xe,validate:we}),we}(this,Ce)}},f.prototype.removeSchema=function(Ce){if(Ce instanceof RegExp)return i(this,this._schemas,Ce),i(this,this._refs,Ce),this;switch(typeof Ce){case"undefined":return i(this,this._schemas),i(this,this._refs),this._cache.clear(),this;case"string":var Ie=n(this,Ce);return Ie&&this._cache.del(Ie.cacheKey),delete this._schemas[Ce],delete this._refs[Ce],this;case"object":Ie=(Ie=this._opts.serialize)?Ie(Ce):Ce,this._cache.del(Ie),(Ie=this._getId(Ce))&&(Ie=ye.normalizeId(Ie),delete this._schemas[Ie],delete this._refs[Ie])}return this},f.prototype.addFormat=function(Ce,Ie){return"string"==typeof Ie&&(Ie=new RegExp(Ie)),this._formats[Ce]=Ie,this},f.prototype.errorsText=function(Ce,Ie){if(!(Ce=Ce||this.errors))return"No errors";for(var ve=void 0===(Ie=Ie||{}).separator?", ":Ie.separator,Ae=void 0===Ie.dataVar?"data":Ie.dataVar,be="",ye=0;ye<Ce.length;ye++){var we=Ce[ye];we&&(be+=Ae+we.dataPath+" "+we.message+ve)}return be.slice(0,-ve.length)},f.prototype._addSchema=function(Ce,Ie,ve,Ae){if("object"!=typeof Ce&&"boolean"!=typeof Ce)throw new Error("schema should be object or boolean");var be,we=(we=this._opts.serialize)?we(Ce):Ce,xe=this._cache.get(we);if(xe)return xe;Ae=Ae||!1!==this._opts.addUsedSchema,(xe=ye.normalizeId(this._getId(Ce)))&&Ae&&h(this,xe),(Ie=!1!==this._opts.validateSchema&&!Ie)&&!(be=xe&&xe==ye.normalizeId(Ce.$schema))&&this.validateSchema(Ce,!0);var ke=ye.ids.call(this,Ce);return ke=new Se({id:xe,schema:Ce,localRefs:ke,cacheKey:we,meta:ve}),"#"!=xe[0]&&Ae&&(this._refs[xe]=ke),this._cache.put(we,ke),Ie&&be&&this.validateSchema(Ce,!0),ke},f.prototype._compile=function(Ce,Ie){if(Ce.compiling)return(Ce.validate=r).schema=Ce.schema,r.errors=null,r.root=Ie||r,!0===Ce.schema.$async&&(r.$async=!0),r;var ve,Ae;Ce.compiling=!0,Ce.meta&&(ve=this._opts,this._opts=this._metaOpts);try{Ae=be.call(this,Ce.schema,Ie,Ce.localRefs)}catch(Ie){throw delete Ce.validate,Ie}finally{Ce.compiling=!1,Ce.meta&&(this._opts=ve)}return Ce.validate=Ae,Ce.refs=Ae.refs,Ce.refVal=Ae.refVal,Ce.root=Ae.root,Ae;function r(){var Ie=Ce.validate,ve=Ie.apply(this,arguments);return r.errors=Ie.errors,ve}},f.prototype.compileAsync=ve(9677),Ce=ve(7931),f.prototype.addKeyword=Ce.add,f.prototype.getKeyword=Ce.get,f.prototype.removeKeyword=Ce.remove,f.prototype.validateKeyword=Ce.validate,Ce=ve(5359),f.ValidationError=Ce.Validation,f.MissingRefError=Ce.MissingRef,f.$dataMetaSchema=Re,"http://json-schema.org/draft-07/schema"),Le=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],Be=["/properties"];function f(Ce){if(!(this instanceof f))return new f(Ce);Ce=this._opts=_e.copy(Ce)||{};var Ie=(Fe=this)._opts.logger;if(!1===Ie)Fe.logger={log:C,warn:C,error:C};else{if(!("object"==typeof(Ie=void 0===Ie?Ae:Ie)&&Ie.log&&Ie.warn&&Ie.error))throw new Error("logger must implement log, warn and error methods");Fe.logger=Ie}if(this._schemas={},this._refs={},this._fragments={},this._formats=ke(Ce.format),this._cache=Ce.cache||new we,this._loadingSchemas={},this._compilations=[],this.RULES=Ee(),this._getId=function(Ce){switch(Ce.schemaId){case"auto":return E;case"id":return x;default:return k}}(Ce),Ce.loopRequired=Ce.loopRequired||1/0,"property"==Ce.errorDataPath&&(Ce._errorDataPathProperty=!0),void 0===Ce.serialize&&(Ce.serialize=xe),this._metaOpts=function(Ce){for(var Ie=_e.copy(Ce._opts),ve=0;ve<Le.length;ve++)delete Ie[Le[ve]];return Ie}(this),Ce.formats){var be,ye=this;for(be in ye._opts.formats){var Se=ye._opts.formats[be];ye.addFormat(be,Se)}}if(Ce.keywords){var We,Ne=this;for(We in Ne._opts.keywords){var Ge=Ne._opts.keywords[We];Ne.addKeyword(We,Ge)}}var Pe,Fe,He=((Fe=this)._opts.$data&&(Pe=ve(894),Fe.addMetaSchema(Pe,Pe.$id,!0)),!1!==Fe._opts.meta&&(Pe=ve(6680),Fe._opts.$data&&(Pe=Re(Pe,Be)),Fe.addMetaSchema(Pe,$e,!0),Fe._refs["http://json-schema.org/schema"]=$e),"object"==typeof Ce.meta&&this.addMetaSchema(Ce.meta),Ce.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),this),Ve=He._opts.schemas;if(Ve)if(Array.isArray(Ve))He.addSchema(Ve);else for(var Ze in Ve)He.addSchema(Ve[Ze],Ze)}function n(Ce,Ie){return Ie=ye.normalizeId(Ie),Ce._schemas[Ie]||Ce._refs[Ie]||Ce._fragments[Ie]}function i(Ce,Ie,ve){for(var Ae in Ie){var be=Ie[Ae];be.meta||ve&&!ve.test(Ae)||(Ce._cache.del(be.cacheKey),delete Ie[Ae])}}function x(Ce){return Ce.$id&&this.logger.warn("schema $id ignored",Ce.$id),Ce.id}function k(Ce){return Ce.id&&this.logger.warn("schema id ignored",Ce.id),Ce.$id}function E(Ce){if(Ce.$id&&Ce.id&&Ce.$id!=Ce.id)throw new Error("schema $id is different from id");return Ce.$id||Ce.id}function h(Ce,Ie){if(Ce._schemas[Ie]||Ce._refs[Ie])throw new Error('schema with key or id "'+Ie+'" already exists')}function C(){}},5255:function(Ce){"use strict";(Ce=Ce.exports=function(){this._cache={}}).prototype.put=function(Ce,Ie){this._cache[Ce]=Ie},Ce.prototype.get=function(Ce){return this._cache[Ce]},Ce.prototype.del=function(Ce){delete this._cache[Ce]},Ce.prototype.clear=function(){this._cache={}}},9677:function(Ce,Ie,ve){"use strict";var Ae=ve(5359).MissingRef;function r(Ce,Ie,ve){var be=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof Ie&&(ve=Ie,Ie=void 0);var ye=l(Ce).then((function(){var ve=be._addSchema(Ce,void 0,Ie);return ve.validate||function r(Ce){try{return be._compile(Ce)}catch(Ce){if(Ce instanceof Ae)return t(Ce);throw Ce}function t(ve){var Ae=ve.missingSchema;if(n(Ae))throw new Error("Schema "+Ae+" is loaded but "+ve.missingRef+" cannot be resolved");return(ve=be._loadingSchemas[Ae])||(ve=be._loadingSchemas[Ae]=be._opts.loadSchema(Ae)).then(i,i),ve.then((function(Ce){if(!n(Ae))return l(Ce).then((function(){n(Ae)||be.addSchema(Ce,Ae,void 0,Ie)}))})).then((function(){return r(Ce)}));function i(){delete be._loadingSchemas[Ae]}function n(Ce){return be._refs[Ce]||be._schemas[Ce]}}}(ve)}));return ve&&ye.then((function(Ce){ve(null,Ce)}),ve),ye;function l(Ce){return(Ce=Ce.$schema)&&!be.getSchema(Ce)?r.call(be,{$ref:Ce},!0):Promise.resolve()}}Ce.exports=r},5359:function(Ce,Ie,ve){"use strict";var Ae=ve(3969);function r(Ce,Ie,ve){this.message=ve||r.message(Ce,Ie),this.missingRef=Ae.url(Ce,Ie),this.missingSchema=Ae.normalizeId(Ae.fullPath(this.missingRef))}function o(Ce){return Ce.prototype=Object.create(Error.prototype),Ce.prototype.constructor=Ce}Ce.exports={Validation:o((function(Ce){this.message="validation failed",this.errors=Ce,this.ajv=this.validation=!0})),MissingRef:o(r)},r.message=function(Ce,Ie){return"can't resolve reference "+Ie+" from id "+Ce}},3368:function(Ce,Ie,ve){"use strict";var Ae=ve(3724),be=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,ye=[0,31,28,31,30,31,30,31,31,30,31,30,31],we=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,Se=(ve=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i),xe=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,ke=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,Ee=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Re=/^(?:\/(?:[^~/]|~0|~1)*)*$/,_e=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,$e=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function a(Ce){return Ae.copy(a[Ce="full"==Ce?"full":"fast"])}function l(Ce){if(!(Ce=Ce.match(be)))return!1;var Ie=+Ce[1],ve=+Ce[2];return Ce=+Ce[3],1<=ve&&ve<=12&&1<=Ce&&Ce<=(2!=ve||(Ce=Ie)%4!=0||Ce%100==0&&Ce%400!=0?ye[ve]:29)}function c(Ce,Ie){if(!(Ce=Ce.match(we)))return!1;var ve=Ce[1],Ae=Ce[2],be=Ce[3];return Ce=Ce[5],(ve<=23&&Ae<=59&&be<=59||23==ve&&59==Ae&&60==be)&&(!Ie||Ce)}(Ce.exports=a).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":xe,url:ke,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:ve,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:A,uuid:Ee,"json-pointer":Re,"json-pointer-uri-fragment":_e,"relative-json-pointer":$e},a.full={date:l,time:c,"date-time":function(Ce){return 2==(Ce=Ce.split(Le)).length&&l(Ce[0])&&c(Ce[1],!0)},uri:function(Ce){return Be.test(Ce)&&Se.test(Ce)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":xe,url:ke,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:ve,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:A,uuid:Ee,"json-pointer":Re,"json-pointer-uri-fragment":_e,"relative-json-pointer":$e};var Le=/t|\s/i,Be=/\/|:/,We=/[^\\]\\Z/;function A(Ce){if(We.test(Ce))return!1;try{return new RegExp(Ce),!0}catch(Ce){return!1}}},5689:function(Ce,Ie,ve){"use strict";var Ae=ve(3969),be=ve(3724),ye=ve(5359),we=ve(3508),Se=ve(1869),xe=be.ucs2length,ke=ve(2303),Ee=ye.Validation;function L(Ce,Ie,ve,Re){var _e=this,$e=this._opts,Le=[void 0],Be={},We=[],Ne={},Ge=[],Pe={},Fe=[],He=function(Ce,Ie,ve){var Ae=B.call(this,Ce,Ie,ve);return 0<=Ae?{index:Ae,compiling:!0}:(Ae=this._compilations.length,this._compilations[Ae]={schema:Ce,root:Ie,baseId:ve},{index:Ae,compiling:!1})}.call(this,Ce,Ie=Ie||{schema:Ce,refVal:Le,refs:Be},Re),Ve=this._compilations[He.index];if(He.compiling)return Ve.callValidate=v;var Ze=this._formats,Me=this.RULES;try{var Oe=A(Ce,Ie,ve,Re),De=(Ve.validate=Oe,Ve.callValidate);return De&&(De.schema=Oe.schema,De.errors=null,De.refs=Oe.refs,De.refVal=Oe.refVal,De.root=Oe.root,De.$async=Oe.$async,$e.sourceCode&&(De.source=Oe.source)),Oe}finally{(function(Ce,Ie,ve){0<=(Ce=B.call(this,Ce,Ie,ve))&&this._compilations.splice(Ce,1)}).call(this,Ce,Ie,Re)}function v(){var Ce=Ve.validate,Ie=Ce.apply(this,arguments);return v.errors=Ce.errors,Ie}function A(Ce,ve,we,Re){var Ne=!ve||ve.schema==Ce;if(ve.schema!=Ie.schema)return L.call(_e,Ce,ve,we,Re);we=!0===Ce.$async,Re=Se({isTop:!0,schema:Ce,isRoot:Ne,baseId:Re,root:ve,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:ye.MissingRef,RULES:Me,validate:Se,util:be,resolve:Ae,resolveRef:b,usePattern:S,useDefault:x,useCustomRule:k,opts:$e,formats:Ze,logger:_e.logger,self:_e}),Re=W(Le,V)+W(We,F)+W(Ge,H)+W(Fe,Z)+Re,$e.processCode&&(Re=$e.processCode(Re,Ce));try{var Pe=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",Re)(_e,Me,Ze,Ie,Le,Ge,Fe,ke,xe,Ee);Le[0]=Pe}catch(Ce){throw _e.logger.error("Error compiling schema, function code:",Re),Ce}return Pe.schema=Ce,Pe.errors=null,Pe.refs=Be,Pe.refVal=Le,Pe.root=Ne?Pe:ve,we&&(Pe.$async=!0),!0===$e.sourceCode&&(Pe.source={code:Re,patterns:We,defaults:Ge}),Pe}function b(Ce,be,ye){be=Ae.url(Ce,be);var we=Be[be];if(void 0!==we)return w(Se=Le[we],xe="refVal["+we+"]");if(!ye&&Ie.refs&&void 0!==(we=Ie.refs[be]))return w(Se=Ie.refVal[we],xe=y(be,Se));var Se,xe=y(be);if(void 0!==(ye=Ae.call(_e,A,Ie,be))||(we=ve&&ve[be])&&(ye=Ae.inlineRef(we,$e.inlineRefs)?we:L.call(_e,we,Ie,ve,Ce)),void 0!==ye)return Se=ye,we=Be[we=be],Le[we]=Se,w(ye,xe);delete Be[be]}function y(Ce,Ie){var ve=Le.length;return Le[ve]=Ie,"refVal"+(Be[Ce]=ve)}function w(Ce,Ie){return"object"==typeof Ce||"boolean"==typeof Ce?{code:Ie,schema:Ce,inline:!0}:{code:Ie,$async:Ce&&!!Ce.$async}}function S(Ce){var Ie=Ne[Ce];return void 0===Ie&&(Ie=Ne[Ce]=We.length,We[Ie]=Ce),"pattern"+Ie}function x(Ce){switch(typeof Ce){case"boolean":case"number":return""+Ce;case"string":return be.toQuotedString(Ce);case"object":if(null===Ce)return"null";var Ie=we(Ce),ve=Pe[Ie];return void 0===ve&&(ve=Pe[Ie]=Ge.length,Ge[ve]=Ce),"default"+ve}}function k(Ce,Ie,ve,Ae){if(!1!==_e._opts.validateSchema){if((ye=Ce.definition.dependencies)&&!ye.every((function(Ce){return Object.prototype.hasOwnProperty.call(ve,Ce)})))throw new Error("parent schema must have all required keywords: "+ye.join(","));if((ye=Ce.definition.validateSchema)&&!ye(Ie)){if(ye="keyword schema is invalid: "+_e.errorsText(ye.errors),"log"!=_e._opts.validateSchema)throw new Error(ye);_e.logger.error(ye)}}var be,ye=Ce.definition.compile,we=Ce.definition.inline,Se=Ce.definition.macro;if(ye)be=ye.call(_e,Ie,ve,Ae);else if(Se)be=Se.call(_e,Ie,ve,Ae),!1!==$e.validateSchema&&_e.validateSchema(be,!0);else if(we)be=we.call(_e,Ae,Ce.keyword,Ie,ve);else if(!(be=Ce.definition.validate))return;if(void 0===be)throw new Error('custom keyword "'+Ce.keyword+'"failed to compile');return{code:"customRule"+(ye=Fe.length),validate:Fe[ye]=be}}}function B(Ce,Ie,ve){for(var Ae=0;Ae<this._compilations.length;Ae++){var be=this._compilations[Ae];if(be.schema==Ce&&be.root==Ie&&be.baseId==ve)return Ae}return-1}function F(Ce,Ie){return"var pattern"+Ce+" = new RegExp("+be.toQuotedString(Ie[Ce])+");"}function H(Ce){return"var default"+Ce+" = defaults["+Ce+"];"}function V(Ce,Ie){return void 0===Ie[Ce]?"":"var refVal"+Ce+" = refVal["+Ce+"];"}function Z(Ce){return"var customRule"+Ce+" = customRules["+Ce+"];"}function W(Ce,Ie){if(!Ce.length)return"";for(var ve="",Ae=0;Ae<Ce.length;Ae++)ve+=Ie(Ae,Ce);return ve}Ce.exports=L},3969:function(Ce,Ie,ve){"use strict";var Ae=ve(7533),be=ve(2303),ye=ve(3724),we=ve(4293),Se=ve(500);function l(Ce,Ie,ve){var Ae,be,ye,Se;if("string"==typeof(Se=this._refs[ve])){if(!this._refs[Se])return l.call(this,Ce,Ie,Se);Se=this._refs[Se]}return(Se=Se||this._schemas[ve])instanceof we?h(Se.schema,this._opts.inlineRefs)?Se.schema:Se.validate||this._compile(Se):((Se=c.call(this,Ie,ve))&&(Ae=Se.schema,Ie=Se.root,ye=Se.baseId),Ae instanceof we?be=Ae.validate||Ce.call(this,Ae.schema,Ie,void 0,ye):void 0!==Ae&&(be=h(Ae,this._opts.inlineRefs)?Ae:Ce.call(this,Ae,Ie,void 0,ye)),be)}function c(Ce,Ie){var ve=Ae.parse(Ie),be=v(ve),ye=s(this._getId(Ce.schema));if(0===Object.keys(Ce.schema).length||be!==ye){be=m(be);var Se=this._refs[be];if("string"==typeof Se)return function(Ce,Ie,ve){var Ae,be;if(Ie=c.call(this,Ce,Ie))return Ae=Ie.schema,be=Ie.baseId,Ce=Ie.root,(Ie=this._getId(Ae))&&(be=d(be,Ie)),C.call(this,ve,be,Ae,Ce)}.call(this,Ce,Se,ve);if(Se instanceof we)Se.validate||this._compile(Se),Ce=Se;else{if(!((Se=this._schemas[be])instanceof we))return;if(Se.validate||this._compile(Se),be==m(Ie))return{schema:Se,root:Ce,baseId:ye};Ce=Se}if(!Ce.schema)return;ye=s(this._getId(Ce.schema))}return C.call(this,ve,ye,Ce.schema,Ce)}(Ce.exports=l).normalizeId=m,l.fullPath=s,l.url=d,l.ids=function(Ce){var Ie=m(this._getId(Ce)),ve={"":Ie},we={"":s(Ie,!1)},xe={},ke=this;return Se(Ce,{allKeys:!0},(function(Ce,Ie,Se,Ee,Re,_e,$e){if(""!==Ie){var Le=ke._getId(Ce),Be=ve[Ee];if(Ee=we[Ee]+"/"+Re,void 0!==$e&&(Ee+="/"+("number"==typeof $e?$e:ye.escapeFragment($e))),"string"==typeof Le)if(Le=Be=m(Be?Ae.resolve(Be,Le):Le),(Re="string"==typeof(Re=ke._refs[Le])?ke._refs[Re]:Re)&&Re.schema){if(!be(Ce,Re.schema))throw new Error('id "'+Le+'" resolves to more than one schema')}else if(Le!=m(Ee))if("#"==Le[0]){if(xe[Le]&&!be(Ce,xe[Le]))throw new Error('id "'+Le+'" resolves to more than one schema');xe[Le]=Ce}else ke._refs[Le]=Ee;ve[Ie]=Be,we[Ie]=Ee}})),xe},l.inlineRef=h,l.schema=c;var xe=ye.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function C(Ce,Ie,ve,Ae){if(Ce.fragment=Ce.fragment||"","/"==Ce.fragment.slice(0,1)){for(var be=Ce.fragment.split("/"),we=1;we<be.length;we++){var Se=be[we];if(Se){if(void 0===(ve=ve[Se=ye.unescapeFragment(Se)]))break;xe[Se]||((Se=this._getId(ve))&&(Ie=d(Ie,Se)),ve.$ref&&(Se=d(Ie,ve.$ref),(Se=c.call(this,Ae,Se))&&(ve=Se.schema,Ae=Se.root,Ie=Se.baseId)))}}return void 0!==ve&&ve!==Ae.schema?{schema:ve,root:Ae,baseId:Ie}:void 0}}var ke=ye.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function h(Ce,Ie){return!1!==Ie&&(void 0===Ie||!0===Ie?function e(Ce){var Ie;if(Array.isArray(Ce)){for(var ve=0;ve<Ce.length;ve++)if("object"==typeof(Ie=Ce[ve])&&!e(Ie))return!1}else for(var Ae in Ce){if("$ref"==Ae)return!1;if("object"==typeof(Ie=Ce[Ae])&&!e(Ie))return!1}return!0}(Ce):Ie?function e(Ce){var Ie,ve=0;if(Array.isArray(Ce)){for(var Ae=0;Ae<Ce.length;Ae++)if("object"==typeof(Ie=Ce[Ae])&&(ve+=e(Ie)),ve==1/0)return 1/0}else for(var be in Ce){if("$ref"==be)return 1/0;if(ke[be])ve++;else if("object"==typeof(Ie=Ce[be])&&(ve+=e(Ie)+1),ve==1/0)return 1/0}return ve}(Ce)<=Ie:void 0)}function s(Ce,Ie){return!1!==Ie&&(Ce=m(Ce)),v(Ae.parse(Ce))}function v(Ce){return Ae.serialize(Ce).split("#")[0]+"#"}var Ee=/#\/?$/;function m(Ce){return Ce?Ce.replace(Ee,""):""}function d(Ce,Ie){return Ie=m(Ie),Ae.resolve(Ce,Ie)}},742:function(Ce,Ie,ve){"use strict";var Ae=ve(9646),be=ve(3724).toHash;Ce.exports=function(){var Ce=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],Ie=["type","$comment"];return Ce.all=be(Ie),Ce.types=be(["number","integer","string","array","object","boolean","null"]),Ce.forEach((function(ve){ve.rules=ve.rules.map((function(ve){var be,ye;return"object"==typeof ve&&(ye=ve[be=Object.keys(ve)[0]],ve=be,ye.forEach((function(ve){Ie.push(ve),Ce.all[ve]=!0}))),Ie.push(ve),Ce.all[ve]={keyword:ve,code:Ae[ve],implements:ye}})),Ce.all.$comment={keyword:"$comment",code:Ae.$comment},ve.type&&(Ce.types[ve.type]=ve)})),Ce.keywords=be(Ie.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),Ce.custom={},Ce}},4293:function(Ce,Ie,ve){"use strict";var Ae=ve(3724);Ce.exports=function(Ce){Ae.copy(Ce,this)}},6887:function(Ce){"use strict";Ce.exports=function(Ce){for(var Ie,ve=0,Ae=Ce.length,be=0;be<Ae;)ve++,55296<=(Ie=Ce.charCodeAt(be++))&&Ie<=56319&&be<Ae&&56320==(64512&(Ie=Ce.charCodeAt(be)))&&be++;return ve}},3724:function(Ce,Ie,ve){"use strict";function o(Ce,Ie,ve,Ae){var be=Ae?" !== ":" === ",ye=Ae?" || ":" && ",we=Ae?"!":"",Se=Ae?"":"!";switch(Ce){case"null":return Ie+be+"null";case"array":return we+"Array.isArray("+Ie+")";case"object":return"("+we+Ie+ye+"typeof "+Ie+be+'"object"'+ye+Se+"Array.isArray("+Ie+"))";case"integer":return"(typeof "+Ie+be+'"number"'+ye+Se+"("+Ie+" % 1)"+ye+Ie+be+Ie+(ve?ye+we+"isFinite("+Ie+")":"")+")";case"number":return"(typeof "+Ie+be+'"'+Ce+'"'+(ve?ye+we+"isFinite("+Ie+")":"")+")";default:return"typeof "+Ie+be+'"'+Ce+'"'}}Ce.exports={copy:function(Ce,Ie){for(var ve in Ie=Ie||{},Ce)Ie[ve]=Ce[ve];return Ie},checkDataType:o,checkDataTypes:function(Ce,Ie,ve){if(1===Ce.length)return o(Ce[0],Ie,ve,!0);var Ae,be="";for(Ae in(Ce=a(Ce)).array&&Ce.object&&(be=Ce.null?"(":"(!"+Ie+" || ",be+="typeof "+Ie+' !== "object")',delete Ce.null,delete Ce.array,delete Ce.object),Ce.number&&delete Ce.integer,Ce)be+=(be?" && ":"")+o(Ae,Ie,ve,!0);return be},coerceToTypes:function(Ce,Ie){if(!Array.isArray(Ie))return Ae[Ie]?[Ie]:"array"===Ce&&"array"===Ie?["array"]:void 0;for(var ve=[],be=0;be<Ie.length;be++){var ye=Ie[be];(Ae[ye]||"array"===Ce&&"array"===ye)&&(ve[ve.length]=ye)}return ve.length?ve:void 0},toHash:a,getProperty:h,escapeQuotes:t,equal:ve(2303),ucs2length:ve(6887),varOccurences:function(Ce,Ie){return Ie+="[^0-9]",(Ce=Ce.match(new RegExp(Ie,"g")))?Ce.length:0},varReplace:function(Ce,Ie,ve){return Ie+="([^0-9])",ve=ve.replace(/\$/g,"$$$$"),Ce.replace(new RegExp(Ie,"g"),ve+"$1")},schemaHasRules:function(Ce,Ie){if("boolean"==typeof Ce)return!Ce;for(var ve in Ce)if(Ie[ve])return!0},schemaHasRulesExcept:function(Ce,Ie,ve){if("boolean"==typeof Ce)return!Ce&&"not"!=ve;for(var Ae in Ce)if(Ae!=ve&&Ie[Ae])return!0},schemaUnknownRules:function(Ce,Ie){if("boolean"!=typeof Ce)for(var ve in Ce)if(!Ie[ve])return ve},toQuotedString:n,getPathExpr:function(Ce,Ie,ve,Ae){return r(Ce,ve?"'/' + "+Ie+(Ae?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):Ae?"'[' + "+Ie+" + ']'":"'[\\'' + "+Ie+" + '\\']'")},getPath:function(Ce,Ie,ve){return r(Ce,ve=n(ve?"/"+l(Ie):h(Ie)))},getData:function(Ce,Ie,ve){var Ae,be,ye;if(""===Ce)return"rootData";if("/"==Ce[0]){if(!we.test(Ce))throw new Error("Invalid JSON-pointer: "+Ce);Ae=Ce,be="rootData"}else{if(!(ye=Ce.match(Se)))throw new Error("Invalid JSON-pointer: "+Ce);if(Ce=+ye[1],"#"==(Ae=ye[2])){if(Ie<=Ce)throw new Error("Cannot access property/index "+Ce+" levels up, current level is "+Ie);return ve[Ie-Ce]}if(Ie<Ce)throw new Error("Cannot access data "+Ce+" levels up, current level is "+Ie);if(be="data"+(Ie-Ce||""),!Ae)return be}for(var xe=be,ke=Ae.split("/"),Ee=0;Ee<ke.length;Ee++){var Re=ke[Ee];Re&&(xe+=" && "+(be+=h(d(Re))))}return xe},unescapeFragment:function(Ce){return d(decodeURIComponent(Ce))},unescapeJsonPointer:d,escapeFragment:function(Ce){return encodeURIComponent(l(Ce))},escapeJsonPointer:l};var Ae=a(["string","number","integer","boolean","null"]);function a(Ce){for(var Ie={},ve=0;ve<Ce.length;ve++)Ie[Ce[ve]]=!0;return Ie}var be=/^[a-z$_][a-z$_0-9]*$/i,ye=/'|\\/g;function h(Ce){return"number"==typeof Ce?"["+Ce+"]":be.test(Ce)?"."+Ce:"['"+t(Ce)+"']"}function t(Ce){return Ce.replace(ye,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}function n(Ce){return"'"+t(Ce)+"'"}var we=/^\/(?:[^~]|~0|~1)*$/,Se=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function r(Ce,Ie){return'""'==Ce?Ie:(Ce+" + "+Ie).replace(/([^\\])' \+ '/g,"$1")}function l(Ce){return Ce.replace(/~/g,"~0").replace(/\//g,"~1")}function d(Ce){return Ce.replace(/~1/g,"/").replace(/~0/g,"~")}},9394:function(Ce){"use strict";var Ie=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];Ce.exports=function(Ce,ve){for(var Ae=0;Ae<ve.length;Ae++){Ce=JSON.parse(JSON.stringify(Ce));for(var be=ve[Ae].split("/"),ye=Ce,we=1;we<be.length;we++)ye=ye[be[we]];for(we=0;we<Ie.length;we++){var Se=Ie[we],xe=ye[Se];xe&&(ye[Se]={anyOf:[xe,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]})}}return Ce}},5868:function(Ce,Ie,ve){"use strict";ve=ve(6680),Ce.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:ve.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:ve.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},1796:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be,ye,we,Se,xe=" ",ke=Ce.level,Ee=Ce.dataLevel,Re=Ce.schema[Ie],_e=Ce.schemaPath+Ce.util.getProperty(Ie),$e=Ce.errSchemaPath+"/"+Ie,Le=!Ce.opts.allErrors,Be="data"+(Ee||""),We=Ce.opts.$data&&Re&&Re.$data,Ne=We?(xe+=" var schema"+ke+" = "+Ce.util.getData(Re.$data,Ee,Ce.dataPathArr)+"; ","schema"+ke):Re,Ge="maximum"==Ie,Pe=Ge?"exclusiveMaximum":"exclusiveMinimum",Fe=Ce.schema[Pe],He=Ce.opts.$data&&Fe&&Fe.$data,Ve=Ge?"<":">",Ze=Ge?">":"<",Me=void 0;if(!We&&"number"!=typeof Re&&void 0!==Re)throw new Error(Ie+" must be number");if(!He&&void 0!==Fe&&"number"!=typeof Fe&&"boolean"!=typeof Fe)throw new Error(Pe+" must be number or boolean");He?(Ee=Ce.util.getData(Fe.$data,Ee,Ce.dataPathArr),ye="exclIsNumber"+ke,we="' + "+(Se="op"+ke)+" + '",Me=Pe,(Oe=Oe||[]).push(xe=xe+" var schemaExcl"+ke+" = "+Ee+"; var "+(Ae="exclusive"+ke)+"; var "+(be="exclType"+ke)+" = typeof "+(Ee="schemaExcl"+ke)+"; if ("+be+" != 'boolean' && "+be+" != 'undefined' && "+be+" != 'number') { "),xe="",!1!==Ce.createErrors?(xe+=" { keyword: '"+(Me||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString($e)+" , params: {} ",!1!==Ce.opts.messages&&(xe+=" , message: '"+Pe+" should be boolean' "),Ce.opts.verbose&&(xe+=" , schema: validate.schema"+_e+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Be+" "),xe+=" } "):xe+=" {} ",De=xe,xe=Oe.pop(),!Ce.compositeRule&&Le?Ce.async?xe+=" throw new ValidationError(["+De+"]); ":xe+=" validate.errors = ["+De+"]; return false; ":xe+=" var err = "+De+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" } else if ( ",We&&(xe+=" ("+Ne+" !== undefined && typeof "+Ne+" != 'number') || "),xe+=" "+be+" == 'number' ? ( ("+Ae+" = "+Ne+" === undefined || "+Ee+" "+Ve+"= "+Ne+") ? "+Be+" "+Ze+"= "+Ee+" : "+Be+" "+Ze+" "+Ne+" ) : ( ("+Ae+" = "+Ee+" === true) ? "+Be+" "+Ze+"= "+Ne+" : "+Be+" "+Ze+" "+Ne+" ) || "+Be+" !== "+Be+") { var op"+ke+" = "+Ae+" ? '"+Ve+"' : '"+Ve+"='; ",void 0===Re&&($e=Ce.errSchemaPath+"/"+(Me=Pe),Ne=Ee,We=He)):(we=Ve,(ye="number"==typeof Fe)&&We?(Se="'"+we+"'",xe+=" if ( ",We&&(xe+=" ("+Ne+" !== undefined && typeof "+Ne+" != 'number') || "),xe+=" ( "+Ne+" === undefined || "+Fe+" "+Ve+"= "+Ne+" ? "+Be+" "+Ze+"= "+Fe+" : "+Be+" "+Ze+" "+Ne+" ) || "+Be+" !== "+Be+") { "):(ye&&void 0===Re?(Ae=!0,$e=Ce.errSchemaPath+"/"+(Me=Pe),Ne=Fe,Ze+="="):(ye&&(Ne=Math[Ge?"min":"max"](Fe,Re)),Fe===(!ye||Ne)?(Ae=!0,$e=Ce.errSchemaPath+"/"+(Me=Pe),Ze+="="):(Ae=!1,we+="=")),Se="'"+we+"'",xe+=" if ( ",We&&(xe+=" ("+Ne+" !== undefined && typeof "+Ne+" != 'number') || "),xe+=" "+Be+" "+Ze+" "+Ne+" || "+Be+" !== "+Be+") { ")),Me=Me||Ie,(Oe=Oe||[]).push(xe),xe="",!1!==Ce.createErrors?(xe+=" { keyword: '"+(Me||"_limit")+"' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString($e)+" , params: { comparison: "+Se+", limit: "+Ne+", exclusive: "+Ae+" } ",!1!==Ce.opts.messages&&(xe=xe+" , message: 'should be "+we+" "+(We?"' + "+Ne:Ne+"'")),Ce.opts.verbose&&(xe=(xe+=" , schema: ")+(We?"validate.schema"+_e:""+Re)+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Be+" "),xe+=" } "):xe+=" {} ";var Oe,De=xe;return xe=Oe.pop(),!Ce.compositeRule&&Le?Ce.async?xe+=" throw new ValidationError(["+De+"]); ":xe+=" validate.errors = ["+De+"]; return false; ":xe+=" var err = "+De+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" } ",Le&&(xe+=" else { "),xe}},2407:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=Ce.errSchemaPath+"/"+Ie,ke=!Ce.opts.allErrors,Ee="data"+(ye||""),Re=Ce.opts.$data&&we&&we.$data;if(ye=Re?(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; ","schema"+be):we,!Re&&"number"!=typeof we)throw new Error(Ie+" must be number");Ae+="if ( ",Re&&(Ae+=" ("+ye+" !== undefined && typeof "+ye+" != 'number') || "),be=Ie;var _e=[];return _e.push(Ae+=" "+Ee+".length "+("maxItems"==Ie?">":"<")+" "+ye+") { "),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: '"+(be||"_limitItems")+"' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { limit: "+ye+" } ",!1!==Ce.opts.messages&&(Ae=(Ae=(Ae+=" , message: 'should NOT have ")+("maxItems"==Ie?"more":"fewer")+" than ")+(Re?"' + "+ye+" + '":""+we)+" items' "),Ce.opts.verbose&&(Ae=(Ae+=" , schema: ")+(Re?"validate.schema"+Se:""+we)+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ",be=Ae,Ae=_e.pop(),!Ce.compositeRule&&ke?Ce.async?Ae+=" throw new ValidationError(["+be+"]); ":Ae+=" validate.errors = ["+be+"]; return false; ":Ae+=" var err = "+be+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+="} ",ke&&(Ae+=" else { "),Ae}},1250:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=Ce.errSchemaPath+"/"+Ie,ke=!Ce.opts.allErrors,Ee="data"+(ye||""),Re=Ce.opts.$data&&we&&we.$data;if(ye=Re?(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; ","schema"+be):we,!Re&&"number"!=typeof we)throw new Error(Ie+" must be number");Ae+="if ( ",Re&&(Ae+=" ("+ye+" !== undefined && typeof "+ye+" != 'number') || "),!1===Ce.opts.unicode?Ae+=" "+Ee+".length ":Ae+=" ucs2length("+Ee+") ",be=Ie;var _e=[];return _e.push(Ae+=" "+("maxLength"==Ie?">":"<")+" "+ye+") { "),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: '"+(be||"_limitLength")+"' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { limit: "+ye+" } ",!1!==Ce.opts.messages&&(Ae=(Ae=(Ae+=" , message: 'should NOT be ")+("maxLength"==Ie?"longer":"shorter")+" than ")+(Re?"' + "+ye+" + '":""+we)+" characters' "),Ce.opts.verbose&&(Ae=(Ae+=" , schema: ")+(Re?"validate.schema"+Se:""+we)+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ",be=Ae,Ae=_e.pop(),!Ce.compositeRule&&ke?Ce.async?Ae+=" throw new ValidationError(["+be+"]); ":Ae+=" validate.errors = ["+be+"]; return false; ":Ae+=" var err = "+be+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+="} ",ke&&(Ae+=" else { "),Ae}},2596:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=Ce.errSchemaPath+"/"+Ie,ke=!Ce.opts.allErrors,Ee="data"+(ye||""),Re=Ce.opts.$data&&we&&we.$data;if(ye=Re?(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; ","schema"+be):we,!Re&&"number"!=typeof we)throw new Error(Ie+" must be number");Ae+="if ( ",Re&&(Ae+=" ("+ye+" !== undefined && typeof "+ye+" != 'number') || "),be=Ie;var _e=[];return _e.push(Ae+=" Object.keys("+Ee+").length "+("maxProperties"==Ie?">":"<")+" "+ye+") { "),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: '"+(be||"_limitProperties")+"' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { limit: "+ye+" } ",!1!==Ce.opts.messages&&(Ae=(Ae=(Ae+=" , message: 'should NOT have ")+("maxProperties"==Ie?"more":"fewer")+" than ")+(Re?"' + "+ye+" + '":""+we)+" properties' "),Ce.opts.verbose&&(Ae=(Ae+=" , schema: ")+(Re?"validate.schema"+Se:""+we)+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ",be=Ae,Ae=_e.pop(),!Ce.compositeRule&&ke?Ce.async?Ae+=" throw new ValidationError(["+be+"]); ":Ae+=" validate.errors = ["+be+"]; return false; ":Ae+=" var err = "+be+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+="} ",ke&&(Ae+=" else { "),Ae}},9486:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.schema[Ie],ye=Ce.schemaPath+Ce.util.getProperty(Ie),we=Ce.errSchemaPath+"/"+Ie,Se=!Ce.opts.allErrors,xe=Ce.util.copy(Ce),ke="",Ee=(xe.level++,"valid"+xe.level),Re=xe.baseId,_e=!0,$e=be;if($e)for(var Le,Be=-1,We=$e.length-1;Be<We;)Le=$e[Be+=1],(Ce.opts.strictKeywords?"object"==typeof Le&&0<Object.keys(Le).length||!1===Le:Ce.util.schemaHasRules(Le,Ce.RULES.all))&&(_e=!1,xe.schema=Le,xe.schemaPath=ye+"["+Be+"]",xe.errSchemaPath=we+"/"+Be,Ae+=" "+Ce.validate(xe)+" ",xe.baseId=Re,Se&&(Ae+=" if ("+Ee+") { ",ke+="}"));return Se&&(Ae+=_e?" if (true) { ":" "+ke.slice(0,-1)+" "),Ae}},5347:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=Ce.errSchemaPath+"/"+Ie,ke=(Ie=!Ce.opts.allErrors,ye="data"+(ye||""),"valid"+be),Ee=(be="errs__"+be,Ce.util.copy(Ce)),Re="",_e=(Ee.level++,"valid"+Ee.level);if(we.every((function(Ie){return Ce.opts.strictKeywords?"object"==typeof Ie&&0<Object.keys(Ie).length||!1===Ie:Ce.util.schemaHasRules(Ie,Ce.RULES.all)}))){var $e=Ee.baseId,Le=(Ae+=" var "+be+" = errors; var "+ke+" = false; ",Ce.compositeRule),Be=(Ce.compositeRule=Ee.compositeRule=!0,we);if(Be)for(var We,Ne=-1,Ge=Be.length-1;Ne<Ge;)We=Be[Ne+=1],Ee.schema=We,Ee.schemaPath=Se+"["+Ne+"]",Ee.errSchemaPath=xe+"/"+Ne,Ae+=" "+Ce.validate(Ee)+" ",Ee.baseId=$e,Ae+=" "+ke+" = "+ke+" || "+_e+"; if (!"+ke+") { ",Re+="}";Ce.compositeRule=Ee.compositeRule=Le,Ae+=" "+Re+" if (!"+ke+") { var err = ",!1!==Ce.createErrors?(Ae+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: {} ",!1!==Ce.opts.messages&&(Ae+=" , message: 'should match some schema in anyOf' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ye+" "),Ae+=" } "):Ae+=" {} ",Ae+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Ce.compositeRule&&Ie&&(Ce.async?Ae+=" throw new ValidationError(vErrors); ":Ae+=" validate.errors = vErrors; return false; "),Ae+=" } else { errors = "+be+"; if (vErrors !== null) { if ("+be+") vErrors.length = "+be+"; else vErrors = null; } ",Ce.opts.allErrors&&(Ae+=" } ")}else Ie&&(Ae+=" if (true) { ");return Ae}},923:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.schema[Ie];return Ie=Ce.errSchemaPath+"/"+Ie,Ce.opts.allErrors,be=Ce.util.toQuotedString(be),!0===Ce.opts.$comment?Ae+=" console.log("+be+");":"function"==typeof Ce.opts.$comment&&(Ae+=" self._opts.$comment("+be+", "+Ce.util.toQuotedString(Ie)+", validate.root.schema);"),Ae}},2617:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),ke="data"+(ye||""),Ee="valid"+be,Re=Ce.opts.$data&&we&&we.$data;return(Re&&(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; "),Re||(Ae+=" var schema"+be+" = validate.schema"+Se+";"),we=[]).push(Ae+="var "+Ee+" = equal("+ke+", schema"+be+"); if (!"+Ee+") { "),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: 'const' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: { allowedValue: schema"+be+" } ",!1!==Ce.opts.messages&&(Ae+=" , message: 'should be equal to constant' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ",ye=Ae,Ae=we.pop(),!Ce.compositeRule&&xe?Ce.async?Ae+=" throw new ValidationError(["+ye+"]); ":Ae+=" validate.errors = ["+ye+"]; return false; ":Ae+=" var err = "+ye+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+=" }",xe&&(Ae+=" else { "),Ae}},2119:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),ke=(ye="data"+(ye||""),"valid"+be),Ee="errs__"+be,Re=Ce.util.copy(Ce),_e=(Re.level++,"valid"+Re.level),$e=(be="i"+be,Re.dataLevel=Ce.dataLevel+1),Le="data"+$e,Be=Ce.baseId,We=Ce.opts.strictKeywords?"object"==typeof we&&0<Object.keys(we).length||!1===we:Ce.util.schemaHasRules(we,Ce.RULES.all);return(Ae+="var "+Ee+" = errors;var "+ke+";",We?(ke=Ce.compositeRule,Ce.compositeRule=Re.compositeRule=!0,Re.schema=we,Re.schemaPath=Se,Re.errSchemaPath=Ie,Ae+=" var "+_e+" = false; for (var "+be+" = 0; "+be+" < "+ye+".length; "+be+"++) { ",Re.errorPath=Ce.util.getPathExpr(Ce.errorPath,be,Ce.opts.jsonPointers,!0),we=ye+"["+be+"]",Re.dataPathArr[$e]=be,$e=Ce.validate(Re),Re.baseId=Be,Ce.util.varOccurences($e,Le)<2?Ae+=" "+Ce.util.varReplace($e,Le,we)+" ":Ae+=" var "+Le+" = "+we+"; "+$e+" ",Ae+=" if ("+_e+") break; } ",Ce.compositeRule=Re.compositeRule=ke,Ae+=" if (!"+_e+") {"):Ae+=" if ("+ye+".length == 0) {",be=[]).push(Ae),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: {} ",!1!==Ce.opts.messages&&(Ae+=" , message: 'should contain a valid item' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ye+" "),Ae+=" } "):Ae+=" {} ",Be=Ae,Ae=be.pop(),!Ce.compositeRule&&xe?Ce.async?Ae+=" throw new ValidationError(["+Be+"]); ":Ae+=" validate.errors = ["+Be+"]; return false; ":Ae+=" var err = "+Be+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+=" } else { ",We&&(Ae+=" errors = "+Ee+"; if (vErrors !== null) { if ("+Ee+") vErrors.length = "+Ee+"; else vErrors = null; } "),Ce.opts.allErrors&&(Ae+=" } "),Ae}},1793:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be,ye,we=" ",Se=Ce.level,xe=Ce.dataLevel,ke=Ce.schema[Ie],Ee=Ce.schemaPath+Ce.util.getProperty(Ie),Re=Ce.errSchemaPath+"/"+Ie,_e=!Ce.opts.allErrors,$e="data"+(xe||""),Le="valid"+Se,Be="errs__"+Se,We=Ce.opts.$data&&ke&&ke.$data,Ne=We?(we+=" var schema"+Se+" = "+Ce.util.getData(ke.$data,xe,Ce.dataPathArr)+"; ","schema"+Se):ke,Ge="definition"+Se,Pe=this.definition,Fe="";if(We&&Pe.$data){var He="keywordValidate"+Se,Ve=Pe.validateSchema;we+=" var "+Ge+" = RULES.custom['"+Ie+"'].definition; var "+He+" = "+Ge+".validate;"}else{if(!(De=Ce.useCustomRule(this,ke,Ce.schema,Ce)))return;Ne="validate.schema"+Ee,He=De.code,Ae=Pe.compile,be=Pe.inline,ye=Pe.macro}Ie=He+".errors",ke="i"+Se;var Ze,Me,Oe,De,Ke,je="ruleErr"+Se,ze=Pe.async;if(ze&&!Ce.async)throw new Error("async keyword in sync schema");return be||ye||(we+=Ie+" = null;"),we+="var "+Be+" = errors;var "+Le+";",We&&Pe.$data&&(Fe+="}",we+=" if ("+Ne+" === undefined) { "+Le+" = true; } else { ",Ve&&(Fe+="}",we+=" "+Le+" = "+Ge+".validateSchema("+Ne+"); if ("+Le+") { ")),be?Pe.statements?we+=" "+De.validate+" ":we+=" "+Le+" = "+De.validate+"; ":ye?(Fe="",(We=Ce.util.copy(Ce)).level++,Ze="valid"+We.level,We.schema=De.validate,We.schemaPath="",Ve=Ce.compositeRule,Ce.compositeRule=We.compositeRule=!0,Ge=Ce.validate(We).replace(/validate\.schema/g,He),Ce.compositeRule=We.compositeRule=Ve,we+=" "+Ge):((Ke=Ke||[]).push(we),we="",we+=" "+He+".call( ",Ce.opts.passContext?we+="this":we+="self",Ae||!1===Pe.schema?we+=" , "+$e+" ":we+=" , "+Ne+" , "+$e+" , validate.schema"+Ce.schemaPath+" ",we+=" , (dataPath || '')",'""'!=Ce.errorPath&&(we+=" + "+Ce.errorPath),De=we+=" , "+(Me=xe?"data"+(xe-1||""):"parentData")+" , "+(Oe=xe?Ce.dataPathArr[xe]:"parentDataProperty")+" , rootData ) ",we=Ke.pop(),!1===Pe.errors?(we+=" "+Le+" = ",ze&&(we+="await "),we+=De+"; "):we+=ze?" var "+(Ie="customErrors"+Se)+" = null; try { "+Le+" = await "+De+"; } catch (e) { "+Le+" = false; if (e instanceof ValidationError) "+Ie+" = e.errors; else throw e; } ":" "+Ie+" = null; "+Le+" = "+De+"; "),Pe.modifying&&(we+=" if ("+Me+") "+$e+" = "+Me+"["+Oe+"];"),we+=""+Fe,Pe.valid?_e&&(we+=" if (true) { "):(we+=" if ( ",void 0===Pe.valid?we=we+" !"+(ye?""+Ze:Le):we+=" "+!Pe.valid+" ",We=this.keyword,(Ke=Ke||[]).push(we+=") { "),(Ke=Ke||[]).push(we=""),we="",!1!==Ce.createErrors?(we+=" { keyword: '"+(We||"custom")+"' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Re)+" , params: { keyword: '"+this.keyword+"' } ",!1!==Ce.opts.messages&&(we+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),Ce.opts.verbose&&(we+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+$e+" "),we+=" } "):we+=" {} ",Ve=we,we=Ke.pop(),!Ce.compositeRule&&_e?Ce.async?we+=" throw new ValidationError(["+Ve+"]); ":we+=" validate.errors = ["+Ve+"]; return false; ":we+=" var err = "+Ve+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ge=we,we=Ke.pop(),be?Pe.errors?"full"!=Pe.errors&&(we+=" for (var "+ke+"="+Be+"; "+ke+"<errors; "+ke+"++) { var "+je+" = vErrors["+ke+"]; if ("+je+".dataPath === undefined) "+je+".dataPath = (dataPath || '') + "+Ce.errorPath+"; if ("+je+".schemaPath === undefined) { "+je+'.schemaPath = "'+Re+'"; } ',Ce.opts.verbose&&(we+=" "+je+".schema = "+Ne+"; "+je+".data = "+$e+"; "),we+=" } "):!1===Pe.errors?we+=" "+Ge+" ":(we+=" if ("+Be+" == errors) { "+Ge+" } else { for (var "+ke+"="+Be+"; "+ke+"<errors; "+ke+"++) { var "+je+" = vErrors["+ke+"]; if ("+je+".dataPath === undefined) "+je+".dataPath = (dataPath || '') + "+Ce.errorPath+"; if ("+je+".schemaPath === undefined) { "+je+'.schemaPath = "'+Re+'"; } ',Ce.opts.verbose&&(we+=" "+je+".schema = "+Ne+"; "+je+".data = "+$e+"; "),we+=" } } "):ye?(we+=" var err = ",!1!==Ce.createErrors?(we+=" { keyword: '"+(We||"custom")+"' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Re)+" , params: { keyword: '"+this.keyword+"' } ",!1!==Ce.opts.messages&&(we+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),Ce.opts.verbose&&(we+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+$e+" "),we+=" } "):we+=" {} ",we+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Ce.compositeRule&&_e&&(Ce.async?we+=" throw new ValidationError(vErrors); ":we+=" validate.errors = vErrors; return false; ")):!1===Pe.errors?we+=" "+Ge+" ":(we+=" if (Array.isArray("+Ie+")) { if (vErrors === null) vErrors = "+Ie+"; else vErrors = vErrors.concat("+Ie+"); errors = vErrors.length; for (var "+ke+"="+Be+"; "+ke+"<errors; "+ke+"++) { var "+je+" = vErrors["+ke+"]; if ("+je+".dataPath === undefined) "+je+".dataPath = (dataPath || '') + "+Ce.errorPath+"; "+je+'.schemaPath = "'+Re+'"; ',Ce.opts.verbose&&(we+=" "+je+".schema = "+Ne+"; "+je+".data = "+$e+"; "),we+=" } } else { "+Ge+" } "),we+=" } ",_e&&(we+=" else { ")),we}},9115:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be=" ",ye=Ce.level,we=Ce.dataLevel,Se=Ce.schema[Ie],xe=Ce.schemaPath+Ce.util.getProperty(Ie),ke=Ce.errSchemaPath+"/"+Ie,Ee=!Ce.opts.allErrors,Re="data"+(we||""),_e=(Ie="errs__"+ye,Ce.util.copy(Ce)),$e="",Le=(_e.level++,"valid"+_e.level),Be={},We={},Ne=Ce.opts.ownProperties;for(Je in Se)"__proto__"!=Je&&(Ue=Se[Je],(Ae=Array.isArray(Ue)?We:Be)[Je]=Ue);var Ge=Ce.errorPath;for(Je in be=be+"var "+Ie+" = errors;var missing"+ye+";",We)if((Ae=We[Je]).length){if(be+=" if ( "+Re+Ce.util.getProperty(Je)+" !== undefined ",Ne&&(be+=" && Object.prototype.hasOwnProperty.call("+Re+", '"+Ce.util.escapeQuotes(Je)+"') "),Ee){be+=" && ( ";var Pe=Ae;if(Pe)for(var Fe=-1,He=Pe.length-1;Fe<He;)De=Pe[Fe+=1],Fe&&(be+=" || "),be+=" ( ( "+(Xe=Re+(ze=Ce.util.getProperty(De)))+" === undefined ",Ne&&(be+=" || ! Object.prototype.hasOwnProperty.call("+Re+", '"+Ce.util.escapeQuotes(De)+"') "),be+=") && (missing"+ye+" = "+Ce.util.toQuotedString(Ce.opts.jsonPointers?De:ze)+") ) ";be+=")) { ";var Ve="' + "+(Me="missing"+ye)+" + '",Ze=(Ce.opts._errorDataPathProperty&&(Ce.errorPath=Ce.opts.jsonPointers?Ce.util.getPathExpr(Ge,Me,!0):Ge+" + "+Me),Ze||[]),Me=(Ze.push(be),be="",!1!==Ce.createErrors?(be+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(ke)+" , params: { property: '"+Ce.util.escapeQuotes(Je)+"', missingProperty: '"+Ve+"', depsCount: "+Ae.length+", deps: '"+Ce.util.escapeQuotes(1==Ae.length?Ae[0]:Ae.join(", "))+"' } ",!1!==Ce.opts.messages&&(be+=" , message: 'should have ",1==Ae.length?be+="property "+Ce.util.escapeQuotes(Ae[0]):be+="properties "+Ce.util.escapeQuotes(Ae.join(", ")),be+=" when property "+Ce.util.escapeQuotes(Je)+" is present' "),Ce.opts.verbose&&(be+=" , schema: validate.schema"+xe+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Re+" "),be+=" } "):be+=" {} ",be);be=Ze.pop(),!Ce.compositeRule&&Ee?Ce.async?be+=" throw new ValidationError(["+Me+"]); ":be+=" validate.errors = ["+Me+"]; return false; ":be+=" var err = "+Me+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{be+=" ) { ";var Oe=Ae;if(Oe)for(var De,Ke=-1,je=Oe.length-1;Ke<je;){De=Oe[Ke+=1];var ze=Ce.util.getProperty(De),Xe=(Ve=Ce.util.escapeQuotes(De),Re+ze);Ce.opts._errorDataPathProperty&&(Ce.errorPath=Ce.util.getPath(Ge,De,Ce.opts.jsonPointers)),be+=" if ( "+Xe+" === undefined ",Ne&&(be+=" || ! Object.prototype.hasOwnProperty.call("+Re+", '"+Ce.util.escapeQuotes(De)+"') "),be+=") { var err = ",!1!==Ce.createErrors?(be+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(ke)+" , params: { property: '"+Ce.util.escapeQuotes(Je)+"', missingProperty: '"+Ve+"', depsCount: "+Ae.length+", deps: '"+Ce.util.escapeQuotes(1==Ae.length?Ae[0]:Ae.join(", "))+"' } ",!1!==Ce.opts.messages&&(be+=" , message: 'should have ",1==Ae.length?be+="property "+Ce.util.escapeQuotes(Ae[0]):be+="properties "+Ce.util.escapeQuotes(Ae.join(", ")),be+=" when property "+Ce.util.escapeQuotes(Je)+" is present' "),Ce.opts.verbose&&(be+=" , schema: validate.schema"+xe+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Re+" "),be+=" } "):be+=" {} ",be+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}be+=" } ",Ee&&($e+="}",be+=" else { ")}Ce.errorPath=Ge;var Je,Ye=_e.baseId;for(Je in Be){var Ue=Be[Je];(Ce.opts.strictKeywords?"object"==typeof Ue&&0<Object.keys(Ue).length||!1===Ue:Ce.util.schemaHasRules(Ue,Ce.RULES.all))&&(be+=" "+Le+" = true; if ( "+Re+Ce.util.getProperty(Je)+" !== undefined ",Ne&&(be+=" && Object.prototype.hasOwnProperty.call("+Re+", '"+Ce.util.escapeQuotes(Je)+"') "),be+=") { ",_e.schema=Ue,_e.schemaPath=xe+Ce.util.getProperty(Je),_e.errSchemaPath=ke+"/"+Ce.util.escapeFragment(Je),be+=" "+Ce.validate(_e)+" ",_e.baseId=Ye,be+=" } ",Ee&&(be+=" if ("+Le+") { ",$e+="}"))}return Ee&&(be+=" "+$e+" if ("+Ie+" == errors) {"),be}},9317:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),ke="data"+(ye||""),Ee="valid"+be,Re=Ce.opts.$data&&we&&we.$data;return Re&&(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; "),ye="schema"+be,(Re||(Ae+=" var "+ye+" = validate.schema"+Se+";"),Ae+="var "+Ee+";",Re&&(Ae+=" if (schema"+be+" === undefined) "+Ee+" = true; else if (!Array.isArray(schema"+be+")) "+Ee+" = false; else {"),Ae+=Ee+" = false;for (var "+(we="i"+be)+"=0; "+we+"<"+ye+".length; "+we+"++) if (equal("+ke+", "+ye+"["+we+"])) { "+Ee+" = true; break; }",Re&&(Ae+=" } "),ye=[]).push(Ae+=" if (!"+Ee+") { "),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: { allowedValues: schema"+be+" } ",!1!==Ce.opts.messages&&(Ae+=" , message: 'should be equal to one of the allowed values' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ",we=Ae,Ae=ye.pop(),!Ce.compositeRule&&xe?Ce.async?Ae+=" throw new ValidationError(["+we+"]); ":Ae+=" validate.errors = ["+we+"]; return false; ":Ae+=" var err = "+we+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+=" }",xe&&(Ae+=" else { "),Ae}},8327:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),ke="data"+(ye||"");if(!1===Ce.opts.format)return xe&&(Ae+=" if (true) { "),Ae;var Ee,Re=Ce.opts.$data&&we&&we.$data,_e=(ye=Re?(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; ","schema"+be):we,Ce.opts.unknownFormats),$e=Array.isArray(_e);if(Re)Ae+=" var "+(Ee="format"+be)+" = formats["+ye+"]; var "+(Le="isObject"+be)+" = typeof "+Ee+" == 'object' && !("+Ee+" instanceof RegExp) && "+Ee+".validate; var "+(We="formatType"+be)+" = "+Le+" && "+Ee+".type || 'string'; if ("+Le+") { ",Ce.async&&(Ae+=" var async"+be+" = "+Ee+".async; "),Ae+=" "+Ee+" = "+Ee+".validate; } if ( ",Re&&(Ae+=" ("+ye+" !== undefined && typeof "+ye+" != 'string') || "),Ae+=" (","ignore"!=_e&&(Ae+=" ("+ye+" && !"+Ee+" ",$e&&(Ae+=" && self._opts.unknownFormats.indexOf("+ye+") == -1 "),Ae+=") || "),Ae+=" ("+Ee+" && "+We+" == '"+ve+"' && !(typeof "+Ee+" == 'function' ? ",Ce.async?Ae+=" (async"+be+" ? await "+Ee+"("+ke+") : "+Ee+"("+ke+")) ":Ae+=" "+Ee+"("+ke+") ",Ae+=" : "+Ee+".test("+ke+"))))) {";else{if(!(Ee=Ce.formats[we])){if("ignore"==_e)return Ce.logger.warn('unknown format "'+we+'" ignored in schema at path "'+Ce.errSchemaPath+'"'),xe&&(Ae+=" if (true) { "),Ae;if($e&&0<=_e.indexOf(we))return xe&&(Ae+=" if (true) { "),Ae;throw new Error('unknown format "'+we+'" is used in schema at path "'+Ce.errSchemaPath+'"')}var Le,Be,We=(Le="object"==typeof Ee&&!(Ee instanceof RegExp)&&Ee.validate)&&Ee.type||"string";if(Le&&(Be=!0===Ee.async,Ee=Ee.validate),We!=ve)return xe&&(Ae+=" if (true) { "),Ae;if(Be){if(!Ce.async)throw new Error("async format in sync schema");Ae+=" if (!(await "+(Ne="formats"+Ce.util.getProperty(we)+".validate")+"("+ke+"))) { "}else{Ae+=" if (! ";var Ne="formats"+Ce.util.getProperty(we);Le&&(Ne+=".validate"),Ae=Ae+("function"==typeof Ee?" "+Ne+"("+ke+") ":" "+Ne+".test("+ke+") ")+") { "}}return(be=[]).push(Ae),Ae="",!1!==Ce.createErrors?(Ae=(Ae+=" { keyword: 'format' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: { format: ")+(Re?""+ye:""+Ce.util.toQuotedString(we))+" } ",!1!==Ce.opts.messages&&(Ae=(Ae+=" , message: 'should match format \"")+(Re?"' + "+ye+" + '":""+Ce.util.escapeQuotes(we))+"\"' "),Ce.opts.verbose&&(Ae=(Ae=(Ae+=" , schema: ")+(Re?"validate.schema"+Se:""+Ce.util.toQuotedString(we)))+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ",$e=Ae,Ae=be.pop(),!Ce.compositeRule&&xe?Ce.async?Ae+=" throw new ValidationError(["+$e+"]); ":Ae+=" validate.errors = ["+$e+"]; return false; ":Ae+=" var err = "+$e+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+=" } ",xe&&(Ae+=" else { "),Ae}},5926:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be=" ",ye=Ce.level,we=Ce.dataLevel,Se=Ce.schema[Ie],xe=Ce.schemaPath+Ce.util.getProperty(Ie),ke=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),Ee=(we="data"+(we||""),"valid"+ye),Re="errs__"+ye,_e=Ce.util.copy(Ce),$e=(_e.level++,"valid"+_e.level),Le=Ce.schema.then,Be=Ce.schema.else,We=(Le=void 0!==Le&&(Ce.opts.strictKeywords?"object"==typeof Le&&0<Object.keys(Le).length||!1===Le:Ce.util.schemaHasRules(Le,Ce.RULES.all)),Be=void 0!==Be&&(Ce.opts.strictKeywords?"object"==typeof Be&&0<Object.keys(Be).length||!1===Be:Ce.util.schemaHasRules(Be,Ce.RULES.all)),_e.baseId);return Le||Be?(_e.createErrors=!1,_e.schema=Se,_e.schemaPath=xe,_e.errSchemaPath=Ie,be+=" var "+Re+" = errors; var "+Ee+" = true; ",Se=Ce.compositeRule,Ce.compositeRule=_e.compositeRule=!0,be+=" "+Ce.validate(_e)+" ",_e.baseId=We,_e.createErrors=!0,be+=" errors = "+Re+"; if (vErrors !== null) { if ("+Re+") vErrors.length = "+Re+"; else vErrors = null; } ",Ce.compositeRule=_e.compositeRule=Se,Le?(be+=" if ("+$e+") { ",_e.schema=Ce.schema.then,_e.schemaPath=Ce.schemaPath+".then",_e.errSchemaPath=Ce.errSchemaPath+"/then",be+=" "+Ce.validate(_e)+" ",_e.baseId=We,be+=" "+Ee+" = "+$e+"; ",Le&&Be?be+=" var "+(Ae="ifClause"+ye)+" = 'then'; ":Ae="'then'",be+=" } ",Be&&(be+=" else { ")):be+=" if (!"+$e+") { ",Be&&(_e.schema=Ce.schema.else,_e.schemaPath=Ce.schemaPath+".else",_e.errSchemaPath=Ce.errSchemaPath+"/else",be+=" "+Ce.validate(_e)+" ",_e.baseId=We,be+=" "+Ee+" = "+$e+"; ",Le&&Be?be+=" var "+(Ae="ifClause"+ye)+" = 'else'; ":Ae="'else'",be+=" } "),be+=" if (!"+Ee+") { var err = ",!1!==Ce.createErrors?(be+=" { keyword: 'if' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: { failingKeyword: "+Ae+" } ",!1!==Ce.opts.messages&&(be+=" , message: 'should match \"' + "+Ae+" + '\" schema' "),Ce.opts.verbose&&(be+=" , schema: validate.schema"+xe+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+we+" "),be+=" } "):be+=" {} ",be+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Ce.compositeRule&&ke&&(Ce.async?be+=" throw new ValidationError(vErrors); ":be+=" validate.errors = vErrors; return false; "),be+=" } ",ke&&(be+=" else { ")):ke&&(be+=" if (true) { "),be}},9646:function(Ce,Ie,ve){"use strict";Ce.exports={$ref:ve(2331),allOf:ve(9486),anyOf:ve(5347),$comment:ve(923),const:ve(2617),contains:ve(2119),dependencies:ve(9115),enum:ve(9317),format:ve(8327),if:ve(5926),items:ve(392),maximum:ve(1796),minimum:ve(1796),maxItems:ve(2407),minItems:ve(2407),maxLength:ve(1250),minLength:ve(1250),maxProperties:ve(2596),minProperties:ve(2596),multipleOf:ve(6039),not:ve(7946),oneOf:ve(9344),pattern:ve(9737),properties:ve(2537),propertyNames:ve(2127),required:ve(1204),uniqueItems:ve(1985),validate:ve(1869)}},392:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=Ce.errSchemaPath+"/"+Ie,ke=!Ce.opts.allErrors,Ee="data"+(ye||""),Re=(Ie="valid"+be,ye="errs__"+be,Ce.util.copy(Ce)),_e="",$e=(Re.level++,"valid"+Re.level),Le=(be="i"+be,Re.dataLevel=Ce.dataLevel+1),Be="data"+Le,We=Ce.baseId;if(Ae+="var "+ye+" = errors;var "+Ie+";",Array.isArray(we)){var Ne,Ge,Pe=Ce.schema.additionalItems,Fe=(!1===Pe&&(Ae+=" "+Ie+" = "+Ee+".length <= "+we.length+"; ",Ne=xe,xe=Ce.errSchemaPath+"/additionalItems",(Ge=Ge||[]).push(Ae+=" if (!"+Ie+") { "),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { limit: "+we.length+" } ",!1!==Ce.opts.messages&&(Ae+=" , message: 'should NOT have more than "+we.length+" items' "),Ce.opts.verbose&&(Ae+=" , schema: false , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ",Ie=Ae,Ae=Ge.pop(),!Ce.compositeRule&&ke?Ce.async?Ae+=" throw new ValidationError(["+Ie+"]); ":Ae+=" validate.errors = ["+Ie+"]; return false; ":Ae+=" var err = "+Ie+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+=" } ",xe=Ne,ke&&(_e+="}",Ae+=" else { ")),we);if(Fe)for(var He=-1,Ve=Fe.length-1;He<Ve;){var Ze,Me,Oe=Fe[He+=1];(Ce.opts.strictKeywords?"object"==typeof Oe&&0<Object.keys(Oe).length||!1===Oe:Ce.util.schemaHasRules(Oe,Ce.RULES.all))&&(Ae+=" "+$e+" = true; if ("+Ee+".length > "+He+") { ",Ze=Ee+"["+He+"]",Re.schema=Oe,Re.schemaPath=Se+"["+He+"]",Re.errSchemaPath=xe+"/"+He,Re.errorPath=Ce.util.getPathExpr(Ce.errorPath,He,Ce.opts.jsonPointers,!0),Re.dataPathArr[Le]=He,Me=Ce.validate(Re),Re.baseId=We,Ce.util.varOccurences(Me,Be)<2?Ae+=" "+Ce.util.varReplace(Me,Be,Ze)+" ":Ae+=" var "+Be+" = "+Ze+"; "+Me+" ",Ae+=" } ",ke&&(Ae+=" if ("+$e+") { ",_e+="}"))}"object"==typeof Pe&&(Ce.opts.strictKeywords?"object"==typeof Pe&&0<Object.keys(Pe).length||!1===Pe:Ce.util.schemaHasRules(Pe,Ce.RULES.all))&&(Re.schema=Pe,Re.schemaPath=Ce.schemaPath+".additionalItems",Re.errSchemaPath=Ce.errSchemaPath+"/additionalItems",Ae+=" "+$e+" = true; if ("+Ee+".length > "+we.length+") { for (var "+be+" = "+we.length+"; "+be+" < "+Ee+".length; "+be+"++) { ",Re.errorPath=Ce.util.getPathExpr(Ce.errorPath,be,Ce.opts.jsonPointers,!0),Ze=Ee+"["+be+"]",Re.dataPathArr[Le]=be,Me=Ce.validate(Re),Re.baseId=We,Ce.util.varOccurences(Me,Be)<2?Ae+=" "+Ce.util.varReplace(Me,Be,Ze)+" ":Ae+=" var "+Be+" = "+Ze+"; "+Me+" ",ke&&(Ae+=" if (!"+$e+") break; "),Ae+=" } } ",ke&&(Ae+=" if ("+$e+") { ",_e+="}"))}else(Ce.opts.strictKeywords?"object"==typeof we&&0<Object.keys(we).length||!1===we:Ce.util.schemaHasRules(we,Ce.RULES.all))&&(Re.schema=we,Re.schemaPath=Se,Re.errSchemaPath=xe,Ae+=" for (var "+be+" = 0; "+be+" < "+Ee+".length; "+be+"++) { ",Re.errorPath=Ce.util.getPathExpr(Ce.errorPath,be,Ce.opts.jsonPointers,!0),Ze=Ee+"["+be+"]",Re.dataPathArr[Le]=be,Me=Ce.validate(Re),Re.baseId=We,Ce.util.varOccurences(Me,Be)<2?Ae+=" "+Ce.util.varReplace(Me,Be,Ze)+" ":Ae+=" var "+Be+" = "+Ze+"; "+Me+" ",ke&&(Ae+=" if (!"+$e+") break; "),Ae+=" }");return ke&&(Ae+=" "+_e+" if ("+ye+" == errors) {"),Ae}},6039:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=Ce.errSchemaPath+"/"+Ie,ke=!Ce.opts.allErrors,Ee="data"+(ye||""),Re=Ce.opts.$data&&we&&we.$data;if(ye=Re?(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; ","schema"+be):we,!Re&&"number"!=typeof we)throw new Error(Ie+" must be number");return Ae+="var division"+be+";if (",Re&&(Ae+=" "+ye+" !== undefined && ( typeof "+ye+" != 'number' || "),Ae+=" (division"+be+" = "+Ee+" / "+ye+", ",Ce.opts.multipleOfPrecision?Ae+=" Math.abs(Math.round(division"+be+") - division"+be+") > 1e-"+Ce.opts.multipleOfPrecision+" ":Ae+=" division"+be+" !== parseInt(division"+be+") ",Ae+=" ) ",Re&&(Ae+=" ) "),(Ie=[]).push(Ae+=" ) { "),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { multipleOf: "+ye+" } ",!1!==Ce.opts.messages&&(Ae=Ae+" , message: 'should be multiple of "+(Re?"' + "+ye:ye+"'")),Ce.opts.verbose&&(Ae=(Ae+=" , schema: ")+(Re?"validate.schema"+Se:""+we)+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ",be=Ae,Ae=Ie.pop(),!Ce.compositeRule&&ke?Ce.async?Ae+=" throw new ValidationError(["+be+"]); ":Ae+=" validate.errors = ["+be+"]; return false; ":Ae+=" var err = "+be+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+="} ",ke&&(Ae+=" else { "),Ae}},7946:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be,ye=" ",we=Ce.level,Se=Ce.dataLevel,xe=Ce.schema[Ie],ke=Ce.schemaPath+Ce.util.getProperty(Ie),Ee=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),Re=(Se="data"+(Se||""),we="errs__"+we,Ce.util.copy(Ce)),_e=(Re.level++,"valid"+Re.level);return(Ce.opts.strictKeywords?"object"==typeof xe&&0<Object.keys(xe).length||!1===xe:Ce.util.schemaHasRules(xe,Ce.RULES.all))?(Re.schema=xe,Re.schemaPath=ke,Re.errSchemaPath=Ie,ye+=" var "+we+" = errors; ",xe=Ce.compositeRule,Ce.compositeRule=Re.compositeRule=!0,Re.createErrors=!1,Re.opts.allErrors&&(be=Re.opts.allErrors,Re.opts.allErrors=!1),ye+=" "+Ce.validate(Re)+" ",Re.createErrors=!0,be&&(Re.opts.allErrors=be),Ce.compositeRule=Re.compositeRule=xe,(Ae=Ae||[]).push(ye+=" if ("+_e+") { "),ye="",!1!==Ce.createErrors?(ye+=" { keyword: 'not' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: {} ",!1!==Ce.opts.messages&&(ye+=" , message: 'should NOT be valid' "),Ce.opts.verbose&&(ye+=" , schema: validate.schema"+ke+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Se+" "),ye+=" } "):ye+=" {} ",be=ye,ye=Ae.pop(),!Ce.compositeRule&&Ee?Ce.async?ye+=" throw new ValidationError(["+be+"]); ":ye+=" validate.errors = ["+be+"]; return false; ":ye+=" var err = "+be+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",ye+=" } else { errors = "+we+"; if (vErrors !== null) { if ("+we+") vErrors.length = "+we+"; else vErrors = null; } ",Ce.opts.allErrors&&(ye+=" } ")):(ye+=" var err = ",!1!==Ce.createErrors?(ye+=" { keyword: 'not' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: {} ",!1!==Ce.opts.messages&&(ye+=" , message: 'should NOT be valid' "),Ce.opts.verbose&&(ye+=" , schema: validate.schema"+ke+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Se+" "),ye+=" } "):ye+=" {} ",ye+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ee&&(ye+=" if (false) { ")),ye}},9344:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=Ce.errSchemaPath+"/"+Ie,ke=(Ie=!Ce.opts.allErrors,ye="data"+(ye||""),"valid"+be),Ee="errs__"+be,Re=Ce.util.copy(Ce),_e="",$e=(Re.level++,"valid"+Re.level),Le=Re.baseId,Be="prevValid"+be,We="passingSchemas"+be,Ne=(Ae+="var "+Ee+" = errors , "+Be+" = false , "+ke+" = false , "+We+" = null; ",be=Ce.compositeRule,Ce.compositeRule=Re.compositeRule=!0,we);if(Ne)for(var Ge,Pe=-1,Fe=Ne.length-1;Pe<Fe;)Ge=Ne[Pe+=1],(Ce.opts.strictKeywords?"object"==typeof Ge&&0<Object.keys(Ge).length||!1===Ge:Ce.util.schemaHasRules(Ge,Ce.RULES.all))?(Re.schema=Ge,Re.schemaPath=Se+"["+Pe+"]",Re.errSchemaPath=xe+"/"+Pe,Ae+=" "+Ce.validate(Re)+" ",Re.baseId=Le):Ae+=" var "+$e+" = true; ",Pe&&(Ae+=" if ("+$e+" && "+Be+") { "+ke+" = false; "+We+" = ["+We+", "+Pe+"]; } else { ",_e+="}"),Ae+=" if ("+$e+") { "+ke+" = "+Be+" = true; "+We+" = "+Pe+"; }";return Ce.compositeRule=Re.compositeRule=be,Ae+=_e+"if (!"+ke+") { var err = ",!1!==Ce.createErrors?(Ae+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { passingSchemas: "+We+" } ",!1!==Ce.opts.messages&&(Ae+=" , message: 'should match exactly one schema in oneOf' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ye+" "),Ae+=" } "):Ae+=" {} ",Ae+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Ce.compositeRule&&Ie&&(Ce.async?Ae+=" throw new ValidationError(vErrors); ":Ae+=" validate.errors = vErrors; return false; "),Ae+="} else { errors = "+Ee+"; if (vErrors !== null) { if ("+Ee+") vErrors.length = "+Ee+"; else vErrors = null; }",Ce.opts.allErrors&&(Ae+=" } "),Ae}},9737:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),ke="data"+(ye||""),Ee=Ce.opts.$data&&we&&we.$data,Re=(ye=Ee?(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; ","schema"+be):we,be=Ee?"(new RegExp("+ye+"))":Ce.usePattern(we),Ae+="if ( ",Ee&&(Ae+=" ("+ye+" !== undefined && typeof "+ye+" != 'string') || "),[]);return Re.push(Ae+=" !"+be+".test("+ke+") ) { "),Ae="",!1!==Ce.createErrors?(Ae=(Ae+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: { pattern: ")+(Ee?""+ye:""+Ce.util.toQuotedString(we))+" } ",!1!==Ce.opts.messages&&(Ae=(Ae+=" , message: 'should match pattern \"")+(Ee?"' + "+ye+" + '":""+Ce.util.escapeQuotes(we))+"\"' "),Ce.opts.verbose&&(Ae=(Ae=(Ae+=" , schema: ")+(Ee?"validate.schema"+Se:""+Ce.util.toQuotedString(we)))+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ",be=Ae,Ae=Re.pop(),!Ce.compositeRule&&xe?Ce.async?Ae+=" throw new ValidationError(["+be+"]); ":Ae+=" validate.errors = ["+be+"]; return false; ":Ae+=" var err = "+be+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+="} ",xe&&(Ae+=" else { "),Ae}},2537:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be=" ",ye=Ce.level,we=Ce.dataLevel,Se=Ce.schema[Ie],xe=Ce.schemaPath+Ce.util.getProperty(Ie),ke=Ce.errSchemaPath+"/"+Ie,Ee=!Ce.opts.allErrors,Re="data"+(we||""),_e=(Ie="errs__"+ye,Ce.util.copy(Ce)),$e="",Le=(_e.level++,"valid"+_e.level),Be="key"+ye,We="idx"+ye,Ne=_e.dataLevel=Ce.dataLevel+1,Ge="data"+Ne,Pe="dataProperties"+ye,Fe=(we=Object.keys(Se||{}).filter(W),Ce.schema.patternProperties||{}),He=Object.keys(Fe).filter(W),Ve=Ce.schema.additionalProperties,Ze=we.length||He.length,Me=!1===Ve,Oe="object"==typeof Ve&&Object.keys(Ve).length,De=Ce.opts.removeAdditional,Ke=Me||Oe||De,je=Ce.opts.ownProperties,ze=Ce.baseId,Xe=Ce.schema.required;function W(Ce){return"__proto__"!==Ce}if(Xe&&(!Ce.opts.$data||!Xe.$data)&&Xe.length<Ce.opts.loopRequired&&(Ae=Ce.util.toHash(Xe)),be+="var "+Ie+" = errors;var "+Le+" = true;",je&&(be+=" var "+Pe+" = undefined;"),Ke){if(be+=je?" "+Pe+" = "+Pe+" || Object.keys("+Re+"); for (var "+We+"=0; "+We+"<"+Pe+".length; "+We+"++) { var "+Be+" = "+Pe+"["+We+"]; ":" for (var "+Be+" in "+Re+") { ",Ze){if(be+=" var isAdditional"+ye+" = !(false ",we.length)if(8<we.length)be+=" || validate.schema"+xe+".hasOwnProperty("+Be+") ";else{var Je=we;if(Je)for(var Ye=-1,Ue=Je.length-1;Ye<Ue;)nt=Je[Ye+=1],be+=" || "+Be+" == "+Ce.util.toQuotedString(nt)+" "}if(He.length){var Qe=He;if(Qe)for(var qe=-1,et=Qe.length-1;qe<et;)mt=Qe[qe+=1],be+=" || "+Ce.usePattern(mt)+".test("+Be+") "}be+=" ); if (isAdditional"+ye+") { "}"all"==De?be+=" delete "+Re+"["+Be+"]; ":(lt=Ce.errorPath,Xe="' + "+Be+" + '",Ce.opts._errorDataPathProperty&&(Ce.errorPath=Ce.util.getPathExpr(Ce.errorPath,Be,Ce.opts.jsonPointers)),Me?De?be+=" delete "+Re+"["+Be+"]; ":(ct=ke,ke=Ce.errSchemaPath+"/additionalProperties",(dt=dt||[]).push(be+=" "+Le+" = false; "),be="",!1!==Ce.createErrors?(be+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(ke)+" , params: { additionalProperty: '"+Xe+"' } ",!1!==Ce.opts.messages&&(be+=" , message: '",Ce.opts._errorDataPathProperty?be+="is an invalid additional property":be+="should NOT have additional properties",be+="' "),Ce.opts.verbose&&(be+=" , schema: false , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Re+" "),be+=" } "):be+=" {} ",ut=be,be=dt.pop(),!Ce.compositeRule&&Ee?Ce.async?be+=" throw new ValidationError(["+ut+"]); ":be+=" validate.errors = ["+ut+"]; return false; ":be+=" var err = "+ut+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",ke=ct,Ee&&(be+=" break; ")):Oe&&("failing"==De?(be+=" var "+Ie+" = errors; ",Ke=Ce.compositeRule,Ce.compositeRule=_e.compositeRule=!0,_e.schema=Ve,_e.schemaPath=Ce.schemaPath+".additionalProperties",_e.errSchemaPath=Ce.errSchemaPath+"/additionalProperties",_e.errorPath=Ce.opts._errorDataPathProperty?Ce.errorPath:Ce.util.getPathExpr(Ce.errorPath,Be,Ce.opts.jsonPointers),It=Re+"["+Be+"]",_e.dataPathArr[Ne]=Be,vt=Ce.validate(_e),_e.baseId=ze,Ce.util.varOccurences(vt,Ge)<2?be+=" "+Ce.util.varReplace(vt,Ge,It)+" ":be+=" var "+Ge+" = "+It+"; "+vt+" ",be+=" if (!"+Le+") { errors = "+Ie+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+Re+"["+Be+"]; } ",Ce.compositeRule=_e.compositeRule=Ke):(_e.schema=Ve,_e.schemaPath=Ce.schemaPath+".additionalProperties",_e.errSchemaPath=Ce.errSchemaPath+"/additionalProperties",_e.errorPath=Ce.opts._errorDataPathProperty?Ce.errorPath:Ce.util.getPathExpr(Ce.errorPath,Be,Ce.opts.jsonPointers),It=Re+"["+Be+"]",_e.dataPathArr[Ne]=Be,vt=Ce.validate(_e),_e.baseId=ze,Ce.util.varOccurences(vt,Ge)<2?be+=" "+Ce.util.varReplace(vt,Ge,It)+" ":be+=" var "+Ge+" = "+It+"; "+vt+" ",Ee&&(be+=" if (!"+Le+") break; "))),Ce.errorPath=lt),Ze&&(be+=" } "),be+=" } ",Ee&&(be+=" if ("+Le+") { ",$e+="}")}var tt=Ce.opts.useDefaults&&!Ce.compositeRule;if(we.length){var it=we;if(it)for(var nt,rt=-1,ot=it.length-1;rt<ot;){var st,at,lt,ct,ht,dt,ut,gt=Se[nt=it[rt+=1]];(Ce.opts.strictKeywords?"object"==typeof gt&&0<Object.keys(gt).length||!1===gt:Ce.util.schemaHasRules(gt,Ce.RULES.all))&&(It=Re+(ht=Ce.util.getProperty(nt)),st=tt&&void 0!==gt.default,_e.schema=gt,_e.schemaPath=xe+ht,_e.errSchemaPath=ke+"/"+Ce.util.escapeFragment(nt),_e.errorPath=Ce.util.getPath(Ce.errorPath,nt,Ce.opts.jsonPointers),_e.dataPathArr[Ne]=Ce.util.toQuotedString(nt),vt=Ce.validate(_e),_e.baseId=ze,Ce.util.varOccurences(vt,Ge)<2?(vt=Ce.util.varReplace(vt,Ge,It),at=It):be+=" var "+(at=Ge)+" = "+It+"; ",st?be+=" "+vt+" ":(Ae&&Ae[nt]?(be+=" if ( "+at+" === undefined ",je&&(be+=" || ! Object.prototype.hasOwnProperty.call("+Re+", '"+Ce.util.escapeQuotes(nt)+"') "),be+=") { "+Le+" = false; ",lt=Ce.errorPath,ct=ke,ht=Ce.util.escapeQuotes(nt),Ce.opts._errorDataPathProperty&&(Ce.errorPath=Ce.util.getPath(lt,nt,Ce.opts.jsonPointers)),ke=Ce.errSchemaPath+"/required",(dt=dt||[]).push(be),be="",!1!==Ce.createErrors?(be+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(ke)+" , params: { missingProperty: '"+ht+"' } ",!1!==Ce.opts.messages&&(be+=" , message: '",Ce.opts._errorDataPathProperty?be+="is a required property":be+="should have required property \\'"+ht+"\\'",be+="' "),Ce.opts.verbose&&(be+=" , schema: validate.schema"+xe+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Re+" "),be+=" } "):be+=" {} ",ut=be,be=dt.pop(),!Ce.compositeRule&&Ee?Ce.async?be+=" throw new ValidationError(["+ut+"]); ":be+=" validate.errors = ["+ut+"]; return false; ":be+=" var err = "+ut+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",ke=ct,Ce.errorPath=lt,be+=" } else { "):Ee?(be+=" if ( "+at+" === undefined ",je&&(be+=" || ! Object.prototype.hasOwnProperty.call("+Re+", '"+Ce.util.escapeQuotes(nt)+"') "),be+=") { "+Le+" = true; } else { "):(be+=" if ("+at+" !== undefined ",je&&(be+=" && Object.prototype.hasOwnProperty.call("+Re+", '"+Ce.util.escapeQuotes(nt)+"') "),be+=" ) { "),be+=" "+vt+" } ")),Ee&&(be+=" if ("+Le+") { ",$e+="}")}}if(He.length){var pt=He;if(pt)for(var mt,ft=-1,Ct=pt.length-1;ft<Ct;){var It,vt;gt=Fe[mt=pt[ft+=1]],(Ce.opts.strictKeywords?"object"==typeof gt&&0<Object.keys(gt).length||!1===gt:Ce.util.schemaHasRules(gt,Ce.RULES.all))&&(_e.schema=gt,_e.schemaPath=Ce.schemaPath+".patternProperties"+Ce.util.getProperty(mt),_e.errSchemaPath=Ce.errSchemaPath+"/patternProperties/"+Ce.util.escapeFragment(mt),be=(be+=je?" "+Pe+" = "+Pe+" || Object.keys("+Re+"); for (var "+We+"=0; "+We+"<"+Pe+".length; "+We+"++) { var "+Be+" = "+Pe+"["+We+"]; ":" for (var "+Be+" in "+Re+") { ")+" if ("+Ce.usePattern(mt)+".test("+Be+")) { ",_e.errorPath=Ce.util.getPathExpr(Ce.errorPath,Be,Ce.opts.jsonPointers),It=Re+"["+Be+"]",_e.dataPathArr[Ne]=Be,vt=Ce.validate(_e),_e.baseId=ze,Ce.util.varOccurences(vt,Ge)<2?be+=" "+Ce.util.varReplace(vt,Ge,It)+" ":be+=" var "+Ge+" = "+It+"; "+vt+" ",Ee&&(be+=" if (!"+Le+") break; "),be+=" } ",Ee&&(be+=" else "+Le+" = true; "),be+=" } ",Ee&&(be+=" if ("+Le+") { ",$e+="}"))}}return Ee&&(be+=" "+$e+" if ("+Ie+" == errors) {"),be}},2127:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be,ye,we,Se,xe,ke,Ee=" ",Re=Ce.level,_e=Ce.dataLevel,$e=Ce.schema[Ie],Le=Ce.schemaPath+Ce.util.getProperty(Ie),Be=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),We=(_e="data"+(_e||""),"errs__"+Re),Ne=Ce.util.copy(Ce),Ge=(Ne.level++,"valid"+Ne.level);return Ee+="var "+We+" = errors;",(Ce.opts.strictKeywords?"object"==typeof $e&&0<Object.keys($e).length||!1===$e:Ce.util.schemaHasRules($e,Ce.RULES.all))&&(Ne.schema=$e,Ne.schemaPath=Le,Ne.errSchemaPath=Ie,$e="idx"+Re,be="i"+Re,ye="' + "+(Ae="key"+Re)+" + '",we="data"+(Ne.dataLevel=Ce.dataLevel+1),ke="dataProperties"+Re,xe=Ce.opts.ownProperties,Se=Ce.baseId,xe&&(Ee+=" var "+ke+" = undefined; "),Ee=Ee+(xe?" "+ke+" = "+ke+" || Object.keys("+_e+"); for (var "+$e+"=0; "+$e+"<"+ke+".length; "+$e+"++) { var "+Ae+" = "+ke+"["+$e+"]; ":" for (var "+Ae+" in "+_e+") { ")+" var startErrs"+Re+" = errors; ",xe=Ae,ke=Ce.compositeRule,Ce.compositeRule=Ne.compositeRule=!0,$e=Ce.validate(Ne),Ne.baseId=Se,Ce.util.varOccurences($e,we)<2?Ee+=" "+Ce.util.varReplace($e,we,xe)+" ":Ee+=" var "+we+" = "+xe+"; "+$e+" ",Ce.compositeRule=Ne.compositeRule=ke,Ee+=" if (!"+Ge+") { for (var "+be+"=startErrs"+Re+"; "+be+"<errors; "+be+"++) { vErrors["+be+"].propertyName = "+Ae+"; } var err = ",!1!==Ce.createErrors?(Ee+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: { propertyName: '"+ye+"' } ",!1!==Ce.opts.messages&&(Ee+=" , message: 'property name \\'"+ye+"\\' is invalid' "),Ce.opts.verbose&&(Ee+=" , schema: validate.schema"+Le+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+_e+" "),Ee+=" } "):Ee+=" {} ",Ee+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Ce.compositeRule&&Be&&(Ce.async?Ee+=" throw new ValidationError(vErrors); ":Ee+=" validate.errors = vErrors; return false; "),Be&&(Ee+=" break; "),Ee+=" } }"),Be&&(Ee+=" if ("+We+" == errors) {"),Ee}},2331:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be,ye,we=" ",Se=Ce.level,xe=Ce.dataLevel,ke=Ce.schema[Ie],Ee=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),Re="data"+(xe||"");if(Se="valid"+Se,"#"==ke||"#/"==ke)be=Ce.isRoot?(Ae=Ce.async,"validate"):(Ae=!0===Ce.root.schema.$async,"root.refVal[0]");else{var _e=Ce.resolveRef(Ce.baseId,ke,Ce.isRoot);if(void 0===_e){var $e=Ce.MissingRefError.message(Ce.baseId,ke);if("fail"==Ce.opts.missingRefs)Ce.logger.error($e),(ye=ye||[]).push(we),we="",!1!==Ce.createErrors?(we+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: { ref: '"+Ce.util.escapeQuotes(ke)+"' } ",!1!==Ce.opts.messages&&(we+=" , message: 'can\\'t resolve reference "+Ce.util.escapeQuotes(ke)+"' "),Ce.opts.verbose&&(we+=" , schema: "+Ce.util.toQuotedString(ke)+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Re+" "),we+=" } "):we+=" {} ",Ie=we,we=ye.pop(),!Ce.compositeRule&&Ee?Ce.async?we+=" throw new ValidationError(["+Ie+"]); ":we+=" validate.errors = ["+Ie+"]; return false; ":we+=" var err = "+Ie+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ee&&(we+=" if (false) { ");else{if("ignore"!=Ce.opts.missingRefs)throw new Ce.MissingRefError(Ce.baseId,ke,$e);Ce.logger.warn($e),Ee&&(we+=" if (true) { ")}}else _e.inline?((Ie=Ce.util.copy(Ce)).level++,$e="valid"+Ie.level,Ie.schema=_e.schema,Ie.schemaPath="",Ie.errSchemaPath=ke,we+=" "+Ce.validate(Ie).replace(/validate\.schema/g,_e.code)+" ",Ee&&(we+=" if ("+$e+") { ")):(Ae=!0===_e.$async||Ce.async&&!1!==_e.$async,be=_e.code)}if(be)if((ye=ye||[]).push(we),we="",Ce.opts.passContext?we+=" "+be+".call(this, ":we+=" "+be+"( ",we+=" "+Re+", (dataPath || '')",'""'!=Ce.errorPath&&(we+=" + "+Ce.errorPath),Ie=we+=" , "+(ke=xe?"data"+(xe-1||""):"parentData")+" , "+(xe?Ce.dataPathArr[xe]:"parentDataProperty")+", rootData) ",we=ye.pop(),Ae){if(!Ce.async)throw new Error("async schema referenced by sync schema");Ee&&(we+=" var "+Se+"; "),we+=" try { await "+Ie+"; ",Ee&&(we+=" "+Se+" = true; "),we+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",Ee&&(we+=" "+Se+" = false; "),we+=" } ",Ee&&(we+=" if ("+Se+") { ")}else we+=" if (!"+Ie+") { if (vErrors === null) vErrors = "+be+".errors; else vErrors = vErrors.concat("+be+".errors); errors = vErrors.length; } ",Ee&&(we+=" else { ");return we}},1204:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae=" ",be=Ce.level,ye=Ce.dataLevel,we=Ce.schema[Ie],Se=Ce.schemaPath+Ce.util.getProperty(Ie),xe=Ce.errSchemaPath+"/"+Ie,ke=(Ie=!Ce.opts.allErrors,"data"+(ye||"")),Ee="valid"+be,Re=Ce.opts.$data&&we&&we.$data;if(Re&&(Ae+=" var schema"+be+" = "+Ce.util.getData(we.$data,ye,Ce.dataPathArr)+"; "),ye="schema"+be,!Re)if(we.length<Ce.opts.loopRequired&&Ce.schema.properties&&Object.keys(Ce.schema.properties).length){var _e=[],$e=we;if($e)for(var Le=-1,Be=$e.length-1;Le<Be;){var We=$e[Le+=1],Ne=Ce.schema.properties[We];Ne&&(Ce.opts.strictKeywords?"object"==typeof Ne&&0<Object.keys(Ne).length||!1===Ne:Ce.util.schemaHasRules(Ne,Ce.RULES.all))||(_e[_e.length]=We)}}else _e=we;if(Re||_e.length){var Ge=Ce.errorPath,Pe=(we=Re||_e.length>=Ce.opts.loopRequired,Ce.opts.ownProperties);if(Ie)if(Ae+=" var missing"+be+"; ",we){Re||(Ae+=" var "+ye+" = validate.schema"+Se+"; ");var Fe="' + "+(De="schema"+be+"["+(Me="i"+be)+"]")+" + '";Ce.opts._errorDataPathProperty&&(Ce.errorPath=Ce.util.getPathExpr(Ge,De,Ce.opts.jsonPointers)),Ae+=" var "+Ee+" = true; ",Re&&(Ae+=" if (schema"+be+" === undefined) "+Ee+" = true; else if (!Array.isArray(schema"+be+")) "+Ee+" = false; else {"),Ae+=" for (var "+Me+" = 0; "+Me+" < "+ye+".length; "+Me+"++) { "+Ee+" = "+ke+"["+ye+"["+Me+"]] !== undefined ",Pe&&(Ae+=" && Object.prototype.hasOwnProperty.call("+ke+", "+ye+"["+Me+"]) "),Ae+="; if (!"+Ee+") break; } ",Re&&(Ae+=" } "),(Ve=Ve||[]).push(Ae+=" if (!"+Ee+") { "),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { missingProperty: '"+Fe+"' } ",!1!==Ce.opts.messages&&(Ae+=" , message: '",Ce.opts._errorDataPathProperty?Ae+="is a required property":Ae+="should have required property \\'"+Fe+"\\'",Ae+="' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ";var He=Ae;Ae=Ve.pop(),!Ce.compositeRule&&Ie?Ce.async?Ae+=" throw new ValidationError(["+He+"]); ":Ae+=" validate.errors = ["+He+"]; return false; ":Ae+=" var err = "+He+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+=" } else { "}else{Ae+=" if ( ";var Ve,Ze=_e;if(Ze)for(var Me=-1,Oe=Ze.length-1;Me<Oe;)je=Ze[Me+=1],Me&&(Ae+=" || "),Ae+=" ( ( "+(Ye=ke+(Je=Ce.util.getProperty(je)))+" === undefined ",Pe&&(Ae+=" || ! Object.prototype.hasOwnProperty.call("+ke+", '"+Ce.util.escapeQuotes(je)+"') "),Ae+=") && (missing"+be+" = "+Ce.util.toQuotedString(Ce.opts.jsonPointers?je:Je)+") ) ";Ae+=") { ",Fe="' + "+(De="missing"+be)+" + '",Ce.opts._errorDataPathProperty&&(Ce.errorPath=Ce.opts.jsonPointers?Ce.util.getPathExpr(Ge,De,!0):Ge+" + "+De),(Ve=Ve||[]).push(Ae),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { missingProperty: '"+Fe+"' } ",!1!==Ce.opts.messages&&(Ae+=" , message: '",Ce.opts._errorDataPathProperty?Ae+="is a required property":Ae+="should have required property \\'"+Fe+"\\'",Ae+="' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ",He=Ae,Ae=Ve.pop(),!Ce.compositeRule&&Ie?Ce.async?Ae+=" throw new ValidationError(["+He+"]); ":Ae+=" validate.errors = ["+He+"]; return false; ":Ae+=" var err = "+He+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+=" } else { "}else if(we){var De;Re||(Ae+=" var "+ye+" = validate.schema"+Se+"; "),Fe="' + "+(De="schema"+be+"["+(Me="i"+be)+"]")+" + '",Ce.opts._errorDataPathProperty&&(Ce.errorPath=Ce.util.getPathExpr(Ge,De,Ce.opts.jsonPointers)),Re&&(Ae+=" if ("+ye+" && !Array.isArray("+ye+")) { var err = ",!1!==Ce.createErrors?(Ae+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { missingProperty: '"+Fe+"' } ",!1!==Ce.opts.messages&&(Ae+=" , message: '",Ce.opts._errorDataPathProperty?Ae+="is a required property":Ae+="should have required property \\'"+Fe+"\\'",Ae+="' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ",Ae+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+ye+" !== undefined) { "),Ae+=" for (var "+Me+" = 0; "+Me+" < "+ye+".length; "+Me+"++) { if ("+ke+"["+ye+"["+Me+"]] === undefined ",Pe&&(Ae+=" || ! Object.prototype.hasOwnProperty.call("+ke+", "+ye+"["+Me+"]) "),Ae+=") { var err = ",!1!==Ce.createErrors?(Ae+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { missingProperty: '"+Fe+"' } ",!1!==Ce.opts.messages&&(Ae+=" , message: '",Ce.opts._errorDataPathProperty?Ae+="is a required property":Ae+="should have required property \\'"+Fe+"\\'",Ae+="' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ",Ae+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",Re&&(Ae+=" } ")}else{var Ke=_e;if(Ke)for(var je,ze=-1,Xe=Ke.length-1;ze<Xe;){je=Ke[ze+=1];var Je=Ce.util.getProperty(je),Ye=(Fe=Ce.util.escapeQuotes(je),ke+Je);Ce.opts._errorDataPathProperty&&(Ce.errorPath=Ce.util.getPath(Ge,je,Ce.opts.jsonPointers)),Ae+=" if ( "+Ye+" === undefined ",Pe&&(Ae+=" || ! Object.prototype.hasOwnProperty.call("+ke+", '"+Ce.util.escapeQuotes(je)+"') "),Ae+=") { var err = ",!1!==Ce.createErrors?(Ae+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(xe)+" , params: { missingProperty: '"+Fe+"' } ",!1!==Ce.opts.messages&&(Ae+=" , message: '",Ce.opts._errorDataPathProperty?Ae+="is a required property":Ae+="should have required property \\'"+Fe+"\\'",Ae+="' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Se+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+ke+" "),Ae+=" } "):Ae+=" {} ",Ae+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}Ce.errorPath=Ge}else Ie&&(Ae+=" if (true) {");return Ae}},1985:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae,be=" ",ye=Ce.level,we=Ce.dataLevel,Se=Ce.schema[Ie],xe=Ce.schemaPath+Ce.util.getProperty(Ie),ke=(Ie=Ce.errSchemaPath+"/"+Ie,!Ce.opts.allErrors),Ee="data"+(we||""),Re="valid"+ye,_e=Ce.opts.$data&&Se&&Se.$data;return we=_e?(be+=" var schema"+ye+" = "+Ce.util.getData(Se.$data,we,Ce.dataPathArr)+"; ","schema"+ye):Se,(Se||_e)&&!1!==Ce.opts.uniqueItems?(_e&&(be+=" var "+Re+"; if ("+we+" === false || "+we+" === undefined) "+Re+" = true; else if (typeof "+we+" != 'boolean') "+Re+" = false; else { "),be+=" var i = "+Ee+".length , "+Re+" = true , j; if (i > 1) { ",ye=Ce.schema.items&&Ce.schema.items.type,we=Array.isArray(ye),!ye||"object"==ye||"array"==ye||we&&(0<=ye.indexOf("object")||0<=ye.indexOf("array"))?be+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+Ee+"[i], "+Ee+"[j])) { "+Re+" = false; break outer; } } } ":(be=(be+=" var itemIndices = {}, item; for (;i--;) { var item = "+Ee+"[i]; ")+" if ("+Ce.util["checkDataType"+(we?"s":"")](ye,"item",Ce.opts.strictNumbers,!0)+") continue; ",we&&(be+=" if (typeof item == 'string') item = '\"' + item; "),be+=" if (typeof itemIndices[item] == 'number') { "+Re+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "),be+=" } ",_e&&(be+=" } "),(Ae=Ae||[]).push(be+=" if (!"+Re+") { "),be="",!1!==Ce.createErrors?(be+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(Ie)+" , params: { i: i, j: j } ",!1!==Ce.opts.messages&&(be+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),Ce.opts.verbose&&(be=(be+=" , schema: ")+(_e?"validate.schema"+xe:""+Se)+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),be+=" } "):be+=" {} ",ye=be,be=Ae.pop(),!Ce.compositeRule&&ke?Ce.async?be+=" throw new ValidationError(["+ye+"]); ":be+=" validate.errors = ["+ye+"]; return false; ":be+=" var err = "+ye+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",be+=" } ",ke&&(be+=" else { ")):ke&&(be+=" if (true) { "),be}},1869:function(Ce){"use strict";Ce.exports=function(Ce,Ie,ve){var Ae="",be=!0===Ce.schema.$async,ye=Ce.util.schemaHasRulesExcept(Ce.schema,Ce.RULES.all,"$ref"),we=Ce.self._getId(Ce.schema);if(Ce.opts.strictKeywords&&(ze=Ce.util.schemaUnknownRules(Ce.schema,Ce.RULES.keywords))){if(ze="unknown keyword: "+ze,"log"!==Ce.opts.strictKeywords)throw new Error(ze);Ce.logger.warn(ze)}if(Ce.isTop&&(Ae+=" var validate = ",be&&(Ce.async=!0,Ae+="async "),Ae+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",we&&(Ce.opts.sourceCode||Ce.opts.processCode)&&(Ae+=" /*# sourceURL="+we+" */ ")),"boolean"==typeof Ce.schema||!ye&&!Ce.schema.$ref)return xe=Ce.level,ke=Ce.dataLevel,Ue=Ce.schema[Ie="false schema"],Fe=Ce.schemaPath+Ce.util.getProperty(Ie),He=Ce.errSchemaPath+"/"+Ie,$e=!Ce.opts.allErrors,Ee="data"+(ke||""),_e="valid"+xe,!1===Ce.schema?(Ce.isTop?$e=!0:Ae+=" var "+_e+" = false; ",(st=st||[]).push(Ae),Ae="",!1!==Ce.createErrors?(Ae+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(He)+" , params: {} ",!1!==Ce.opts.messages&&(Ae+=" , message: 'boolean schema is false' "),Ce.opts.verbose&&(Ae+=" , schema: false , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ",je=Ae,Ae=st.pop(),!Ce.compositeRule&&$e?Ce.async?Ae+=" throw new ValidationError(["+je+"]); ":Ae+=" validate.errors = ["+je+"]; return false; ":Ae+=" var err = "+je+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "):Ce.isTop?Ae+=be?" return data; ":" validate.errors = null; return true; ":Ae+=" var "+_e+" = true; ",Ce.isTop&&(Ae+=" }; return validate; "),Ae;if(Ce.isTop){var Se=Ce.isTop,xe=Ce.level=0,ke=Ce.dataLevel=0,Ee="data";if(Ce.rootId=Ce.resolve.fullPath(Ce.self._getId(Ce.root.schema)),Ce.baseId=Ce.baseId||Ce.rootId,delete Ce.isTop,Ce.dataPathArr=[""],void 0!==Ce.schema.default&&Ce.opts.useDefaults&&Ce.opts.strictDefaults){var Re="default is ignored in the schema root";if("log"!==Ce.opts.strictDefaults)throw new Error(Re);Ce.logger.warn(Re)}Ae=(Ae+=" var vErrors = null; ")+" var errors = 0; if (rootData === undefined) rootData = data; "}else{if(xe=Ce.level,Ee="data"+((ke=Ce.dataLevel)||""),we&&(Ce.baseId=Ce.resolve.url(Ce.baseId,we)),be&&!Ce.async)throw new Error("async schema in sync schema");Ae+=" var errs_"+xe+" = errors;"}var _e="valid"+xe,$e=!Ce.opts.allErrors,Le="",Be="",We=Ce.schema.type,Ne=Array.isArray(We);if(We&&Ce.opts.nullable&&!0===Ce.schema.nullable&&(Ne?-1==We.indexOf("null")&&(We=We.concat("null")):"null"!=We&&(We=[We,"null"],Ne=!0)),Ne&&1==We.length&&(We=We[0],Ne=!1),Ce.schema.$ref&&ye){if("fail"==Ce.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+Ce.errSchemaPath+'" (see option extendRefs)');!0!==Ce.opts.extendRefs&&(ye=!1,Ce.logger.warn('$ref: keywords ignored in schema at path "'+Ce.errSchemaPath+'"'))}if(Ce.schema.$comment&&Ce.opts.$comment&&(Ae+=" "+Ce.RULES.all.$comment.code(Ce,"$comment")),We){Ce.opts.coerceTypes&&(Ge=Ce.util.coerceToTypes(Ce.opts.coerceTypes,We));var Ge,Pe=Ce.RULES.types[We];if(Ge||Ne||!0===Pe||Pe&&!z(Pe)){var Fe=Ce.schemaPath+".type",He=Ce.errSchemaPath+"/type";if(Fe=Ce.schemaPath+".type",He=Ce.errSchemaPath+"/type",Ae+=" if ("+Ce.util[Ne?"checkDataTypes":"checkDataType"](We,Ee,Ce.opts.strictNumbers,!0)+") { ",Ge){var Ve="dataType"+xe,Ze="coerced"+xe,Me=(Ae+=" var "+Ve+" = typeof "+Ee+"; var "+Ze+" = undefined; ","array"==Ce.opts.coerceTypes&&(Ae+=" if ("+Ve+" == 'object' && Array.isArray("+Ee+") && "+Ee+".length == 1) { "+Ee+" = "+Ee+"[0]; "+Ve+" = typeof "+Ee+"; if ("+Ce.util.checkDataType(Ce.schema.type,Ee,Ce.opts.strictNumbers)+") "+Ze+" = "+Ee+"; } "),Ae+=" if ("+Ze+" !== undefined) ; ",Ge);if(Me)for(var Oe,De=-1,Ke=Me.length-1;De<Ke;)"string"==(Oe=Me[De+=1])?Ae+=" else if ("+Ve+" == 'number' || "+Ve+" == 'boolean') "+Ze+" = '' + "+Ee+"; else if ("+Ee+" === null) "+Ze+" = ''; ":"number"==Oe||"integer"==Oe?(Ae+=" else if ("+Ve+" == 'boolean' || "+Ee+" === null || ("+Ve+" == 'string' && "+Ee+" && "+Ee+" == +"+Ee+" ","integer"==Oe&&(Ae+=" && !("+Ee+" % 1)"),Ae+=")) "+Ze+" = +"+Ee+"; "):"boolean"==Oe?Ae+=" else if ("+Ee+" === 'false' || "+Ee+" === 0 || "+Ee+" === null) "+Ze+" = false; else if ("+Ee+" === 'true' || "+Ee+" === 1) "+Ze+" = true; ":"null"==Oe?Ae+=" else if ("+Ee+" === '' || "+Ee+" === 0 || "+Ee+" === false) "+Ze+" = null; ":"array"==Ce.opts.coerceTypes&&"array"==Oe&&(Ae+=" else if ("+Ve+" == 'string' || "+Ve+" == 'number' || "+Ve+" == 'boolean' || "+Ee+" == null) "+Ze+" = ["+Ee+"]; ");(st=st||[]).push(Ae+=" else { "),Ae="",!1!==Ce.createErrors?(Ae=(Ae+=" { keyword: 'type' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(He)+" , params: { type: '")+(Ne?""+We.join(","):""+We)+"' } ",!1!==Ce.opts.messages&&(Ae=(Ae+=" , message: 'should be ")+(Ne?""+We.join(","):""+We)+"' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Fe+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ";var je=Ae,ze=(Ae=st.pop(),!Ce.compositeRule&&$e?Ce.async?Ae+=" throw new ValidationError(["+je+"]); ":Ae+=" validate.errors = ["+je+"]; return false; ":Ae+=" var err = "+je+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",ke?"data"+(ke-1||""):"parentData");Ae=Ae+" } if ("+Ze+" !== undefined) { "+Ee+" = "+Ze+"; ",ke||(Ae+="if ("+ze+" !== undefined)"),Ae+=" "+ze+"["+(ke?Ce.dataPathArr[ke]:"parentDataProperty")+"] = "+Ze+"; } "}else(st=st||[]).push(Ae),Ae="",!1!==Ce.createErrors?(Ae=(Ae+=" { keyword: 'type' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(He)+" , params: { type: '")+(Ne?""+We.join(","):""+We)+"' } ",!1!==Ce.opts.messages&&(Ae=(Ae+=" , message: 'should be ")+(Ne?""+We.join(","):""+We)+"' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Fe+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ",je=Ae,Ae=st.pop(),!Ce.compositeRule&&$e?Ce.async?Ae+=" throw new ValidationError(["+je+"]); ":Ae+=" validate.errors = ["+je+"]; return false; ":Ae+=" var err = "+je+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";Ae+=" } "}}if(Ce.schema.$ref&&!ye)Ae+=" "+Ce.RULES.all.$ref.code(Ce,"$ref")+" ",$e&&(Ae=(Ae+=" } if (errors === ")+(Se?"0":"errs_"+xe)+") { ",Be+="}");else{var Xe=Ce.RULES;if(Xe)for(var Je=-1,Ye=Xe.length-1;Je<Ye;)if(z(Pe=Xe[Je+=1])){if(Pe.type&&(Ae+=" if ("+Ce.util.checkDataType(Pe.type,Ee,Ce.opts.strictNumbers)+") { "),Ce.opts.useDefaults)if("object"==Pe.type&&Ce.schema.properties){var Ue=Ce.schema.properties,Qe=Object.keys(Ue);if(Qe)for(var qe,et=-1,tt=Qe.length-1;et<tt;)if(void 0!==(rt=Ue[qe=Qe[et+=1]]).default){var it=Ee+Ce.util.getProperty(qe);if(Ce.compositeRule){if(Ce.opts.strictDefaults){if(Re="default is ignored for: "+it,"log"!==Ce.opts.strictDefaults)throw new Error(Re);Ce.logger.warn(Re)}}else Ae+=" if ("+it+" === undefined ","empty"==Ce.opts.useDefaults&&(Ae+=" || "+it+" === null || "+it+" === '' "),Ae+=" ) "+it+" = ","shared"==Ce.opts.useDefaults?Ae+=" "+Ce.useDefault(rt.default)+" ":Ae+=" "+JSON.stringify(rt.default)+" ",Ae+="; "}}else if("array"==Pe.type&&Array.isArray(Ce.schema.items)){var nt=Ce.schema.items;if(nt){De=-1;for(var rt,ot=nt.length-1;De<ot;)if(void 0!==(rt=nt[De+=1]).default)if(it=Ee+"["+De+"]",Ce.compositeRule){if(Ce.opts.strictDefaults){if(Re="default is ignored for: "+it,"log"!==Ce.opts.strictDefaults)throw new Error(Re);Ce.logger.warn(Re)}}else Ae+=" if ("+it+" === undefined ","empty"==Ce.opts.useDefaults&&(Ae+=" || "+it+" === null || "+it+" === '' "),Ae+=" ) "+it+" = ","shared"==Ce.opts.useDefaults?Ae+=" "+Ce.useDefault(rt.default)+" ":Ae+=" "+JSON.stringify(rt.default)+" ",Ae+="; "}}var st,at=Pe.rules;if(at)for(var lt,ct=-1,ht=at.length-1;ct<ht;)!X(lt=at[ct+=1])||(lt=lt.code(Ce,lt.keyword,Pe.type))&&(Ae+=" "+lt+" ",$e&&(Le+="}"));$e&&(Ae+=" "+Le+" ",Le=""),Pe.type&&(Ae+=" } ",We&&We===Pe.type&&!Ge&&(Ae+=" else { ",Fe=Ce.schemaPath+".type",He=Ce.errSchemaPath+"/type",(st=st||[]).push(Ae),Ae="",!1!==Ce.createErrors?(Ae=(Ae+=" { keyword: 'type' , dataPath: (dataPath || '') + "+Ce.errorPath+" , schemaPath: "+Ce.util.toQuotedString(He)+" , params: { type: '")+(Ne?""+We.join(","):""+We)+"' } ",!1!==Ce.opts.messages&&(Ae=(Ae+=" , message: 'should be ")+(Ne?""+We.join(","):""+We)+"' "),Ce.opts.verbose&&(Ae+=" , schema: validate.schema"+Fe+" , parentSchema: validate.schema"+Ce.schemaPath+" , data: "+Ee+" "),Ae+=" } "):Ae+=" {} ",je=Ae,Ae=st.pop(),!Ce.compositeRule&&$e?Ce.async?Ae+=" throw new ValidationError(["+je+"]); ":Ae+=" validate.errors = ["+je+"]; return false; ":Ae+=" var err = "+je+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ae+=" } ")),$e&&(Ae=(Ae+=" if (errors === ")+(Se?"0":"errs_"+xe)+") { ",Be+="}")}}function z(Ce){for(var Ie=Ce.rules,ve=0;ve<Ie.length;ve++)if(X(Ie[ve]))return 1}function X(Ie){return void 0!==Ce.schema[Ie.keyword]||Ie.implements&&function(Ie){for(var ve=Ie.implements,Ae=0;Ae<ve.length;Ae++)if(void 0!==Ce.schema[ve[Ae]])return 1}(Ie)}return $e&&(Ae+=" "+Be+" "),Se?Ae=Ae+(be?" if (errors === 0) return data; else throw new ValidationError(vErrors); ":" validate.errors = vErrors; return errors === 0; ")+" }; return validate;":Ae+=" var "+_e+" = errors === errs_"+xe+";",Ae}},7931:function(Ce,Ie,ve){"use strict";var Ae=/^[a-z_$][a-z0-9_$-]*$/i,be=ve(1793),ye=ve(5868);function r(Ce,Ie){r.errors=null;var ve=this._validateKeyword=this._validateKeyword||this.compile(ye,!0);if(ve(Ce))return!0;if(r.errors=ve.errors,Ie)throw new Error("custom keyword definition is invalid: "+this.errorsText(ve.errors));return!1}Ce.exports={add:function(Ce,Ie){var ve=this.RULES;if(ve.keywords[Ce])throw new Error("Keyword "+Ce+" is already defined");if(!Ae.test(Ce))throw new Error("Keyword "+Ce+" is not a valid identifier");if(Ie){this.validateKeyword(Ie,!0);var ye=Ie.type;if(Array.isArray(ye))for(var we=0;we<ye.length;we++)o(Ce,ye[we],Ie);else o(Ce,ye,Ie);var Se=Ie.metaSchema;Se&&(Ie.$data&&this._opts.$data&&(Se={anyOf:[Se,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}),Ie.validateSchema=this.compile(Se,!0))}function o(Ce,Ie,Ae){for(var ye,we=0;we<ve.length;we++){var Se=ve[we];if(Se.type==Ie){ye=Se;break}}ye||ve.push(ye={type:Ie,rules:[]}),Ae={keyword:Ce,definition:Ae,custom:!0,code:be,implements:Ae.implements},ye.rules.push(Ae),ve.custom[Ce]=Ae}return ve.keywords[Ce]=ve.all[Ce]=!0,this},get:function(Ce){var Ie=this.RULES.custom[Ce];return Ie?Ie.definition:this.RULES.keywords[Ce]||!1},remove:function(Ce){var Ie=this.RULES;delete Ie.keywords[Ce],delete Ie.all[Ce],delete Ie.custom[Ce];for(var ve=0;ve<Ie.length;ve++)for(var Ae=Ie[ve].rules,be=0;be<Ae.length;be++)if(Ae[be].keyword==Ce){Ae.splice(be,1);break}return this},validate:r}},2303:function(Ce){"use strict";Ce.exports=function e(Ce,Ie){if(Ce===Ie)return!0;if(Ce&&Ie&&"object"==typeof Ce&&"object"==typeof Ie){if(Ce.constructor!==Ie.constructor)return!1;var ve,Ae,be;if(Array.isArray(Ce)){if((ve=Ce.length)!=Ie.length)return!1;for(Ae=ve;0!=Ae--;)if(!e(Ce[Ae],Ie[Ae]))return!1;return!0}if(Ce.constructor===RegExp)return Ce.source===Ie.source&&Ce.flags===Ie.flags;if(Ce.valueOf!==Object.prototype.valueOf)return Ce.valueOf()===Ie.valueOf();if(Ce.toString!==Object.prototype.toString)return Ce.toString()===Ie.toString();if((ve=(be=Object.keys(Ce)).length)!==Object.keys(Ie).length)return!1;for(Ae=ve;0!=Ae--;)if(!Object.prototype.hasOwnProperty.call(Ie,be[Ae]))return!1;for(Ae=ve;0!=Ae--;){var ye=be[Ae];if(!e(Ce[ye],Ie[ye]))return!1}return!0}return Ce!=Ce&&Ie!=Ie}},3508:function(Ce){"use strict";Ce.exports=function(Ce,Ie){var ve,Ae="boolean"==typeof(Ie="function"==typeof(Ie=Ie||{})?{cmp:Ie}:Ie).cycles&&Ie.cycles,be=Ie.cmp&&(ve=Ie.cmp,function(Ce){return function(Ie,Ae){return Ie={key:Ie,value:Ce[Ie]},Ae={key:Ae,value:Ce[Ae]},ve(Ie,Ae)}}),ye=[];return function e(Ce){if(void 0!==(Ce=Ce&&Ce.toJSON&&"function"==typeof Ce.toJSON?Ce.toJSON():Ce)){if("number"==typeof Ce)return isFinite(Ce)?""+Ce:"null";if("object"!=typeof Ce)return JSON.stringify(Ce);if(Array.isArray(Ce)){for(we="[",Se=0;Se<Ce.length;Se++)Se&&(we+=","),we+=e(Ce[Se])||"null";return we+"]"}if(null===Ce)return"null";if(-1!==ye.indexOf(Ce)){if(Ae)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}for(var Ie=ye.push(Ce)-1,ve=Object.keys(Ce).sort(be&&be(Ce)),we="",Se=0;Se<ve.length;Se++){var xe=ve[Se],ke=e(Ce[xe]);ke&&(we&&(we+=","),we+=JSON.stringify(xe)+":"+ke)}return ye.splice(Ie,1),"{"+we+"}"}}(Ce)}},233:function(Ce){Ce.exports=function h(Ce,Ie){"use strict";function i(Ce){return h.insensitive&&(""+Ce).toLowerCase()||""+Ce}var ve,Ae,be=/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,ye=/(^[ ]*|[ ]*$)/g,we=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,Se=/^0x[0-9a-f]+$/i,xe=/^0/,ke=(Ce=i(Ce).replace(ye,"")||"",Ie=i(Ie).replace(ye,"")||"",Ce.replace(be,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0")),Ee=Ie.replace(be,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0");if(ye=parseInt(Ce.match(Se),16)||1!==ke.length&&Ce.match(we)&&Date.parse(Ce),be=parseInt(Ie.match(Se),16)||ye&&Ie.match(we)&&Date.parse(Ie)||null){if(ye<be)return-1;if(be<ye)return 1}for(var Re=0,_e=Math.max(ke.length,Ee.length);Re<_e;Re++){if(ve=!(ke[Re]||"").match(xe)&&parseFloat(ke[Re])||ke[Re]||0,Ae=!(Ee[Re]||"").match(xe)&&parseFloat(Ee[Re])||Ee[Re]||0,isNaN(ve)!==isNaN(Ae))return isNaN(ve)?1:-1;if(typeof ve!=typeof Ae&&(ve+="",Ae+=""),ve<Ae)return-1;if(Ae<ve)return 1}return 0}},5156:function(Ce,Ie){!function(Ce){"use strict";function w(Ce){return null!==Ce&&"[object Array]"===Object.prototype.toString.call(Ce)}function k(Ce){return null!==Ce&&"[object Object]"===Object.prototype.toString.call(Ce)}function E(Ce,Ie){if(Ce===Ie)return!0;if(Object.prototype.toString.call(Ce)!==Object.prototype.toString.call(Ie))return!1;if(!0===w(Ce)){if(Ce.length!==Ie.length)return!1;for(var ve=0;ve<Ce.length;ve++)if(!1===E(Ce[ve],Ie[ve]))return!1;return!0}if(!0!==k(Ce))return!1;var Ae,be,ye={};for(Ae in Ce)if(hasOwnProperty.call(Ce,Ae)){if(!1===E(Ce[Ae],Ie[Ae]))return!1;ye[Ae]=!0}for(be in Ie)if(hasOwnProperty.call(Ie,be)&&!0!==ye[be])return!1;return!0}function R(Ce){if(""===Ce||!1===Ce||null===Ce)return!0;if(w(Ce)&&0===Ce.length)return!0;if(k(Ce)){for(var Ie in Ce)if(Ce.hasOwnProperty(Ie))return!1;return!0}return!1}var Ie="function"==typeof String.prototype.trimLeft?function(Ce){return Ce.trimLeft()}:function(Ce){return Ce.match(/^\s*(.*)/)[1]},ve={0:"number",1:"any",2:"string",3:"array",4:"object",5:"boolean",6:"expression",7:"null",8:"Array<number>",9:"Array<string>"},Ae="UnquotedIdentifier",be="QuotedIdentifier",ye="Rbracket",we="Rparen",Se="Comma",xe="Colon",ke="Rbrace",Ee="Number",Re="Current",_e="Expref",$e="Pipe",Le="Flatten",Be="Star",We="Filter",Ne="Lbrace",Ge="Lbracket",Pe="Lparen",Fe="Literal",He={".":"Dot","*":Be,",":Se,":":xe,"{":Ne,"}":ke,"]":ye,"(":Pe,")":we,"@":Re},Ve={"<":!0,">":!0,"=":!0,"!":!0},Ze={" ":!0,"\t":!0,"\n":!0};function L(Ce){return"0"<=Ce&&Ce<="9"||"-"===Ce}function i(){}i.prototype={tokenize:function(Ce){var Ie,ve,ye=[];for(this._current=0;this._current<Ce.length;)if("a"<=(Se=Ce[this._current])&&Se<="z"||"A"<=Se&&Se<="Z"||"_"===Se)we=this._current,Ie=this._consumeUnquotedIdentifier(Ce),ye.push({type:Ae,value:Ie,start:we});else if(void 0!==He[Ce[this._current]])ye.push({type:He[Ce[this._current]],value:Ce[this._current],start:this._current}),this._current++;else if(L(Ce[this._current]))ve=this._consumeNumber(Ce),ye.push(ve);else if("["===Ce[this._current])ve=this._consumeLBracket(Ce),ye.push(ve);else if('"'===Ce[this._current])we=this._current,Ie=this._consumeQuotedIdentifier(Ce),ye.push({type:be,value:Ie,start:we});else if("'"===Ce[this._current])we=this._current,Ie=this._consumeRawStringLiteral(Ce),ye.push({type:Fe,value:Ie,start:we});else if("`"===Ce[this._current]){var we=this._current,Se=this._consumeLiteral(Ce);ye.push({type:Fe,value:Se,start:we})}else if(void 0!==Ve[Ce[this._current]])ye.push(this._consumeOperator(Ce));else if(void 0!==Ze[Ce[this._current]])this._current++;else if("&"===Ce[this._current])we=this._current,this._current++,"&"===Ce[this._current]?(this._current++,ye.push({type:"And",value:"&&",start:we})):ye.push({type:_e,value:"&",start:we});else{if("|"!==Ce[this._current])throw(Se=new Error("Unknown character:"+Ce[this._current])).name="LexerError",Se;we=this._current,this._current++,"|"===Ce[this._current]?(this._current++,ye.push({type:"Or",value:"||",start:we})):ye.push({type:$e,value:"|",start:we})}return ye},_consumeUnquotedIdentifier:function(Ce){var Ie,ve=this._current;for(this._current++;this._current<Ce.length&&("a"<=(Ie=Ce[this._current])&&Ie<="z"||"A"<=Ie&&Ie<="Z"||"0"<=Ie&&Ie<="9"||"_"===Ie);)this._current++;return Ce.slice(ve,this._current)},_consumeQuotedIdentifier:function(Ce){for(var Ie=this._current,ve=(this._current++,Ce.length);'"'!==Ce[this._current]&&this._current<ve;){var Ae=this._current;"\\"!==Ce[Ae]||"\\"!==Ce[Ae+1]&&'"'!==Ce[Ae+1]?Ae++:Ae+=2,this._current=Ae}return this._current++,JSON.parse(Ce.slice(Ie,this._current))},_consumeRawStringLiteral:function(Ce){for(var Ie=this._current,ve=(this._current++,Ce.length);"'"!==Ce[this._current]&&this._current<ve;){var Ae=this._current;"\\"!==Ce[Ae]||"\\"!==Ce[Ae+1]&&"'"!==Ce[Ae+1]?Ae++:Ae+=2,this._current=Ae}return this._current++,Ce.slice(Ie+1,this._current-1).replace("\\'","'")},_consumeNumber:function(Ce){for(var Ie=this._current,ve=(this._current++,Ce.length);L(Ce[this._current])&&this._current<ve;)this._current++;var Ae=parseInt(Ce.slice(Ie,this._current));return{type:Ee,value:Ae,start:Ie}},_consumeLBracket:function(Ce){var Ie=this._current;return this._current++,"?"===Ce[this._current]?(this._current++,{type:We,value:"[?",start:Ie}):"]"===Ce[this._current]?(this._current++,{type:Le,value:"[]",start:Ie}):{type:Ge,value:"[",start:Ie}},_consumeOperator:function(Ce){var Ie=this._current,ve=Ce[Ie];return this._current++,"!"===ve?"="===Ce[this._current]?(this._current++,{type:"NE",value:"!=",start:Ie}):{type:"Not",value:"!",start:Ie}:"<"===ve?"="===Ce[this._current]?(this._current++,{type:"LTE",value:"<=",start:Ie}):{type:"LT",value:"<",start:Ie}:">"===ve?"="===Ce[this._current]?(this._current++,{type:"GTE",value:">=",start:Ie}):{type:"GT",value:">",start:Ie}:"="===ve&&"="===Ce[this._current]?(this._current++,{type:"EQ",value:"==",start:Ie}):void 0},_consumeLiteral:function(Ce){this._current++;for(var ve=this._current,Ae=Ce.length;"`"!==Ce[this._current]&&this._current<Ae;){var be=this._current;"\\"!==Ce[be]||"\\"!==Ce[be+1]&&"`"!==Ce[be+1]?be++:be+=2,this._current=be}return ve=(ve=Ie(Ce.slice(ve,this._current))).replace("\\`","`"),ve=this._looksLikeJSON(ve)?JSON.parse(ve):JSON.parse('"'+ve+'"'),this._current++,ve},_looksLikeJSON:function(Ce){if(""===Ce)return!1;if(0<='[{"'.indexOf(Ce[0]))return!0;if(0<=["true","false","null"].indexOf(Ce))return!0;if(!(0<="-0123456789".indexOf(Ce[0])))return!1;try{return JSON.parse(Ce),!0}catch(Ce){return!1}}};var Me={};function B(){}function W(Ce){this.runtime=Ce}function N(Ce){this._interpreter=Ce,this.functionTable={abs:{_func:this._functionAbs,_signature:[{types:[0]}]},avg:{_func:this._functionAvg,_signature:[{types:[8]}]},ceil:{_func:this._functionCeil,_signature:[{types:[0]}]},contains:{_func:this._functionContains,_signature:[{types:[2,3]},{types:[1]}]},ends_with:{_func:this._functionEndsWith,_signature:[{types:[2]},{types:[2]}]},floor:{_func:this._functionFloor,_signature:[{types:[0]}]},length:{_func:this._functionLength,_signature:[{types:[2,3,4]}]},map:{_func:this._functionMap,_signature:[{types:[6]},{types:[3]}]},max:{_func:this._functionMax,_signature:[{types:[8,9]}]},merge:{_func:this._functionMerge,_signature:[{types:[4],variadic:!0}]},max_by:{_func:this._functionMaxBy,_signature:[{types:[3]},{types:[6]}]},sum:{_func:this._functionSum,_signature:[{types:[8]}]},starts_with:{_func:this._functionStartsWith,_signature:[{types:[2]},{types:[2]}]},min:{_func:this._functionMin,_signature:[{types:[8,9]}]},min_by:{_func:this._functionMinBy,_signature:[{types:[3]},{types:[6]}]},type:{_func:this._functionType,_signature:[{types:[1]}]},keys:{_func:this._functionKeys,_signature:[{types:[4]}]},values:{_func:this._functionValues,_signature:[{types:[4]}]},sort:{_func:this._functionSort,_signature:[{types:[9,8]}]},sort_by:{_func:this._functionSortBy,_signature:[{types:[3]},{types:[6]}]},join:{_func:this._functionJoin,_signature:[{types:[2]},{types:[9]}]},reverse:{_func:this._functionReverse,_signature:[{types:[2,3]}]},to_array:{_func:this._functionToArray,_signature:[{types:[1]}]},to_string:{_func:this._functionToString,_signature:[{types:[1]}]},to_number:{_func:this._functionToNumber,_signature:[{types:[1]}]},not_null:{_func:this._functionNotNull,_signature:[{types:[1],variadic:!0}]}}}Me.EOF=0,Me[Ae]=0,Me[be]=0,Me[ye]=0,Me[we]=0,Me[Se]=0,Me[ke]=0,Me[Ee]=0,Me[Re]=0,Me[_e]=0,Me.Pipe=1,Me.Or=2,Me.And=3,Me.EQ=5,Me.GT=5,Me.LT=5,Me.GTE=5,Me.LTE=5,Me.NE=5,Me[Le]=9,Me.Star=20,Me[We]=21,Me.Dot=40,Me.Not=45,Me[Ne]=50,Me[Ge]=55,Me[Pe]=60,B.prototype={parse:function(Ce){var Ie;if(this._loadTokens(Ce),this.index=0,Ce=this.expression(0),"EOF"!==this._lookahead(0))throw Ie=this._lookaheadToken(0),(Ie=new Error("Unexpected token type: "+Ie.type+", value: "+Ie.value)).name="ParserError",Ie;return Ce},_loadTokens:function(Ce){var Ie=(new i).tokenize(Ce);Ie.push({type:"EOF",value:"",start:Ce.length}),this.tokens=Ie},expression:function(Ce){for(var Ie=this._lookaheadToken(0),ve=(this._advance(),this.nud(Ie)),Ae=this._lookahead(0);Ce<Me[Ae];)this._advance(),ve=this.led(Ae,ve),Ae=this._lookahead(0);return ve},_lookahead:function(Ce){return this.tokens[this.index+Ce].type},_lookaheadToken:function(Ce){return this.tokens[this.index+Ce]},_advance:function(){this.index++},nud:function(Ce){var Ie,ve;switch(Ce.type){case Fe:return{type:"Literal",value:Ce.value};case Ae:return{type:"Field",name:Ce.value};case be:var Se={type:"Field",name:Ce.value};if(this._lookahead(0)===Pe)throw new Error("Quoted identifier not allowed for function names.");return Se;case"Not":return{type:"NotExpression",children:[Ie=this.expression(Me.Not)]};case Be:return Ie=null,{type:"ValueProjection",children:[{type:"Identity"},Ie=this._lookahead(0)===ye?{type:"Identity"}:this._parseProjectionRHS(Me.Star)]};case We:return this.led(Ce.type,{type:"Identity"});case Ne:return this._parseMultiselectHash();case Le:return{type:"Projection",children:[{type:Le,children:[{type:"Identity"}]},Ie=this._parseProjectionRHS(Me.Flatten)]};case Ge:return this._lookahead(0)===Ee||this._lookahead(0)===xe?(Ie=this._parseIndexExpression(),this._projectIfSlice({type:"Identity"},Ie)):this._lookahead(0)===Be&&this._lookahead(1)===ye?(this._advance(),this._advance(),{type:"Projection",children:[{type:"Identity"},Ie=this._parseProjectionRHS(Me.Star)]}):this._parseMultiselectList();case Re:return{type:Re};case _e:return{type:"ExpressionReference",children:[ve=this.expression(Me.Expref)]};case Pe:for(var ke=[];this._lookahead(0)!==we;)this._lookahead(0)===Re?(ve={type:Re},this._advance()):ve=this.expression(0),ke.push(ve);return this._match(we),ke[0];default:this._errorToken(Ce)}},led:function(Ce,Ie){var ve;switch(Ce){case"Dot":var Ae=Me.Dot;return this._lookahead(0)!==Be?{type:"Subexpression",children:[Ie,ve=this._parseDotRHS(Ae)]}:(this._advance(),{type:"ValueProjection",children:[Ie,ve=this._parseProjectionRHS(Ae)]});case $e:return ve=this.expression(Me.Pipe),{type:$e,children:[Ie,ve]};case"Or":return{type:"OrExpression",children:[Ie,ve=this.expression(Me.Or)]};case"And":return{type:"AndExpression",children:[Ie,ve=this.expression(Me.And)]};case Pe:Ae=Ie.name;for(var be,ke=[];this._lookahead(0)!==we;)this._lookahead(0)===Re?(be={type:Re},this._advance()):be=this.expression(0),this._lookahead(0)===Se&&this._match(Se),ke.push(be);return this._match(we),{type:"Function",name:Ae,children:ke};case We:return Ae=this.expression(0),this._match(ye),{type:"FilterProjection",children:[Ie,ve=this._lookahead(0)===Le?{type:"Identity"}:this._parseProjectionRHS(Me.Filter),Ae]};case Le:return{type:"Projection",children:[{type:Le,children:[Ie]},this._parseProjectionRHS(Me.Flatten)]};case"EQ":case"NE":case"GT":case"GTE":case"LT":case"LTE":return this._parseComparator(Ie,Ce);case Ge:return(Ae=this._lookaheadToken(0)).type===Ee||Ae.type===xe?(ve=this._parseIndexExpression(),this._projectIfSlice(Ie,ve)):(this._match(Be),this._match(ye),{type:"Projection",children:[Ie,ve=this._parseProjectionRHS(Me.Star)]});default:this._errorToken(this._lookaheadToken(0))}},_match:function(Ce){var Ie;if(this._lookahead(0)!==Ce)throw Ie=this._lookaheadToken(0),(Ce=new Error("Expected "+Ce+", got: "+Ie.type)).name="ParserError",Ce;this._advance()},_errorToken:function(Ce){throw(Ce=new Error("Invalid token ("+Ce.type+'): "'+Ce.value+'"')).name="ParserError",Ce},_parseIndexExpression:function(){var Ce;return this._lookahead(0)===xe||this._lookahead(1)===xe?this._parseSliceExpression():(Ce={type:"Index",value:this._lookaheadToken(0).value},this._advance(),this._match(ye),Ce)},_projectIfSlice:function(Ce,Ie){return Ce={type:"IndexExpression",children:[Ce,Ie]},"Slice"===Ie.type?{type:"Projection",children:[Ce,this._parseProjectionRHS(Me.Star)]}:Ce},_parseSliceExpression:function(){for(var Ce,Ie=[null,null,null],ve=0,Ae=this._lookahead(0);Ae!==ye&&ve<3;){if(Ae===xe)ve++,this._advance();else{if(Ae!==Ee)throw Ce=this._lookahead(0),(Ce=new Error("Syntax error, unexpected token: "+Ce.value+"("+Ce.type+")")).name="Parsererror",Ce;Ie[ve]=this._lookaheadToken(0).value,this._advance()}Ae=this._lookahead(0)}return this._match(ye),{type:"Slice",children:Ie}},_parseComparator:function(Ce,Ie){return{type:"Comparator",name:Ie,children:[Ce,this.expression(Me[Ie])]}},_parseDotRHS:function(Ce){var Ie=this._lookahead(0);return 0<=[Ae,be,Be].indexOf(Ie)?this.expression(Ce):Ie===Ge?(this._match(Ge),this._parseMultiselectList()):Ie===Ne?(this._match(Ne),this._parseMultiselectHash()):void 0},_parseProjectionRHS:function(Ce){var Ie,ve;if(Me[this._lookahead(0)]<10)Ie={type:"Identity"};else if(this._lookahead(0)===Ge)Ie=this.expression(Ce);else if(this._lookahead(0)===We)Ie=this.expression(Ce);else{if("Dot"!==this._lookahead(0))throw ve=this._lookaheadToken(0),(ve=new Error("Sytanx error, unexpected token: "+ve.value+"("+ve.type+")")).name="ParserError",ve;this._match("Dot"),Ie=this._parseDotRHS(Ce)}return Ie},_parseMultiselectList:function(){for(var Ce=[];this._lookahead(0)!==ye;){var Ie=this.expression(0);if(Ce.push(Ie),this._lookahead(0)===Se&&(this._match(Se),this._lookahead(0)===ye))throw new Error("Unexpected token Rbracket")}return this._match(ye),{type:"MultiSelectList",children:Ce}},_parseMultiselectHash:function(){for(var Ce,Ie,ve=[],ye=[Ae,be];;){if(Ce=this._lookaheadToken(0),ye.indexOf(Ce.type)<0)throw new Error("Expecting an identifier token, got: "+Ce.type);if(Ce=Ce.value,this._advance(),this._match(xe),Ie=this.expression(0),ve.push({type:"KeyValuePair",name:Ce,value:Ie}),this._lookahead(0)===Se)this._match(Se);else if(this._lookahead(0)===ke){this._match(ke);break}}return{type:"MultiSelectHash",children:ve}}},W.prototype={search:function(Ce,Ie){return this.visit(Ce,Ie)},visit:function(Ce,Ie){var ve,Ae,be,ye,we,Se;switch(Ce.type){case"Field":return null!==Ie&&k(Ie)?void 0===(xe=Ie[Ce.name])?null:xe:null;case"Subexpression":for(We=this.visit(Ce.children[0],Ie),Fe=1;Fe<Ce.children.length;Fe++)if(null===(We=this.visit(Ce.children[1],We)))return null;return We;case"IndexExpression":return we=this.visit(Ce.children[0],Ie),this.visit(Ce.children[1],we);case"Index":return w(Ie)?void 0===(We=Ie[xe=(xe=Ce.value)<0?Ie.length+xe:xe])?null:We:null;case"Slice":if(!w(Ie))return null;var xe=Ce.children.slice(0),ke=(xe=this.computeSliceParams(Ie.length,xe))[0],Ee=xe[1],Be=xe[2],We=[];if(0<Be)for(Fe=ke;Fe<Ee;Fe+=Be)We.push(Ie[Fe]);else for(Fe=ke;Ee<Fe;Fe+=Be)We.push(Ie[Fe]);return We;case"Projection":var Ne=this.visit(Ce.children[0],Ie);if(!w(Ne))return null;for(Ge=[],Fe=0;Fe<Ne.length;Fe++)null!==(Ae=this.visit(Ce.children[1],Ne[Fe]))&&Ge.push(Ae);return Ge;case"ValueProjection":if(!k(Ne=this.visit(Ce.children[0],Ie)))return null;for(var Ge=[],Pe=function(Ce){for(var Ie=Object.keys(Ce),ve=[],Ae=0;Ae<Ie.length;Ae++)ve.push(Ce[Ie[Ae]]);return ve}(Ne),Fe=0;Fe<Pe.length;Fe++)null!==(Ae=this.visit(Ce.children[1],Pe[Fe]))&&Ge.push(Ae);return Ge;case"FilterProjection":if(!w(Ne=this.visit(Ce.children[0],Ie)))return null;var He=[],Ve=[];for(Fe=0;Fe<Ne.length;Fe++)R(ve=this.visit(Ce.children[2],Ne[Fe]))||He.push(Ne[Fe]);for(var Ze=0;Ze<He.length;Ze++)null!==(Ae=this.visit(Ce.children[1],He[Ze]))&&Ve.push(Ae);return Ve;case"Comparator":switch(be=this.visit(Ce.children[0],Ie),ye=this.visit(Ce.children[1],Ie),Ce.name){case"EQ":We=E(be,ye);break;case"NE":We=!E(be,ye);break;case"GT":We=ye<be;break;case"GTE":We=ye<=be;break;case"LT":We=be<ye;break;case"LTE":We=be<=ye;break;default:throw new Error("Unknown comparator: "+Ce.name)}return We;case Le:var Me=this.visit(Ce.children[0],Ie);if(!w(Me))return null;var Oe=[];for(Fe=0;Fe<Me.length;Fe++)w(Ae=Me[Fe])?Oe.push.apply(Oe,Ae):Oe.push(Ae);return Oe;case"Identity":return Ie;case"MultiSelectList":if(null===Ie)return null;for(Ge=[],Fe=0;Fe<Ce.children.length;Fe++)Ge.push(this.visit(Ce.children[Fe],Ie));return Ge;case"MultiSelectHash":if(null===Ie)return null;for(Ge={},Fe=0;Fe<Ce.children.length;Fe++)Ge[(Se=Ce.children[Fe]).name]=this.visit(Se.value,Ie);return Ge;case"OrExpression":return R(ve=this.visit(Ce.children[0],Ie))?this.visit(Ce.children[1],Ie):ve;case"AndExpression":return!0===R(be=this.visit(Ce.children[0],Ie))?be:this.visit(Ce.children[1],Ie);case"NotExpression":return R(be=this.visit(Ce.children[0],Ie));case"Literal":return Ce.value;case $e:return we=this.visit(Ce.children[0],Ie),this.visit(Ce.children[1],we);case Re:return Ie;case"Function":var De=[];for(Fe=0;Fe<Ce.children.length;Fe++)De.push(this.visit(Ce.children[Fe],Ie));return this.runtime.callFunction(Ce.name,De);case"ExpressionReference":return(xe=Ce.children[0]).jmespathType=_e,xe;default:throw new Error("Unknown node type: "+Ce.type)}},computeSliceParams:function(Ce,Ie){var ve=Ie[0],Ae=Ie[1],be=[null,null,null];if(null===(Ie=Ie[2]))Ie=1;else if(0===Ie)throw(ye=new Error("Invalid slice, step cannot be 0")).name="RuntimeError",ye;var ye=Ie<0;return ve=null===ve?ye?Ce-1:0:this.capSliceRange(Ce,ve,Ie),Ae=null===Ae?ye?-1:Ce:this.capSliceRange(Ce,Ae,Ie),be[0]=ve,be[1]=Ae,be[2]=Ie,be},capSliceRange:function(Ce,Ie,ve){return Ie<0?(Ie+=Ce)<0&&(Ie=ve<0?-1:0):Ce<=Ie&&(Ie=ve<0?Ce-1:Ce),Ie}},N.prototype={callFunction:function(Ce,Ie){var ve=this.functionTable[Ce];if(void 0===ve)throw new Error("Unknown function: "+Ce+"()");return this._validateArgs(Ce,Ie,ve._signature),ve._func.call(this,Ie)},_validateArgs:function(Ce,Ie,Ae){var be;if(Ae[Ae.length-1].variadic){if(Ie.length<Ae.length)throw be=1===Ae.length?" argument":" arguments",new Error("ArgumentError: "+Ce+"() takes at least"+Ae.length+be+" but received "+Ie.length)}else if(Ie.length!==Ae.length)throw be=1===Ae.length?" argument":" arguments",new Error("ArgumentError: "+Ce+"() takes "+Ae.length+be+" but received "+Ie.length);for(var ye=0;ye<Ae.length;ye++){for(var we,Se=!1,xe=Ae[ye].types,ke=this._getTypeName(Ie[ye]),Ee=0;Ee<xe.length;Ee++)if(this._typeMatches(ke,xe[Ee],Ie[ye])){Se=!0;break}if(!Se)throw we=xe.map((function(Ce){return ve[Ce]})).join(","),new Error("TypeError: "+Ce+"() expected argument "+(ye+1)+" to be type "+we+" but received type "+ve[ke]+" instead.")}},_typeMatches:function(Ce,Ie,ve){if(1===Ie)return!0;if(9!==Ie&&8!==Ie&&3!==Ie)return Ce===Ie;if(3===Ie)return 3===Ce;if(3===Ce){var Ae;8===Ie?Ae=0:9===Ie&&(Ae=2);for(var be=0;be<ve.length;be++)if(!this._typeMatches(this._getTypeName(ve[be]),Ae,ve[be]))return!1;return!0}},_getTypeName:function(Ce){switch(Object.prototype.toString.call(Ce)){case"[object String]":return 2;case"[object Number]":return 0;case"[object Array]":return 3;case"[object Boolean]":return 5;case"[object Null]":return 7;case"[object Object]":return Ce.jmespathType===_e?6:4}},_functionStartsWith:function(Ce){return 0===Ce[0].lastIndexOf(Ce[1])},_functionEndsWith:function(Ce){var Ie=Ce[0];return Ce=Ce[1],-1!==Ie.indexOf(Ce,Ie.length-Ce.length)},_functionReverse:function(Ce){var Ie;if(2!==this._getTypeName(Ce[0]))return(Ie=Ce[0].slice(0)).reverse(),Ie;for(var ve=Ce[0],Ae="",be=ve.length-1;0<=be;be--)Ae+=ve[be];return Ae},_functionAbs:function(Ce){return Math.abs(Ce[0])},_functionCeil:function(Ce){return Math.ceil(Ce[0])},_functionAvg:function(Ce){for(var Ie=0,ve=Ce[0],Ae=0;Ae<ve.length;Ae++)Ie+=ve[Ae];return Ie/ve.length},_functionContains:function(Ce){return 0<=Ce[0].indexOf(Ce[1])},_functionFloor:function(Ce){return Math.floor(Ce[0])},_functionLength:function(Ce){return(k(Ce[0])?Object.keys(Ce[0]):Ce[0]).length},_functionMap:function(Ce){for(var Ie=[],ve=this._interpreter,Ae=Ce[0],be=Ce[1],ye=0;ye<be.length;ye++)Ie.push(ve.visit(Ae,be[ye]));return Ie},_functionMerge:function(Ce){for(var Ie={},ve=0;ve<Ce.length;ve++){var Ae,be=Ce[ve];for(Ae in be)Ie[Ae]=be[Ae]}return Ie},_functionMax:function(Ce){if(0<Ce[0].length){if(0===this._getTypeName(Ce[0][0]))return Math.max.apply(Math,Ce[0]);for(var Ie=Ce[0],ve=Ie[0],Ae=1;Ae<Ie.length;Ae++)ve.localeCompare(Ie[Ae])<0&&(ve=Ie[Ae]);return ve}return null},_functionMin:function(Ce){if(0<Ce[0].length){if(0===this._getTypeName(Ce[0][0]))return Math.min.apply(Math,Ce[0]);for(var Ie=Ce[0],ve=Ie[0],Ae=1;Ae<Ie.length;Ae++)Ie[Ae].localeCompare(ve)<0&&(ve=Ie[Ae]);return ve}return null},_functionSum:function(Ce){for(var Ie=0,ve=Ce[0],Ae=0;Ae<ve.length;Ae++)Ie+=ve[Ae];return Ie},_functionType:function(Ce){switch(this._getTypeName(Ce[0])){case 0:return"number";case 2:return"string";case 3:return"array";case 4:return"object";case 5:return"boolean";case 6:return"expref";case 7:return"null"}},_functionKeys:function(Ce){return Object.keys(Ce[0])},_functionValues:function(Ce){for(var Ie=Ce[0],ve=Object.keys(Ie),Ae=[],be=0;be<ve.length;be++)Ae.push(Ie[ve[be]]);return Ae},_functionJoin:function(Ce){var Ie=Ce[0];return Ce[1].join(Ie)},_functionToArray:function(Ce){return 3===this._getTypeName(Ce[0])?Ce[0]:[Ce[0]]},_functionToString:function(Ce){return 2===this._getTypeName(Ce[0])?Ce[0]:JSON.stringify(Ce[0])},_functionToNumber:function(Ce){var Ie,ve=this._getTypeName(Ce[0]);return 0===ve?Ce[0]:2!==ve||(Ie=+Ce[0],isNaN(Ie))?null:Ie},_functionNotNull:function(Ce){for(var Ie=0;Ie<Ce.length;Ie++)if(7!==this._getTypeName(Ce[Ie]))return Ce[Ie];return null},_functionSort:function(Ce){return(Ce=Ce[0].slice(0)).sort(),Ce},_functionSortBy:function(Ce){var Ie=Ce[0].slice(0);if(0===Ie.length)return Ie;var ve=this._interpreter,Ae=Ce[1],be=this._getTypeName(ve.visit(Ae,Ie[0]));if([0,2].indexOf(be)<0)throw new Error("TypeError");for(var ye=this,we=[],Se=0;Se<Ie.length;Se++)we.push([Se,Ie[Se]]);we.sort((function(Ce,Ie){var we=ve.visit(Ae,Ce[1]),Se=ve.visit(Ae,Ie[1]);if(ye._getTypeName(we)!==be)throw new Error("TypeError: expected "+be+", received "+ye._getTypeName(we));if(ye._getTypeName(Se)!==be)throw new Error("TypeError: expected "+be+", received "+ye._getTypeName(Se));return Se<we?1:we<Se?-1:Ce[0]-Ie[0]}));for(var xe=0;xe<we.length;xe++)Ie[xe]=we[xe][1];return Ie},_functionMaxBy:function(Ce){for(var Ie,ve,Ae=Ce[1],be=Ce[0],ye=this.createKeyFunction(Ae,[0,2]),we=-1/0,Se=0;Se<be.length;Se++)we<(ve=ye(be[Se]))&&(we=ve,Ie=be[Se]);return Ie},_functionMinBy:function(Ce){for(var Ie,ve,Ae=Ce[1],be=Ce[0],ye=this.createKeyFunction(Ae,[0,2]),we=1/0,Se=0;Se<be.length;Se++)(ve=ye(be[Se]))<we&&(we=ve,Ie=be[Se]);return Ie},createKeyFunction:function(Ce,Ie){var ve=this,Ae=this._interpreter;return function(be){var ye;if(be=Ae.visit(Ce,be),Ie.indexOf(ve._getTypeName(be))<0)throw ye="TypeError: expected one of "+Ie+", received "+ve._getTypeName(be),new Error(ye);return be}}},Ce.tokenize=function(Ce){return(new i).tokenize(Ce)},Ce.compile=function(Ce){return(new B).parse(Ce)},Ce.search=function(Ce,Ie){var ve=new B,Ae=new W(be=new N),be=(be._interpreter=Ae,ve.parse(Ie));return Ae.search(be,Ce)},Ce.strictDeepEqual=E}(Ie)},500:function(Ce){"use strict";var Ie=Ce.exports=function(Ce,ve,Ae){"function"==typeof ve&&(Ae=ve,ve={}),function e(Ce,ve,Ae,be,ye,we,Se,xe,ke,Ee){if(be&&"object"==typeof be&&!Array.isArray(be)){for(var Re in ve(be,ye,we,Se,xe,ke,Ee),be){var _e=be[Re];if(Array.isArray(_e)){if(Re in Ie.arrayKeywords)for(var $e=0;$e<_e.length;$e++)e(Ce,ve,Ae,_e[$e],ye+"/"+Re+"/"+$e,we,ye,Re,be,$e)}else if(Re in Ie.propsKeywords){if(_e&&"object"==typeof _e)for(var Le in _e)e(Ce,ve,Ae,_e[Le],ye+"/"+Re+"/"+f(Le),we,ye,Re,be,Le)}else(Re in Ie.keywords||Ce.allKeys&&!(Re in Ie.skipKeywords))&&e(Ce,ve,Ae,_e,ye+"/"+Re,we,ye,Re,be)}Ae(be,ye,we,Se,xe,ke,Ee)}}(ve,"function"==typeof(Ae=ve.cb||Ae)?Ae:Ae.pre||function(){},Ae.post||function(){},Ce,"",Ce)};function f(Ce){return Ce.replace(/~/g,"~0").replace(/\//g,"~1")}Ie.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},Ie.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},Ie.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},Ie.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},7026:function(Ce,Ie){"use strict";var ve={b:"\b",f:"\f",n:"\n",r:"\r",t:"\t",'"':'"',"/":"/","\\":"\\"},Ae="a".charCodeAt(),be=(Ie.parse=function(Ce,Ie,be){var ye={},we=0,Se=0,xe=0,ke=be&&be.bigint&&"undefined"!=typeof BigInt;return{data:s("",!0),pointers:ye};function s(Ie,ve){a(),C(Ie,"value");var Ae,be=l();switch(be){case"t":m("rue"),Ae=!0;break;case"f":m("alse"),Ae=!1;break;case"n":m("ull"),Ae=null;break;case'"':Ae=p();break;case"[":Ae=function(Ce){a();var Ie=[],ve=0;if("]"==l())return Ie;for(c();;){var Ae=Ce+"/"+ve;if("]"==(Ie.push(s(Ae)),a(),Ae=l()))break;","!=Ae&&d(),a(),ve++}return Ie}(Ie);break;case"{":Ae=function(Ce){a();var Ie={};if("}"==l())return Ie;for(c();;){var ve=v(),Ae=('"'!=l()&&d(),p()),be=Ce+"/"+w(Ae);if("}"==(I(be,"key",ve),C(be,"keyEnd"),a(),":"!=l()&&d(),a(),Ie[Ae]=s(be),a(),ve=l()))break;","!=ve&&d(),a()}return Ie}(Ie);break;default:c(),0<="-0123456789".indexOf(be)?Ae=function(){var Ie="",ve=!0;"-"==Ce[xe]&&(Ie+=l()),Ie+=("0"==Ce[xe]?l:f)(),"."==Ce[xe]&&(Ie+=l()+f(),ve=!1),"e"!=Ce[xe]&&"E"!=Ce[xe]||(Ie+=l(),"+"!=Ce[xe]&&"-"!=Ce[xe]||(Ie+=l()),Ie+=f(),ve=!1);var Ae=+Ie;return ke&&ve&&(Ae>Number.MAX_SAFE_INTEGER||Ae<Number.MIN_SAFE_INTEGER)?BigInt(Ie):Ae}():h()}return C(Ie,"valueEnd"),a(),ve&&xe<Ce.length&&h(),Ae}function a(){e:for(;xe<Ce.length;){switch(Ce[xe]){case" ":Se++;break;case"\t":Se+=4;break;case"\r":Se=0;break;case"\n":Se=0,we++;break;default:break e}xe++}}function p(){for(var Ce,Ie="";'"'!=(Ce=l());)"\\"==Ce?(Ce=l())in ve?Ie+=ve[Ce]:"u"==Ce?Ie+=function(){for(var Ce=4,Ie=0;Ce--;){Ie<<=4;var ve=l().toLowerCase();"a"<=ve&&ve<="f"?Ie+=ve.charCodeAt()-Ae+10:"0"<=ve&&ve<="9"?Ie+=+ve:d()}return String.fromCharCode(Ie)}():d():Ie+=Ce;return Ie}function m(Ce){for(var Ie=0;Ie<Ce.length;Ie++)l()!==Ce[Ie]&&d()}function l(){A();var Ie=Ce[xe];return xe++,Se++,Ie}function c(){xe--,Se--}function f(){for(var Ie="";"0"<=Ce[xe]&&Ce[xe]<="9";)Ie+=l();if(Ie.length)return Ie;A(),h()}function C(Ce,Ie){I(Ce,Ie,v())}function I(Ce,Ie,ve){ye[Ce]=ye[Ce]||{},ye[Ce][Ie]=ve}function v(){return{line:we,column:Se,pos:xe}}function h(){throw new SyntaxError("Unexpected token "+Ce[xe]+" in JSON at position "+xe)}function d(){c(),h()}function A(){if(xe>=Ce.length)throw new SyntaxError("Unexpected end of JSON input")}},Ie.stringify=function(Ce,Ie,ve){if(v(Ce)){var Ae=0;switch(typeof(ye="object"==typeof ve?ve.space:ve)){case"number":var be=10<ye?10:ye<0?0:Math.floor(ye),ye=be&&I(be," "),we=be,Se=be;break;case"string":ye=ye.slice(0,10);for(var xe=Se=we=0;xe<ye.length;xe++){switch(ye[xe]){case" ":Se++;break;case"\t":Se+=4;break;case"\r":Se=0;break;case"\n":Se=0,Ae++;break;default:throw new Error("whitespace characters not allowed in JSON")}we++}break;default:ye=void 0}var ke="",Ee={},Re=0,_e=0,$e=0,Le=ve&&ve.es6&&"function"==typeof Map;return function l(Ce,Ie,ve){switch(m(ve,"value"),typeof Ce){case"number":case"bigint":case"boolean":g(""+Ce);break;case"string":g(A(Ce));break;case"object":null===Ce?g("null"):"function"==typeof Ce.toJSON?g(A(Ce.toJSON())):Array.isArray(Ce)?e():Le?Ce.constructor.BYTES_PER_ELEMENT?e():Ce instanceof Map?i():Ce instanceof Set?i(!0):t():t()}function e(){if(Ce.length){g("[");for(var Ae=Ie+1,be=0;be<Ce.length;be++){be&&g(","),p(Ae);var ye=v(Ce[be])?Ce[be]:null;l(ye,Ae,ve+"/"+be)}p(Ie),g("]")}else g("[]")}function t(){var Ae=Object.keys(Ce);if(Ae.length){g("{");for(var be=Ie+1,we=0;we<Ae.length;we++){var Se,xe=Ae[we],ke=Ce[xe];v(ke)&&(we&&g(","),Se=ve+"/"+w(xe),p(be),m(Se,"key"),g(A(xe)),m(Se,"keyEnd"),g(":"),ye&&g(" "),l(ke,be,Se))}p(Ie),g("}")}else g("{}")}function i(Ae){if(Ce.size){g("{");for(var be=Ie+1,we=!0,Se=Ce.entries(),xe=Se.next();!xe.done;){var ke,Ee,Re=(Ee=xe.value)[0];v(Ee=!!Ae||Ee[1])&&(we||g(","),we=!1,ke=ve+"/"+w(Re),p(be),m(ke,"key"),g(A(Re)),m(ke,"keyEnd"),g(":"),ye&&g(" "),l(Ee,be,ke)),xe=Se.next()}p(Ie),g("}")}else g("{}")}m(ve,"valueEnd")}(Ce,0,""),{json:ke,pointers:Ee}}function g(Ce){_e+=Ce.length,$e+=Ce.length,ke+=Ce}function p(Ce){if(ye){for(ke+="\n"+I(Ce,ye),Re++,_e=0;Ce--;)Ae?(Re+=Ae,_e=Se):_e+=Se,$e+=we;$e+=1}}function m(Ce,Ie){Ee[Ce]=Ee[Ce]||{},Ee[Ce][Ie]={line:Re,column:_e,pos:$e}}function I(Ce,Ie){return Array(Ce+1).join(Ie)}},["number","bigint","boolean","string","object"]);function v(Ce){return 0<=be.indexOf(typeof Ce)}var ye=/"|\\/g,we=/[\b]/g,Se=/\f/g,xe=/\n/g,ke=/\r/g,Ee=/\t/g;function A(Ce){return'"'+(Ce=Ce.replace(ye,"\\$&").replace(Se,"\\f").replace(we,"\\b").replace(xe,"\\n").replace(ke,"\\r").replace(Ee,"\\t"))+'"'}var Re=/~/g,_e=/\//g;function w(Ce){return Ce.replace(Re,"~0").replace(_e,"~1")}},483:function(Ce,Ie){var ve,Ae;!function(){"use strict";Ae=[],void 0===(Ae="function"==typeof(ve=function(){function C(Ce){return"object"==typeof Node?Ce instanceof Node:Ce&&"object"==typeof Ce&&"number"==typeof Ce.nodeType}function I(Ce){return"string"==typeof Ce}function v(){var Ce=[];return{watch:Ce.push.bind(Ce),trigger:function(Ie,ve){for(var Ae=!0,be={detail:ve,preventDefault:function e(){Ae=!1}},ye=0;ye<Ce.length;ye++)Ce[ye](Ie,be);return Ae}}}function r(Ce){return"none"===window.getComputedStyle(Ce).display}function o(Ce){this.elem=Ce}function A(Ce,Ie){return o.make(Ce("parent")).clazz("pico-overlay").clazz(Ce("overlayClass","")).stylize({display:"none",position:"fixed",top:"0px",left:"0px",height:"100%",width:"100%",zIndex:1e4}).stylize(Ce("overlayStyles",{opacity:.5,background:"#000"})).onClick((function(){Ce("overlayClose",!0)&&Ie()}))}o.make=function(Ce,Ie){"string"==typeof Ce&&(Ce=document.querySelector(Ce));var ve=document.createElement(Ie||"div");return(Ce||document.body).appendChild(ve),new o(ve)},o.prototype={child:function(Ce){return o.make(this.elem,Ce)},stylize:function(Ce){for(var Ie in void 0!==(Ce=Ce||{}).opacity&&(Ce.filter="alpha(opacity="+100*Ce.opacity+")"),Ce)Ce.hasOwnProperty(Ie)&&(this.elem.style[Ie]=Ce[Ie]);return this},clazz:function(Ce){return this.elem.className+=" "+Ce,this},html:function(Ce){return C(Ce)?this.elem.appendChild(Ce):this.elem.innerHTML=Ce,this},onClick:function(Ce){return this.elem.addEventListener("click",Ce),this},destroy:function(){this.elem.parentNode.removeChild(this.elem)},hide:function(){this.elem.style.display="none"},show:function(){this.elem.style.display="block"},attr:function(Ce,Ie){return void 0!==Ie&&this.elem.setAttribute(Ce,Ie),this},anyAncestor:function(Ce){for(var Ie=this.elem;Ie;){if(Ce(new o(Ie)))return!0;Ie=Ie.parentNode}return!1},isVisible:function(){return!r(this.elem)}};var Ce=1;function w(Ie,ve){var Ae=Ie("width","auto");"number"==typeof Ae&&(Ae+="px");var be=Ie("modalId","pico-"+Ce++);return o.make(Ie("parent")).clazz("pico-content").clazz(Ie("modalClass","")).stylize({display:"none",position:"fixed",zIndex:10001,left:"50%",top:"38.1966%",maxHeight:"90%",boxSizing:"border-box",width:Ae,"-ms-transform":"translate(-50%,-38.1966%)","-moz-transform":"translate(-50%,-38.1966%)","-webkit-transform":"translate(-50%,-38.1966%)","-o-transform":"translate(-50%,-38.1966%)",transform:"translate(-50%,-38.1966%)"}).stylize(Ie("modalStyles",{overflow:"auto",backgroundColor:"white",padding:"20px",borderRadius:"5px"})).html(Ie("content")).attr("id",be).attr("role","dialog").attr("aria-labelledby",Ie("ariaLabelledBy")).attr("aria-describedby",Ie("ariaDescribedBy",be)).onClick((function(Ce){new o(Ce.target).anyAncestor((function(Ce){return/\bpico-close\b/.test(Ce.elem.className)}))&&ve()}))}function S(Ce,Ie){if(Ie("closeButton",!0))return Ce.child("button").html(Ie("closeHtml","×")).clazz("pico-close").clazz(Ie("closeClass","")).stylize(Ie("closeStyles",{borderRadius:"2px",border:0,padding:0,cursor:"pointer",height:"15px",width:"15px",position:"absolute",top:"5px",right:"5px",fontSize:"16px",textAlign:"center",lineHeight:"15px",background:"#CCC"})).attr("aria-label",Ie("close-label","Close"))}function b(Ce){return function(){return Ce().elem}}var Ie=v(),ve=v();function x(Ce,Ie){function t(Ce,Ie){return(Ce.msMatchesSelector||Ce.webkitMatchesSelector||Ce.matches).call(Ce,Ie)}function n(Ce){return!(r(Ce)||t(Ce,":disabled")||Ce.hasAttribute("contenteditable"))&&(Ce.hasAttribute("tabindex")||t(Ce,"input,select,textarea,button,a[href],area[href],iframe"))}function a(Ce){for(var Ie=Ce.getElementsByTagName("*"),ve=0;ve<Ie.length;ve++)if(n(Ie[ve]))return Ie[ve]}function l(Ce){for(var Ie=Ce.getElementsByTagName("*"),ve=Ie.length;ve--;)if(n(Ie[ve]))return Ie[ve]}var Ae;Ce.beforeShow((function e(){Ae=document.activeElement})),Ce.afterShow((function e(){if(Ie()){var ve=a(Ce.modalElem());ve&&ve.focus()}})),Ce.afterClose((function e(){Ie()&&Ae&&Ae.focus(),Ae=null})),ve.watch((function e(ve){if(Ie()&&Ce.isVisible()){var Ae=a(Ce.modalElem()),be=l(Ce.modalElem());(ve.shiftKey?Ae:be)===document.activeElement&&((ve.shiftKey?be:Ae).focus(),ve.preventDefault())}}))}function k(Ce,Ie){var ve,Ae=new o(document.body);Ce.beforeShow((function(){ve=Ae.elem.style.overflow,Ie()&&Ae.stylize({overflow:"hidden"})})),Ce.afterClose((function(){Ae.stylize({overflow:ve})}))}return document.documentElement.addEventListener("keydown",(function e(Ce){var Ae=Ce.which||Ce.keyCode;27===Ae?Ie.trigger():9===Ae&&ve.trigger(Ce)})),function h(Ce){(I(Ce)||C(Ce))&&(Ce={content:Ce});var ve=v(),Ae=v(),be=v(),ye=v(),we=v();function r(Ie,ve){var Ae=Ce[Ie];return"function"==typeof Ae&&(Ae=Ae(ve)),void 0===Ae?ve:Ae}var Se,xe,ke=c.bind(window,"modal"),Ee=c.bind(window,"overlay"),Re=c.bind(window,"close");function f(Ce){Ee().hide(),ke().hide(),we.trigger(Se,Ce)}function a(Ce){ye.trigger(Se,Ce)&&f(Ce)}function e(Ce){return function(){return Ce.apply(this,arguments),Se}}function c(Ce,Ie){if(!xe){var Ae=w(r,a);xe={modal:Ae,overlay:A(r,a),close:S(Ae,r)},ve.trigger(Se,Ie)}return xe[Ce]}return x(Se={modalElem:b(ke),closeElem:b(Re),overlayElem:b(Ee),buildDom:e(c.bind(null,null)),isVisible:function(){return!!(xe&&ke&&ke().isVisible())},show:function(Ce){return Ae.trigger(Se,Ce)&&(Ee().show(),Re(),ke().show(),be.trigger(Se,Ce)),this},close:e(a),forceClose:e(f),destroy:function(){ke().destroy(),Ee().destroy(),Ee=ke=Re=void 0},options:function(Ie){Object.keys(Ie).map((function(ve){Ce[ve]=Ie[ve]}))},afterCreate:e(ve.watch),beforeShow:e(Ae.watch),afterShow:e(be.watch),beforeClose:e(ye.watch),afterClose:e(we.watch)},r.bind(null,"focus",!0)),k(Se,r.bind(null,"bodyOverflow",!0)),Ie.watch((function e(){r("escCloses",!0)&&Se.isVisible()&&Se.close()})),Se}})?ve.apply(Ie,Ae):ve)||(Ce.exports=Ae)}()},7533:function(Ce,Ie){!function(Ce){"use strict";function he(){for(var Ce=arguments.length,Ie=Array(Ce),ve=0;ve<Ce;ve++)Ie[ve]=arguments[ve];if(Ie.length>1){Ie[0]=Ie[0].slice(0,-1);for(var Ae=Ie.length-1,be=1;be<Ae;++be)Ie[be]=Ie[be].slice(1,-1);return Ie[Ae]=Ie[Ae].slice(1),Ie.join("")}return Ie[0]}function de(Ce){return"(?:"+Ce+")"}function n(Ce){return void 0===Ce?"undefined":null===Ce?"null":Object.prototype.toString.call(Ce).split(" ").pop().split("]").shift().toLowerCase()}function m(Ce){return Ce.toUpperCase()}function f(Ce){return null!=Ce?Ce instanceof Array?Ce:"number"!=typeof Ce.length||Ce.split||Ce.setInterval||Ce.call?[Ce]:Array.prototype.slice.call(Ce):[]}function r(Ce,Ie){var ve=Ce;if(Ie)for(var Ae in Ie)ve[Ae]=Ie[Ae];return ve}function i(Ce){var Ie="[A-Za-z]",ve="[0-9]",Ae=he(ve,"[A-Fa-f]"),be=de(de("%[EFef]"+Ae+"%"+Ae+Ae+"%"+Ae+Ae)+"|"+de("%[89A-Fa-f]"+Ae+"%"+Ae+Ae)+"|"+de("%"+Ae+Ae)),ye="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",we=he("[\\:\\/\\?\\#\\[\\]\\@]",ye),Se=Ce?"[\\uE000-\\uF8FF]":"[]",xe=he(Ie,ve,"[\\-\\.\\_\\~]",Ce?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),ke=de(Ie+he(Ie,ve,"[\\+\\-\\.]")+"*"),Ee=de(de(be+"|"+he(xe,ye,"[\\:]"))+"*"),Re=(de(de("25[0-5]")+"|"+de("2[0-4]"+ve)+"|"+de("1"+ve+ve)+"|"+de("[1-9]"+ve)+"|"+ve),de(de("25[0-5]")+"|"+de("2[0-4]"+ve)+"|"+de("1"+ve+ve)+"|"+de("0?[1-9]"+ve)+"|0?0?"+ve)),_e=de(Re+"\\."+Re+"\\."+Re+"\\."+Re),$e=de(Ae+"{1,4}"),Le=de(de($e+"\\:"+$e)+"|"+_e),Be=de(de($e+"\\:")+"{6}"+Le),We=de("\\:\\:"+de($e+"\\:")+"{5}"+Le),Ne=de(de($e)+"?\\:\\:"+de($e+"\\:")+"{4}"+Le),Ge=de(de(de($e+"\\:")+"{0,1}"+$e)+"?\\:\\:"+de($e+"\\:")+"{3}"+Le),Pe=de(de(de($e+"\\:")+"{0,2}"+$e)+"?\\:\\:"+de($e+"\\:")+"{2}"+Le),Fe=de(de(de($e+"\\:")+"{0,3}"+$e)+"?\\:\\:"+$e+"\\:"+Le),He=de(de(de($e+"\\:")+"{0,4}"+$e)+"?\\:\\:"+Le),Ve=de(de(de($e+"\\:")+"{0,5}"+$e)+"?\\:\\:"+$e),Ze=de(de(de($e+"\\:")+"{0,6}"+$e)+"?\\:\\:"),Me=de([Be,We,Ne,Ge,Pe,Fe,He,Ve,Ze].join("|")),Oe=de(de(xe+"|"+be)+"+"),De=(de(Me+"\\%25"+Oe),de(Me+de("\\%25|\\%(?!"+Ae+"{2})")+Oe)),Ke=de("[vV]"+Ae+"+\\."+he(xe,ye,"[\\:]")+"+"),je=de("\\["+de(De+"|"+Me+"|"+Ke)+"\\]"),ze=de(de(be+"|"+he(xe,ye))+"*"),Xe=de(je+"|"+_e+"(?!"+ze+")|"+ze),Je=de(ve+"*"),Ye=de(de(Ee+"@")+"?"+Xe+de("\\:"+Je)+"?"),Ue=de(be+"|"+he(xe,ye,"[\\:\\@]")),Qe=de(Ue+"*"),qe=de(Ue+"+"),et=de(de(be+"|"+he(xe,ye,"[\\@]"))+"+"),tt=de(de("\\/"+Qe)+"*"),it=de("\\/"+de(qe+tt)+"?"),nt=de(et+tt),rt=de(qe+tt),ot="(?!"+Ue+")",st=(de(tt+"|"+it+"|"+nt+"|"+rt+"|"+ot),de(de(Ue+"|"+he("[\\/\\?]",Se))+"*")),at=de(de(Ue+"|[\\/\\?]")+"*"),lt=de(de("\\/\\/"+Ye+tt)+"|"+it+"|"+rt+"|"+ot),ct=de(ke+"\\:"+lt+de("\\?"+st)+"?"+de("\\#"+at)+"?"),ht=de(de("\\/\\/"+Ye+tt)+"|"+it+"|"+nt+"|"+ot),dt=de(ht+de("\\?"+st)+"?"+de("\\#"+at)+"?");return de(ct+"|"+dt),de(ke+"\\:"+lt+de("\\?"+st)+"?"),de(de("\\/\\/("+de("("+Ee+")@")+"?("+Xe+")"+de("\\:("+Je+")")+"?)")+"?("+tt+"|"+it+"|"+rt+"|"+ot+")"),de("\\?("+st+")"),de("\\#("+at+")"),de(de("\\/\\/("+de("("+Ee+")@")+"?("+Xe+")"+de("\\:("+Je+")")+"?)")+"?("+tt+"|"+it+"|"+nt+"|"+ot+")"),de("\\?("+st+")"),de("\\#("+at+")"),de(de("\\/\\/("+de("("+Ee+")@")+"?("+Xe+")"+de("\\:("+Je+")")+"?)")+"?("+tt+"|"+it+"|"+rt+"|"+ot+")"),de("\\?("+st+")"),de("\\#("+at+")"),de("("+Ee+")@"),de("\\:("+Je+")"),{NOT_SCHEME:new RegExp(he("[^]",Ie,ve,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(he("[^\\%\\:]",xe,ye),"g"),NOT_HOST:new RegExp(he("[^\\%\\[\\]\\:]",xe,ye),"g"),NOT_PATH:new RegExp(he("[^\\%\\/\\:\\@]",xe,ye),"g"),NOT_PATH_NOSCHEME:new RegExp(he("[^\\%\\/\\@]",xe,ye),"g"),NOT_QUERY:new RegExp(he("[^\\%]",xe,ye,"[\\:\\@\\/\\?]",Se),"g"),NOT_FRAGMENT:new RegExp(he("[^\\%]",xe,ye,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(he("[^]",xe,ye),"g"),UNRESERVED:new RegExp(xe,"g"),OTHER_CHARS:new RegExp(he("[^\\%]",xe,we),"g"),PCT_ENCODED:new RegExp(be,"g"),IPV4ADDRESS:new RegExp("^("+_e+")$"),IPV6ADDRESS:new RegExp("^\\[?("+Me+")"+de(de("\\%25|\\%(?!"+Ae+"{2})")+"("+Oe+")")+"?\\]?$")}}var Ie=i(!1),ve=i(!0),Ae=function(){function i(Ce,Ie){var ve=[],Ae=!0,be=!1,ye=void 0;try{for(var we,Se=Ce[Symbol.iterator]();!(Ae=(we=Se.next()).done)&&(ve.push(we.value),!Ie||ve.length!==Ie);Ae=!0);}catch(Ce){be=!0,ye=Ce}finally{try{!Ae&&Se.return&&Se.return()}finally{if(be)throw ye}}return ve}return function(Ce,Ie){if(Array.isArray(Ce))return Ce;if(Symbol.iterator in Object(Ce))return i(Ce,Ie);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),c=function(Ce){if(Array.isArray(Ce)){for(var Ie=0,ve=Array(Ce.length);Ie<Ce.length;Ie++)ve[Ie]=Ce[Ie];return ve}return Array.from(Ce)},be=2147483647,ye=36,we=1,Se=26,xe=38,ke=700,Ee=72,Re=128,_e="-",$e=/^xn--/,Le=/[^\0-\x7E]/,Be=/[\x2E\u3002\uFF0E\uFF61]/g,We={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Ne=ye-we,Ge=Math.floor,Pe=String.fromCharCode;function O(Ce){throw new RangeError(We[Ce])}function b(Ce,Ie){for(var ve=[],Ae=Ce.length;Ae--;)ve[Ae]=Ie(Ce[Ae]);return ve}function w(Ce,Ie){var ve=Ce.split("@"),Ae="";return ve.length>1&&(Ae=ve[0]+"@",Ce=ve[1]),Ae+b((Ce=Ce.replace(Be,".")).split("."),Ie).join(".")}function D(Ce){for(var Ie=[],ve=0,Ae=Ce.length;ve<Ae;){var be=Ce.charCodeAt(ve++);if(be>=55296&&be<=56319&&ve<Ae){var ye=Ce.charCodeAt(ve++);56320==(64512&ye)?Ie.push(((1023&be)<<10)+(1023&ye)+65536):(Ie.push(be),ve--)}else Ie.push(be)}return Ie}var Fe=function e(Ce){return Ce-48<10?Ce-22:Ce-65<26?Ce-65:Ce-97<26?Ce-97:ye},He=function e(Ce,Ie){return Ce+22+75*(Ce<26)-((0!=Ie)<<5)},Ve=function e(Ce,Ie,ve){var Ae=0;for(Ce=ve?Ge(Ce/ke):Ce>>1,Ce+=Ge(Ce/Ie);Ce>Ne*Se>>1;Ae+=ye)Ce=Ge(Ce/Ne);return Ge(Ae+(Ne+1)*Ce/(Ce+xe))},Ze=function h(Ce){var Ie=[],ve=Ce.length,Ae=0,xe=Re,ke=Ee,$e=Ce.lastIndexOf(_e);$e<0&&($e=0);for(var Le=0;Le<$e;++Le)Ce.charCodeAt(Le)>=128&&O("not-basic"),Ie.push(Ce.charCodeAt(Le));for(var Be=$e>0?$e+1:0;Be<ve;){for(var We=Ae,Ne=1,Pe=ye;;Pe+=ye){Be>=ve&&O("invalid-input");var He=Fe(Ce.charCodeAt(Be++));(He>=ye||He>Ge((be-Ae)/Ne))&&O("overflow"),Ae+=He*Ne;var Ze=Pe<=ke?we:Pe>=ke+Se?Se:Pe-ke;if(He<Ze)break;var Me=ye-Ze;Ne>Ge(be/Me)&&O("overflow"),Ne*=Me}var Oe=Ie.length+1;ke=Ve(Ae-We,Oe,0==We),Ge(Ae/Oe)>be-xe&&O("overflow"),xe+=Ge(Ae/Oe),Ae%=Oe,Ie.splice(Ae++,0,xe)}return String.fromCodePoint.apply(String,Ie)},Me=function h(Ce){var Ie=[],ve=(Ce=D(Ce)).length,Ae=Re,xe=0,ke=Ee,$e=!0,Le=!1,Be=void 0;try{for(var We,Ne=Ce[Symbol.iterator]();!($e=(We=Ne.next()).done);$e=!0){var Fe=We.value;Fe<128&&Ie.push(Pe(Fe))}}catch(Ce){Le=!0,Be=Ce}finally{try{!$e&&Ne.return&&Ne.return()}finally{if(Le)throw Be}}var Ze=Ie.length,Me=Ze;for(Ze&&Ie.push(_e);Me<ve;){var Oe=be,De=!0,Ke=!1,je=void 0;try{for(var ze,Xe=Ce[Symbol.iterator]();!(De=(ze=Xe.next()).done);De=!0){var Je=ze.value;Je>=Ae&&Je<Oe&&(Oe=Je)}}catch(Ce){Ke=!0,je=Ce}finally{try{!De&&Xe.return&&Xe.return()}finally{if(Ke)throw je}}var Ye=Me+1;Oe-Ae>Ge((be-xe)/Ye)&&O("overflow"),xe+=(Oe-Ae)*Ye,Ae=Oe;var Ue=!0,Qe=!1,qe=void 0;try{for(var et,tt=Ce[Symbol.iterator]();!(Ue=(et=tt.next()).done);Ue=!0){var it=et.value;if(it<Ae&&++xe>be&&O("overflow"),it==Ae){for(var nt=xe,rt=ye;;rt+=ye){var ot=rt<=ke?we:rt>=ke+Se?Se:rt-ke;if(nt<ot)break;var st=nt-ot,at=ye-ot;Ie.push(Pe(He(ot+st%at,0))),nt=Ge(st/at)}Ie.push(Pe(He(nt,0))),ke=Ve(xe,Ye,Me==Ze),xe=0,++Me}}}catch(Ce){Qe=!0,qe=Ce}finally{try{!Ue&&tt.return&&tt.return()}finally{if(Qe)throw qe}}++xe,++Ae}return Ie.join("")},Oe={version:"2.1.0",ucs2:{decode:D,encode:function e(Ce){return String.fromCodePoint.apply(String,c(Ce))}},decode:Ze,encode:Me,toASCII:function e(Ce){return w(Ce,(function(Ce){return Le.test(Ce)?"xn--"+Me(Ce):Ce}))},toUnicode:function e(Ce){return w(Ce,(function(Ce){return $e.test(Ce)?Ze(Ce.slice(4).toLowerCase()):Ce}))}},De={};function p(Ce){var Ie=Ce.charCodeAt(0);return Ie<16?"%0"+Ie.toString(16).toUpperCase():Ie<128?"%"+Ie.toString(16).toUpperCase():Ie<2048?"%"+(Ie>>6|192).toString(16).toUpperCase()+"%"+(63&Ie|128).toString(16).toUpperCase():"%"+(Ie>>12|224).toString(16).toUpperCase()+"%"+(Ie>>6&63|128).toString(16).toUpperCase()+"%"+(63&Ie|128).toString(16).toUpperCase()}function $(Ce){for(var Ie="",ve=0,Ae=Ce.length;ve<Ae;){var be=parseInt(Ce.substr(ve+1,2),16);if(be<128)Ie+=String.fromCharCode(be),ve+=3;else if(be>=194&&be<224){if(Ae-ve>=6){var ye=parseInt(Ce.substr(ve+4,2),16);Ie+=String.fromCharCode((31&be)<<6|63&ye)}else Ie+=Ce.substr(ve,6);ve+=6}else if(be>=224){if(Ae-ve>=9){var we=parseInt(Ce.substr(ve+4,2),16),Se=parseInt(Ce.substr(ve+7,2),16);Ie+=String.fromCharCode((15&be)<<12|(63&we)<<6|63&Se)}else Ie+=Ce.substr(ve,9);ve+=9}else Ie+=Ce.substr(ve,3),ve+=3}return Ie}function L(Ce,Ie){function t(Ce){var ve=$(Ce);return ve.match(Ie.UNRESERVED)?ve:Ce}return Ce.scheme&&(Ce.scheme=String(Ce.scheme).replace(Ie.PCT_ENCODED,t).toLowerCase().replace(Ie.NOT_SCHEME,"")),void 0!==Ce.userinfo&&(Ce.userinfo=String(Ce.userinfo).replace(Ie.PCT_ENCODED,t).replace(Ie.NOT_USERINFO,p).replace(Ie.PCT_ENCODED,m)),void 0!==Ce.host&&(Ce.host=String(Ce.host).replace(Ie.PCT_ENCODED,t).toLowerCase().replace(Ie.NOT_HOST,p).replace(Ie.PCT_ENCODED,m)),void 0!==Ce.path&&(Ce.path=String(Ce.path).replace(Ie.PCT_ENCODED,t).replace(Ce.scheme?Ie.NOT_PATH:Ie.NOT_PATH_NOSCHEME,p).replace(Ie.PCT_ENCODED,m)),void 0!==Ce.query&&(Ce.query=String(Ce.query).replace(Ie.PCT_ENCODED,t).replace(Ie.NOT_QUERY,p).replace(Ie.PCT_ENCODED,m)),void 0!==Ce.fragment&&(Ce.fragment=String(Ce.fragment).replace(Ie.PCT_ENCODED,t).replace(Ie.NOT_FRAGMENT,p).replace(Ie.PCT_ENCODED,m)),Ce}function B(Ce){return Ce.replace(/^0*(.*)/,"$1")||"0"}function z(Ce,Ie){var ve=Ce.match(Ie.IPV4ADDRESS)||[],be=Ae(ve,2)[1];return be?be.split(".").map(B).join("."):Ce}function X(Ce,Ie){var ve=Ce.match(Ie.IPV6ADDRESS)||[],be=Ae(ve,3),ye=be[1],we=be[2];if(ye){for(var Se=ye.toLowerCase().split("::").reverse(),xe=Ae(Se,2),ke=xe[0],Ee=xe[1],Re=Ee?Ee.split(":").map(B):[],_e=ke.split(":").map(B),$e=Ie.IPV4ADDRESS.test(_e[_e.length-1]),Le=$e?7:8,Be=_e.length-Le,We=Array(Le),Ne=0;Ne<Le;++Ne)We[Ne]=Re[Ne]||_e[Be+Ne]||"";$e&&(We[Le-1]=z(We[Le-1],Ie));var Ge=We.reduce((function(Ce,Ie,ve){if(!Ie||"0"===Ie){var Ae=Ce[Ce.length-1];Ae&&Ae.index+Ae.length===ve?Ae.length++:Ce.push({index:ve,length:1})}return Ce}),[]),Pe=Ge.sort((function(Ce,Ie){return Ie.length-Ce.length}))[0],Fe=void 0;if(Pe&&Pe.length>1){var He=We.slice(0,Pe.index),Ve=We.slice(Pe.index+Pe.length);Fe=He.join(":")+"::"+Ve.join(":")}else Fe=We.join(":");return we&&(Fe+="%"+we),Fe}return Ce}var Ke=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,je=void 0==="".match(/(){0}/)[1];function o(Ce){var Ae=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},be={},ye=!1!==Ae.iri?ve:Ie;"suffix"===Ae.reference&&(Ce=(Ae.scheme?Ae.scheme+":":"")+"//"+Ce);var we=Ce.match(Ke);if(we){je?(be.scheme=we[1],be.userinfo=we[3],be.host=we[4],be.port=parseInt(we[5],10),be.path=we[6]||"",be.query=we[7],be.fragment=we[8],isNaN(be.port)&&(be.port=we[5])):(be.scheme=we[1]||void 0,be.userinfo=-1!==Ce.indexOf("@")?we[3]:void 0,be.host=-1!==Ce.indexOf("//")?we[4]:void 0,be.port=parseInt(we[5],10),be.path=we[6]||"",be.query=-1!==Ce.indexOf("?")?we[7]:void 0,be.fragment=-1!==Ce.indexOf("#")?we[8]:void 0,isNaN(be.port)&&(be.port=Ce.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?we[4]:void 0)),be.host&&(be.host=X(z(be.host,ye),ye)),void 0!==be.scheme||void 0!==be.userinfo||void 0!==be.host||void 0!==be.port||be.path||void 0!==be.query?void 0===be.scheme?be.reference="relative":void 0===be.fragment?be.reference="absolute":be.reference="uri":be.reference="same-document",Ae.reference&&"suffix"!==Ae.reference&&Ae.reference!==be.reference&&(be.error=be.error||"URI is not a "+Ae.reference+" reference.");var Se=De[(Ae.scheme||be.scheme||"").toLowerCase()];if(Ae.unicodeSupport||Se&&Se.unicodeSupport)L(be,ye);else{if(be.host&&(Ae.domainHost||Se&&Se.domainHost))try{be.host=Oe.toASCII(be.host.replace(ye.PCT_ENCODED,$).toLowerCase())}catch(Ce){be.error=be.error||"Host's domain name can not be converted to ASCII via punycode: "+Ce}L(be,Ie)}Se&&Se.parse&&Se.parse(be,Ae)}else be.error=be.error||"URI can not be parsed.";return be}function U(Ce,Ae){var be=!1!==Ae.iri?ve:Ie,ye=[];return void 0!==Ce.userinfo&&(ye.push(Ce.userinfo),ye.push("@")),void 0!==Ce.host&&ye.push(X(z(String(Ce.host),be),be).replace(be.IPV6ADDRESS,(function(Ce,Ie,ve){return"["+Ie+(ve?"%25"+ve:"")+"]"}))),"number"!=typeof Ce.port&&"string"!=typeof Ce.port||(ye.push(":"),ye.push(String(Ce.port))),ye.length?ye.join(""):void 0}var ze=/^\.\.?\//,Xe=/^\/\.(\/|$)/,Je=/^\/\.\.(\/|$)/,Ye=/^\/?(?:.|\n)*?(?=\/|$)/;function ie(Ce){for(var Ie=[];Ce.length;)if(Ce.match(ze))Ce=Ce.replace(ze,"");else if(Ce.match(Xe))Ce=Ce.replace(Xe,"/");else if(Ce.match(Je))Ce=Ce.replace(Je,"/"),Ie.pop();else if("."===Ce||".."===Ce)Ce="";else{var ve=Ce.match(Ye);if(!ve)throw new Error("Unexpected dot segment condition");var Ae=ve[0];Ce=Ce.slice(Ae.length),Ie.push(Ae)}return Ie.join("")}function s(Ce){var Ae=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},be=Ae.iri?ve:Ie,ye=[],we=De[(Ae.scheme||Ce.scheme||"").toLowerCase()];if(we&&we.serialize&&we.serialize(Ce,Ae),Ce.host)if(be.IPV6ADDRESS.test(Ce.host));else if(Ae.domainHost||we&&we.domainHost)try{Ce.host=Ae.iri?Oe.toUnicode(Ce.host):Oe.toASCII(Ce.host.replace(be.PCT_ENCODED,$).toLowerCase())}catch(be){Ce.error=Ce.error||"Host's domain name can not be converted to "+(Ae.iri?"Unicode":"ASCII")+" via punycode: "+be}L(Ce,be),"suffix"!==Ae.reference&&Ce.scheme&&(ye.push(Ce.scheme),ye.push(":"));var Se=U(Ce,Ae);if(void 0!==Se&&("suffix"!==Ae.reference&&ye.push("//"),ye.push(Se),Ce.path&&"/"!==Ce.path.charAt(0)&&ye.push("/")),void 0!==Ce.path){var xe=Ce.path;Ae.absolutePath||we&&we.absolutePath||(xe=ie(xe)),void 0===Se&&(xe=xe.replace(/^\/\//,"/%2F")),ye.push(xe)}return void 0!==Ce.query&&(ye.push("?"),ye.push(Ce.query)),void 0!==Ce.fragment&&(ye.push("#"),ye.push(Ce.fragment)),ye.join("")}function ne(Ce,Ie){var ve=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Ae={};return arguments[3]||(Ce=o(s(Ce,ve),ve),Ie=o(s(Ie,ve),ve)),!(ve=ve||{}).tolerant&&Ie.scheme?(Ae.scheme=Ie.scheme,Ae.userinfo=Ie.userinfo,Ae.host=Ie.host,Ae.port=Ie.port,Ae.path=ie(Ie.path||""),Ae.query=Ie.query):(void 0!==Ie.userinfo||void 0!==Ie.host||void 0!==Ie.port?(Ae.userinfo=Ie.userinfo,Ae.host=Ie.host,Ae.port=Ie.port,Ae.path=ie(Ie.path||""),Ae.query=Ie.query):(Ie.path?("/"===Ie.path.charAt(0)?Ae.path=ie(Ie.path):(void 0===Ce.userinfo&&void 0===Ce.host&&void 0===Ce.port||Ce.path?Ce.path?Ae.path=Ce.path.slice(0,Ce.path.lastIndexOf("/")+1)+Ie.path:Ae.path=Ie.path:Ae.path="/"+Ie.path,Ae.path=ie(Ae.path)),Ae.query=Ie.query):(Ae.path=Ce.path,void 0!==Ie.query?Ae.query=Ie.query:Ae.query=Ce.query),Ae.userinfo=Ce.userinfo,Ae.host=Ce.host,Ae.port=Ce.port),Ae.scheme=Ce.scheme),Ae.fragment=Ie.fragment,Ae}function re(Ce,Ie,ve){var Ae=r({scheme:"null"},ve);return s(ne(o(Ce,Ae),o(Ie,Ae),Ae,!0),Ae)}function oe(Ce,Ie){return"string"==typeof Ce?Ce=s(o(Ce,Ie),Ie):"object"===n(Ce)&&(Ce=o(s(Ce,Ie),Ie)),Ce}function se(Ce,Ie,ve){return"string"==typeof Ce?Ce=s(o(Ce,ve),ve):"object"===n(Ce)&&(Ce=s(Ce,ve)),"string"==typeof Ie?Ie=s(o(Ie,ve),ve):"object"===n(Ie)&&(Ie=s(Ie,ve)),Ce===Ie}function ae(Ce,Ae){return Ce&&Ce.toString().replace(Ae&&Ae.iri?ve.ESCAPE:Ie.ESCAPE,p)}function le(Ce,Ae){return Ce&&Ce.toString().replace(Ae&&Ae.iri?ve.PCT_ENCODED:Ie.PCT_ENCODED,$)}var Ue={scheme:"http",domainHost:!0,parse:function e(Ce,Ie){return Ce.host||(Ce.error=Ce.error||"HTTP URIs must have a host."),Ce},serialize:function e(Ce,Ie){var ve="https"===String(Ce.scheme).toLowerCase();return Ce.port!==(ve?443:80)&&""!==Ce.port||(Ce.port=void 0),Ce.path||(Ce.path="/"),Ce}},Qe={scheme:"https",domainHost:Ue.domainHost,parse:Ue.parse,serialize:Ue.serialize};function ge(Ce){return"boolean"==typeof Ce.secure?Ce.secure:"wss"===String(Ce.scheme).toLowerCase()}var qe={scheme:"ws",domainHost:!0,parse:function e(Ce,Ie){var ve=Ce;return ve.secure=ge(ve),ve.resourceName=(ve.path||"/")+(ve.query?"?"+ve.query:""),ve.path=void 0,ve.query=void 0,ve},serialize:function e(Ce,Ie){if(Ce.port!==(ge(Ce)?443:80)&&""!==Ce.port||(Ce.port=void 0),"boolean"==typeof Ce.secure&&(Ce.scheme=Ce.secure?"wss":"ws",Ce.secure=void 0),Ce.resourceName){var ve=Ce.resourceName.split("?"),be=Ae(ve,2),ye=be[0],we=be[1];Ce.path=ye&&"/"!==ye?ye:void 0,Ce.query=we,Ce.resourceName=void 0}return Ce.fragment=void 0,Ce}},et={scheme:"wss",domainHost:qe.domainHost,parse:qe.parse,serialize:qe.serialize},tt={},it="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",nt="[0-9A-Fa-f]",rt=de(de("%[EFef]"+nt+"%"+nt+nt+"%"+nt+nt)+"|"+de("%[89A-Fa-f]"+nt+"%"+nt+nt)+"|"+de("%"+nt+nt)),ot="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",st=he("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),at="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",lt=new RegExp(it,"g"),ct=new RegExp(rt,"g"),ht=new RegExp(he("[^]",ot,"[\\.]",'[\\"]',st),"g"),dt=new RegExp(he("[^]",it,at),"g"),ut=dt;function Te(Ce){var Ie=$(Ce);return Ie.match(lt)?Ie:Ce}var gt={scheme:"mailto",parse:function h(Ce,Ie){var ve=Ce,Ae=ve.to=ve.path?ve.path.split(","):[];if(ve.path=void 0,ve.query){for(var be=!1,ye={},we=ve.query.split("&"),Se=0,xe=we.length;Se<xe;++Se){var ke=we[Se].split("=");switch(ke[0]){case"to":for(var Ee=ke[1].split(","),Re=0,_e=Ee.length;Re<_e;++Re)Ae.push(Ee[Re]);break;case"subject":ve.subject=le(ke[1],Ie);break;case"body":ve.body=le(ke[1],Ie);break;default:be=!0,ye[le(ke[0],Ie)]=le(ke[1],Ie)}}be&&(ve.headers=ye)}ve.query=void 0;for(var $e=0,Le=Ae.length;$e<Le;++$e){var Be=Ae[$e].split("@");if(Be[0]=le(Be[0]),Ie.unicodeSupport)Be[1]=le(Be[1],Ie).toLowerCase();else try{Be[1]=Oe.toASCII(le(Be[1],Ie).toLowerCase())}catch(Ie){ve.error=ve.error||"Email address's domain name can not be converted to ASCII via punycode: "+Ie}Ae[$e]=Be.join("@")}return ve},serialize:function h(Ce,Ie){var ve=Ce,Ae=f(Ce.to);if(Ae){for(var be=0,ye=Ae.length;be<ye;++be){var we=String(Ae[be]),Se=we.lastIndexOf("@"),xe=we.slice(0,Se).replace(ct,Te).replace(ct,m).replace(ht,p),ke=we.slice(Se+1);try{ke=Ie.iri?Oe.toUnicode(ke):Oe.toASCII(le(ke,Ie).toLowerCase())}catch(Ce){ve.error=ve.error||"Email address's domain name can not be converted to "+(Ie.iri?"Unicode":"ASCII")+" via punycode: "+Ce}Ae[be]=xe+"@"+ke}ve.path=Ae.join(",")}var Ee=Ce.headers=Ce.headers||{};Ce.subject&&(Ee.subject=Ce.subject),Ce.body&&(Ee.body=Ce.body);var Re=[];for(var _e in Ee)Ee[_e]!==tt[_e]&&Re.push(_e.replace(ct,Te).replace(ct,m).replace(dt,p)+"="+Ee[_e].replace(ct,Te).replace(ct,m).replace(ut,p));return Re.length&&(ve.query=Re.join("&")),ve}},pt=/^([^\:]+)\:(.*)/,mt={scheme:"urn",parse:function c(Ce,Ie){var ve=Ce.path&&Ce.path.match(pt),Ae=Ce;if(ve){var be=Ie.scheme||Ae.scheme||"urn",ye=ve[1].toLowerCase(),we=ve[2],Se=be+":"+(Ie.nid||ye),xe=De[Se];Ae.nid=ye,Ae.nss=we,Ae.path=void 0,xe&&(Ae=xe.parse(Ae,Ie))}else Ae.error=Ae.error||"URN can not be parsed.";return Ae},serialize:function e(Ce,Ie){var ve=Ie.scheme||Ce.scheme||"urn",Ae=Ce.nid,be=ve+":"+(Ie.nid||Ae),ye=De[be];ye&&(Ce=ye.serialize(Ce,Ie));var we=Ce,Se=Ce.nss;return we.path=(Ae||Ie.nid)+":"+Se,we}},ft=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,Ct={scheme:"urn:uuid",parse:function e(Ce,Ie){var ve=Ce;return ve.uuid=ve.nss,ve.nss=void 0,Ie.tolerant||ve.uuid&&ve.uuid.match(ft)||(ve.error=ve.error||"UUID is not valid."),ve},serialize:function e(Ce,Ie){var ve=Ce;return ve.nss=(Ce.uuid||"").toLowerCase(),ve}};De[Ue.scheme]=Ue,De[Qe.scheme]=Qe,De[qe.scheme]=qe,De[et.scheme]=et,De[gt.scheme]=gt,De[mt.scheme]=mt,De[Ct.scheme]=Ct,Ce.SCHEMES=De,Ce.pctEncChar=p,Ce.pctDecChars=$,Ce.parse=o,Ce.removeDotSegments=ie,Ce.serialize=s,Ce.resolveComponents=ne,Ce.resolve=re,Ce.normalize=oe,Ce.equal=se,Ce.escapeComponent=ae,Ce.unescapeComponent=le,Object.defineProperty(Ce,"__esModule",{value:!0})}(Ie)},4049:function(Ce){Ce.exports=function(){"use strict";var s=function(Ce,Ie){if(!(Ce instanceof Ie))throw new TypeError("Cannot call a class as a function")},Ce=function(){function n(Ce,Ie){for(var ve=0;ve<Ie.length;ve++){var Ae=Ie[ve];Ae.enumerable=Ae.enumerable||!1,Ae.configurable=!0,"value"in Ae&&(Ae.writable=!0),Object.defineProperty(Ce,Ae.key,Ae)}}return function(Ce,Ie,ve){return Ie&&n(Ce.prototype,Ie),ve&&n(Ce,ve),Ce}}(),Ie=function(){function i(Ce,Ie){var ve=[],Ae=!0,be=!1,ye=void 0;try{for(var we,Se=Ce[Symbol.iterator]();!(Ae=(we=Se.next()).done)&&(ve.push(we.value),!Ie||ve.length!==Ie);Ae=!0);}catch(Ce){be=!0,ye=Ce}finally{try{!Ae&&Se.return&&Se.return()}finally{if(be)throw ye}}return ve}return function(Ce,Ie){if(Array.isArray(Ce))return Ce;if(Symbol.iterator in Object(Ce))return i(Ce,Ie);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),ve=(String.prototype.startsWith=String.prototype.startsWith||function(Ce){return 0===this.indexOf(Ce)},String.prototype.padStart=String.prototype.padStart||function(Ce,Ie){for(var ve=this;ve.length<Ce;)ve=Ie+ve;return ve},{cb:"0f8ff",tqw:"aebd7",q:"-ffff",qmrn:"7fffd4",zr:"0ffff",bg:"5f5dc",bsq:"e4c4",bck:"---",nch:"ebcd",b:"--ff",bvt:"8a2be2",brwn:"a52a2a",brw:"deb887",ctb:"5f9ea0",hrt:"7fff-",chcT:"d2691e",cr:"7f50",rnw:"6495ed",crns:"8dc",crms:"dc143c",cn:"-ffff",Db:"--8b",Dcn:"-8b8b",Dgnr:"b8860b",Dgr:"a9a9a9",Dgrn:"-64-",Dkhk:"bdb76b",Dmgn:"8b-8b",Dvgr:"556b2f",Drng:"8c-",Drch:"9932cc",Dr:"8b--",Dsmn:"e9967a",Dsgr:"8fbc8f",DsTb:"483d8b",DsTg:"2f4f4f",Dtrq:"-ced1",Dvt:"94-d3",ppnk:"1493",pskb:"-bfff",mgr:"696969",grb:"1e90ff",rbrc:"b22222",rwht:"af0",stg:"228b22",chs:"-ff",gnsb:"dcdcdc",st:"8f8ff",g:"d7-",gnr:"daa520",gr:"808080",grn:"-8-0",grnw:"adff2f",hnw:"0fff0",htpn:"69b4",nnr:"cd5c5c",ng:"4b-82",vr:"0",khk:"0e68c",vnr:"e6e6fa",nrb:"0f5",wngr:"7cfc-",mnch:"acd",Lb:"add8e6",Lcr:"08080",Lcn:"e0ffff",Lgnr:"afad2",Lgr:"d3d3d3",Lgrn:"90ee90",Lpnk:"b6c1",Lsmn:"a07a",Lsgr:"20b2aa",Lskb:"87cefa",LsTg:"778899",Lstb:"b0c4de",Lw:"e0",m:"-ff-",mgrn:"32cd32",nn:"af0e6",mgnt:"-ff",mrn:"8--0",mqm:"66cdaa",mmb:"--cd",mmrc:"ba55d3",mmpr:"9370db",msg:"3cb371",mmsT:"7b68ee","":"-fa9a",mtr:"48d1cc",mmvt:"c71585",mnLb:"191970",ntc:"5fffa",mstr:"e4e1",mccs:"e4b5",vjw:"dead",nv:"--80",c:"df5e6",v:"808-0",vrb:"6b8e23",rng:"a5-",rngr:"45-",rch:"da70d6",pgnr:"eee8aa",pgrn:"98fb98",ptrq:"afeeee",pvtr:"db7093",ppwh:"efd5",pchp:"dab9",pr:"cd853f",pnk:"c0cb",pm:"dda0dd",pwrb:"b0e0e6",prp:"8-080",cc:"663399",r:"--",sbr:"bc8f8f",rb:"4169e1",sbrw:"8b4513",smn:"a8072",nbr:"4a460",sgrn:"2e8b57",ssh:"5ee",snn:"a0522d",svr:"c0c0c0",skb:"87ceeb",sTb:"6a5acd",sTgr:"708090",snw:"afa",n:"-ff7f",stb:"4682b4",tn:"d2b48c",t:"-8080",thst:"d8bfd8",tmT:"6347",trqs:"40e0d0",vt:"ee82ee",whT:"5deb3",wht:"",hts:"5f5f5",w:"-",wgrn:"9acd32"});function a(Ce){var Ie=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return(Ie>0?Ce.toFixed(Ie).replace(/0+$/,"").replace(/\.$/,""):Ce.toString())||"0"}var Ae=function(){function p(Ce,ve,Ae,be){s(this,p);var ye=this;function r(Ce){if(Ce.startsWith("hsl")){var ve=Ce.match(/([\-\d\.e]+)/g).map(Number),Ae=Ie(ve,4),be=Ae[0],we=Ae[1],Se=Ae[2],xe=Ae[3];void 0===xe&&(xe=1),be/=360,we/=100,Se/=100,ye.hsla=[be,we,Se,xe]}else if(Ce.startsWith("rgb")){var ke=Ce.match(/([\-\d\.e]+)/g).map(Number),Ee=Ie(ke,4),Re=Ee[0],_e=Ee[1],$e=Ee[2],Le=Ee[3];void 0===Le&&(Le=1),ye.rgba=[Re,_e,$e,Le]}else Ce.startsWith("#")?ye.rgba=p.hexToRgb(Ce):ye.rgba=p.nameToRgb(Ce)||p.hexToRgb(Ce)}if(void 0===Ce);else if(Array.isArray(Ce))this.rgba=Ce;else if(void 0===Ae){var we=Ce&&""+Ce;we&&r(we.toLowerCase())}else this.rgba=[Ce,ve,Ae,void 0===be?1:be]}return Ce(p,[{key:"printRGB",value:function e(Ce){var Ie=(Ce?this.rgba:this.rgba.slice(0,3)).map((function(Ce,Ie){return a(Ce,3===Ie?3:0)}));return Ce?"rgba("+Ie+")":"rgb("+Ie+")"}},{key:"printHSL",value:function e(Ce){var Ie=[360,100,100,1],ve=["","%","%",""],Ae=(Ce?this.hsla:this.hsla.slice(0,3)).map((function(Ce,Ae){return a(Ce*Ie[Ae],3===Ae?3:1)+ve[Ae]}));return Ce?"hsla("+Ae+")":"hsl("+Ae+")"}},{key:"printHex",value:function e(Ce){var Ie=this.hex;return Ce?Ie:Ie.substring(0,7)}},{key:"rgba",get:function e(){if(this._rgba)return this._rgba;if(!this._hsla)throw new Error("No color is set");return this._rgba=p.hslToRgb(this._hsla)},set:function e(Ce){3===Ce.length&&(Ce[3]=1),this._rgba=Ce,this._hsla=null}},{key:"rgbString",get:function e(){return this.printRGB()}},{key:"rgbaString",get:function e(){return this.printRGB(!0)}},{key:"hsla",get:function e(){if(this._hsla)return this._hsla;if(!this._rgba)throw new Error("No color is set");return this._hsla=p.rgbToHsl(this._rgba)},set:function e(Ce){3===Ce.length&&(Ce[3]=1),this._hsla=Ce,this._rgba=null}},{key:"hslString",get:function e(){return this.printHSL()}},{key:"hslaString",get:function e(){return this.printHSL(!0)}},{key:"hex",get:function e(){var Ce=this.rgba.map((function(Ce,Ie){return Ie<3?Ce.toString(16):Math.round(255*Ce).toString(16)}));return"#"+Ce.map((function(Ce){return Ce.padStart(2,"0")})).join("")},set:function e(Ce){this.rgba=p.hexToRgb(Ce)}}],[{key:"hexToRgb",value:function e(Ce){var Ie=(Ce.startsWith("#")?Ce.slice(1):Ce).replace(/^(\w{3})$/,"$1F").replace(/^(\w)(\w)(\w)(\w)$/,"$1$1$2$2$3$3$4$4").replace(/^(\w{6})$/,"$1FF");if(!Ie.match(/^([0-9a-fA-F]{8})$/))throw new Error("Unknown hex color; "+Ce);var ve=Ie.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map((function(Ce){return parseInt(Ce,16)}));return ve[3]=ve[3]/255,ve}},{key:"nameToRgb",value:function e(Ce){var Ie=Ce.toLowerCase().replace("at","T").replace(/[aeiouyldf]/g,"").replace("ght","L").replace("rk","D").slice(-5,4),Ae=ve[Ie];return void 0===Ae?Ae:p.hexToRgb(Ae.replace(/\-/g,"00").padStart(6,"f"))}},{key:"rgbToHsl",value:function h(Ce){var ve=Ie(Ce,4),Ae=ve[0],be=ve[1],ye=ve[2],we=ve[3];Ae/=255,be/=255,ye/=255;var Se=Math.max(Ae,be,ye),xe=Math.min(Ae,be,ye),ke=void 0,Ee=void 0,Re=(Se+xe)/2;if(Se===xe)ke=Ee=0;else{var _e=Se-xe;switch(Ee=Re>.5?_e/(2-Se-xe):_e/(Se+xe),Se){case Ae:ke=(be-ye)/_e+(be<ye?6:0);break;case be:ke=(ye-Ae)/_e+2;break;case ye:ke=(Ae-be)/_e+4}ke/=6}return[ke,Ee,Re,we]}},{key:"hslToRgb",value:function h(Ce){var ve=Ie(Ce,4),Ae=ve[0],be=ve[1],ye=ve[2],we=ve[3],Se=void 0,xe=void 0,ke=void 0;if(0===be)Se=xe=ke=ye;else{var Ee=function e(Ce,Ie,ve){return ve<0&&(ve+=1),ve>1&&(ve-=1),ve<1/6?Ce+6*(Ie-Ce)*ve:ve<.5?Ie:ve<2/3?Ce+(Ie-Ce)*(2/3-ve)*6:Ce},Re=ye<.5?ye*(1+be):ye+be-ye*be,_e=2*ye-Re;Se=Ee(_e,Re,Ae+1/3),xe=Ee(_e,Re,Ae),ke=Ee(_e,Re,Ae-1/3)}var $e=[255*Se,255*xe,255*ke].map(Math.round);return $e[3]=we,$e}}]),p}(),be=function(){function o(){s(this,o),this._events=[]}return Ce(o,[{key:"add",value:function e(Ce,Ie,ve){Ce.addEventListener(Ie,ve,!1),this._events.push({target:Ce,type:Ie,handler:ve})}},{key:"remove",value:function e(Ce,Ie,ve){this._events=this._events.filter((function(Ae){var be=!0;return Ce&&Ce!==Ae.target&&(be=!1),Ie&&Ie!==Ae.type&&(be=!1),ve&&ve!==Ae.handler&&(be=!1),be&&o._doRemove(Ae.target,Ae.type,Ae.handler),!be}))}},{key:"destroy",value:function e(){this._events.forEach((function(Ce){return o._doRemove(Ce.target,Ce.type,Ce.handler)})),this._events=[]}}],[{key:"_doRemove",value:function e(Ce,Ie,ve){Ce.removeEventListener(Ie,ve,!1)}}]),o}();function u(Ce){var Ie=document.createElement("div");return Ie.innerHTML=Ce,Ie.firstElementChild}function l(Ce,Ie,ve){var Ae=!1;function g(Ce,Ie,ve){return Math.max(Ie,Math.min(Ce,ve))}function n(Ce,be,ye){if(ye&&(Ae=!0),Ae){Ce.preventDefault();var we=Ie.getBoundingClientRect(),Se=we.width,xe=we.height,ke=be.clientX,Ee=be.clientY,Re=g(ke-we.left,0,Se),_e=g(Ee-we.top,0,xe);ve(Re/Se,_e/xe)}}function t(Ce,Ie){1===(void 0===Ce.buttons?Ce.which:Ce.buttons)?n(Ce,Ce,Ie):Ae=!1}function i(Ce,Ie){1===Ce.touches.length?n(Ce,Ce.touches[0],Ie):Ae=!1}Ce.add(Ie,"mousedown",(function(Ce){t(Ce,!0)})),Ce.add(Ie,"touchstart",(function(Ce){i(Ce,!0)})),Ce.add(window,"mousemove",t),Ce.add(Ie,"touchmove",i),Ce.add(window,"mouseup",(function(Ce){Ae=!1})),Ce.add(Ie,"touchend",(function(Ce){Ae=!1})),Ce.add(Ie,"touchcancel",(function(Ce){Ae=!1}))}var ye="linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,\n linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em",we=360,Se="keydown",xe="mousedown",ke="focusin";function b(Ce,Ie){return(Ie||document).querySelector(Ce)}function p(Ce){Ce.preventDefault(),Ce.stopPropagation()}function d(Ce,Ie,ve,Ae,be){Ce.add(Ie,Se,(function(Ce){ve.indexOf(Ce.key)>=0&&(be&&p(Ce),Ae(Ce))}))}var Ee=function(){function t(Ce){s(this,t),this.settings={popup:"right",layout:"default",alpha:!0,editor:!0,editorFormat:"hex",cancelButton:!1,defaultColor:"#0cf"},this._events=new be,this.onChange=null,this.onDone=null,this.onOpen=null,this.onClose=null,this.setOptions(Ce)}return Ce(t,[{key:"setOptions",value:function e(Ce){var Ie=this;if(Ce){var ve=this.settings;if(Ce instanceof HTMLElement)ve.parent=Ce;else{ve.parent&&Ce.parent&&ve.parent!==Ce.parent&&(this._events.remove(ve.parent),this._popupInited=!1),r(Ce,ve),Ce.onChange&&(this.onChange=Ce.onChange),Ce.onDone&&(this.onDone=Ce.onDone),Ce.onOpen&&(this.onOpen=Ce.onOpen),Ce.onClose&&(this.onClose=Ce.onClose);var Ae=Ce.color||Ce.colour;Ae&&this._setColor(Ae)}var be=ve.parent;if(be&&ve.popup&&!this._popupInited){var ye=function e(Ce){return Ie.openHandler(Ce)};this._events.add(be,"click",ye),d(this._events,be,[" ","Spacebar","Enter"],ye),this._popupInited=!0}else Ce.parent&&!ve.popup&&this.show()}function r(Ce,Ie,ve){for(var Ae in Ce)ve&&ve.indexOf(Ae)>=0||(Ie[Ae]=Ce[Ae])}}},{key:"openHandler",value:function e(Ce){if(this.show()){Ce&&Ce.preventDefault(),this.settings.parent.style.pointerEvents="none";var Ie=Ce&&Ce.type===Se?this._domEdit:this.domElement;setTimeout((function(){return Ie.focus()}),100),this.onOpen&&this.onOpen(this.colour)}}},{key:"closeHandler",value:function e(Ce){var Ie=Ce&&Ce.type,ve=!1;if(Ce)if(Ie===xe||Ie===ke){var Ae=(this.__containedEvent||0)+100;Ce.timeStamp>Ae&&(ve=!0)}else p(Ce),ve=!0;else ve=!0;ve&&this.hide()&&(this.settings.parent.style.pointerEvents="",Ie!==xe&&this.settings.parent.focus(),this.onClose&&this.onClose(this.colour))}},{key:"movePopup",value:function e(Ce,Ie){this.closeHandler(),this.setOptions(Ce),Ie&&this.openHandler()}},{key:"setColor",value:function e(Ce,Ie){this._setColor(Ce,{silent:Ie})}},{key:"_setColor",value:function e(Ce,Ie){if("string"==typeof Ce&&(Ce=Ce.trim()),Ce){Ie=Ie||{};var ve=void 0;try{ve=new Ae(Ce)}catch(e){if(Ie.failSilently)return;throw e}if(!this.settings.alpha){var be=ve.hsla;be[3]=1,ve.hsla=be}this.colour=this.color=ve,this._setHSLA(null,null,null,null,Ie)}}},{key:"setColour",value:function e(Ce,Ie){this.setColor(Ce,Ie)}},{key:"show",value:function e(){if(!this.settings.parent)return!1;if(this.domElement){var Ce=this._toggleDOM(!0);return this._setPosition(),Ce}var Ie=u(this.settings.template||'<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>');return this.domElement=Ie,this._domH=b(".picker_hue",Ie),this._domSL=b(".picker_sl",Ie),this._domA=b(".picker_alpha",Ie),this._domEdit=b(".picker_editor input",Ie),this._domSample=b(".picker_sample",Ie),this._domOkay=b(".picker_done button",Ie),this._domCancel=b(".picker_cancel button",Ie),Ie.classList.add("layout_"+this.settings.layout),this.settings.alpha||Ie.classList.add("no_alpha"),this.settings.editor||Ie.classList.add("no_editor"),this.settings.cancelButton||Ie.classList.add("no_cancel"),this._ifPopup((function(){return Ie.classList.add("popup")})),this._setPosition(),this.colour?this._updateUI():this._setColor(this.settings.defaultColor),this._bindEvents(),!0}},{key:"hide",value:function e(){return this._toggleDOM(!1)}},{key:"destroy",value:function e(){this._events.destroy(),this.domElement&&this.settings.parent.removeChild(this.domElement)}},{key:"_bindEvents",value:function e(){var Ce=this,Ie=this,ve=this.domElement,Ae=this._events;function s(Ce,Ie,ve){Ae.add(Ce,Ie,ve)}s(ve,"click",(function(Ce){return Ce.preventDefault()})),l(Ae,this._domH,(function(Ce,ve){return Ie._setHSLA(Ce)})),l(Ae,this._domSL,(function(Ce,ve){return Ie._setHSLA(null,Ce,1-ve)})),this.settings.alpha&&l(Ae,this._domA,(function(Ce,ve){return Ie._setHSLA(null,null,null,1-ve)}));var be=this._domEdit;s(be,"input",(function(Ce){Ie._setColor(this.value,{fromEditor:!0,failSilently:!0})})),s(be,"focus",(function(Ce){var Ie=this;Ie.selectionStart===Ie.selectionEnd&&Ie.select()})),this._ifPopup((function(){var Ie=function e(Ie){return Ce.closeHandler(Ie)};s(window,xe,Ie),s(window,ke,Ie),d(Ae,ve,["Esc","Escape"],Ie);var be=function e(Ie){Ce.__containedEvent=Ie.timeStamp};s(ve,xe,be),s(ve,ke,be),s(Ce._domCancel,"click",Ie)}));var ye=function e(Ie){Ce._ifPopup((function(){return Ce.closeHandler(Ie)})),Ce.onDone&&Ce.onDone(Ce.colour)};s(this._domOkay,"click",ye),d(Ae,ve,["Enter"],ye)}},{key:"_setPosition",value:function e(){var Ce=this.settings.parent,Ie=this.domElement;Ce!==Ie.parentNode&&Ce.appendChild(Ie),this._ifPopup((function(ve){"static"===getComputedStyle(Ce).position&&(Ce.style.position="relative");var Ae=!0===ve?"popup_right":"popup_"+ve;["popup_top","popup_bottom","popup_left","popup_right"].forEach((function(Ce){Ce===Ae?Ie.classList.add(Ce):Ie.classList.remove(Ce)})),Ie.classList.add(Ae)}))}},{key:"_setHSLA",value:function e(Ce,Ie,ve,Ae,be){be=be||{};var ye=this.colour,we=ye.hsla;[Ce,Ie,ve,Ae].forEach((function(Ce,Ie){(Ce||0===Ce)&&(we[Ie]=Ce)})),ye.hsla=we,this._updateUI(be),this.onChange&&!be.silent&&this.onChange(ye)}},{key:"_updateUI",value:function h(Ce){if(this.domElement){Ce=Ce||{};var Ie=this.colour,ve=Ie.hsla,Ae="hsl("+ve[0]*we+", 100%, 50%)",be=Ie.hslString,Se=Ie.hslaString,xe=this._domH,ke=this._domSL,Ee=this._domA,Re=b(".picker_selector",xe),_e=b(".picker_selector",ke),$e=b(".picker_selector",Ee);m(xe,Re,ve[0]),this._domSL.style.backgroundColor=this._domH.style.color=Ae,m(ke,_e,ve[1]),f(ke,_e,1-ve[2]),ke.style.color=be,f(Ee,$e,1-ve[3]);var Le=be,Be=Le.replace("hsl","hsla").replace(")",", 0)"),We="linear-gradient("+[Le,Be]+")";if(this._domA.style.background=We+", "+ye,!Ce.fromEditor){var Ne=this.settings.editorFormat,Ge=this.settings.alpha,Pe=void 0;switch(Ne){case"rgb":Pe=Ie.printRGB(Ge);break;case"hsl":Pe=Ie.printHSL(Ge);break;default:Pe=Ie.printHex(Ge)}this._domEdit.value=Pe}this._domSample.style.color=Se}function m(Ce,Ie,ve){Ie.style.left=100*ve+"%"}function f(Ce,Ie,ve){Ie.style.top=100*ve+"%"}}},{key:"_ifPopup",value:function e(Ce,Ie){this.settings.parent&&this.settings.popup?Ce&&Ce(this.settings.popup):Ie&&Ie()}},{key:"_toggleDOM",value:function e(Ce){var Ie=this.domElement;if(!Ie)return!1;var ve=Ce?"":"none",Ae=Ie.style.display!==ve;return Ae&&(Ie.style.display=ve),Ae}}]),t}(),Re=document.createElement("style");return Re.textContent='.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done,.layout_default .picker_cancel{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:none}.picker_wrapper button:focus,.picker_wrapper button:active,.picker_wrapper input:focus,.picker_wrapper input:active{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg, gainsboro, transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg, transparent, gainsboro)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255, 255, 255, 0) 50%),linear-gradient(0deg, black, rgba(0, 0, 0, 0) 50%),linear-gradient(90deg, #808080, rgba(128, 128, 128, 0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0/2em 2em,linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1, -1);transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}',document.documentElement.firstElementChild.appendChild(Re),Ee.StyleElement=Re,Ee}()},402:function(Ce,Ie){"use strict";function i(Ce,Ie){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");this.message=Ce+" (char "+Ie+")",this.char=Ie,this.stack=(new Error).stack}Object.defineProperty(Ie,"__esModule",{value:!0}),((Ie.default=i).prototype=new Error).constructor=Error},3860:function(Ce,Ie,ve){Ce.exports=ve(7490).default},7490:function(Ce,Ie,ve){"use strict";Ie.default=function(Ce){Ge="",Pe=0,Fe=(Ne=Ce).charAt(0),He="",Ve=Re,u();var Ie=Ve;if(T(),E(),""===He)return Ge;if(Ie===Ve&&k()){for(var ve="";Ie===Ve&&k();)ve+=Ge=(0,be.insertBeforeLastWhitespace)(Ge,","),Ge="",T(),E();return"[\n".concat(ve).concat(Ge,"\n]")}throw new Ae.default("Unexpected characters",Pe-He.length)};var Ae=(Ie=ve(402))&&Ie.__esModule?Ie:{default:Ie},be=ve(9422),ye=0,we=1,Se=2,xe=3,ke=4,Ee=5,Re=6,_e={"":!0,"{":!0,"}":!0,"[":!0,"]":!0,":":!0,",":!0,"(":!0,")":!0,";":!0,"+":!0},$e={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},Le={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},Be={null:"null",true:"true",false:"false"},We={None:"null",True:"true",False:"false"},Ne="",Ge="",Pe=0,Fe="",He="",Ve=Re;function d(){Pe++,Fe=Ne.charAt(Pe)}function x(){d(),"\\"===Fe&&d()}function k(){return Ve===ye&&("["===He||"{"===He)||Ve===Se||Ve===we||Ve===xe}function u(){if(Ge+=He,Ve=Re,He="",_e[Fe])Ve=ye,He=Fe,d();else if((0,be.isDigit)(Fe)||"-"===Fe){if(Ve=we,"-"===Fe){if(He+=Fe,d(),!(0,be.isDigit)(Fe))throw new Ae.default("Invalid number, digit expected",Pe)}else"0"===Fe&&(He+=Fe,d());for(;(0,be.isDigit)(Fe);)He+=Fe,d();if("."===Fe){if(He+=Fe,d(),!(0,be.isDigit)(Fe))throw new Ae.default("Invalid number, digit expected",Pe);for(;(0,be.isDigit)(Fe);)He+=Fe,d()}if("e"===Fe||"E"===Fe){if(He+=Fe,d(),"+"!==Fe&&"-"!==Fe||(He+=Fe,d()),!(0,be.isDigit)(Fe))throw new Ae.default("Invalid number, digit expected",Pe);for(;(0,be.isDigit)(Fe);)He+=Fe,d()}}else"\\"===Fe&&'"'===Ne.charAt(Pe+1)?(d(),R(x)):R(d);Ve===ke&&(He=(0,be.normalizeWhitespace)(He),u()),Ve===Ee&&(Ve=Re,He="",u())}function E(){","===He&&(He="",Ve=Re,u())}function R(Ce){if((0,be.isQuote)(Fe)){var Ie=(0,be.normalizeQuote)(Fe),ve=(0,be.isSingleQuote)(Fe)?be.isSingleQuote:be.isDoubleQuote;for(He+='"',Ve=Se,Ce();""!==Fe&&!ve(Fe);)if("\\"===Fe)if(Ce(),void 0!==$e[Fe])He+="\\"+Fe,Ce();else if("u"===Fe){He+="\\u",Ce();for(var ye=0;ye<4;ye++){if(!(0,be.isHex)(Fe))throw new Ae.default("Invalid unicode character",Pe-He.length);He+=Fe,Ce()}}else{if("'"!==Fe)throw new Ae.default('Invalid escape character "\\'+Fe+'"',Pe);He+="'",Ce()}else Le[Fe]?He+=Le[Fe]:He+='"'===Fe?'\\"':Fe,Ce();if((0,be.normalizeQuote)(Fe)!==Ie)throw new Ae.default("End of string expected",Pe-He.length);return He+='"',void Ce()}if((0,be.isAlpha)(Fe))for(Ve=xe;(0,be.isAlpha)(Fe)||(0,be.isDigit)(Fe)||"$"===Fe;)He+=Fe,d();else if((0,be.isWhitespace)(Fe)||(0,be.isSpecialWhitespace)(Fe))for(Ve=ke;(0,be.isWhitespace)(Fe)||(0,be.isSpecialWhitespace)(Fe);)He+=Fe,d();else if("/"!==Fe||"*"!==Ne[Pe+1]){if("/"!==Fe||"/"!==Ne[Pe+1]){for(Ve=Re;""!==Fe;)He+=Fe,d();throw new Ae.default('Syntax error in part "'+He+'"',Pe-He.length)}for(Ve=Ee;""!==Fe&&"\n"!==Fe;)He+=Fe,d()}else{for(Ve=Ee;""!==Fe&&("*"!==Fe||"*"===Fe&&"/"!==Ne[Pe+1]);)He+=Fe,d();"*"===Fe&&"/"===Ne[Pe+1]&&(He+=Fe,d(),He+=Fe,d())}}function T(){if(Ve!==ye||"{"!==He)if(Ve===ye&&"["===He)if(u(),Ve!==ye||"]"!==He){for(;;)if(T(),Ve===ye&&","===He){if(u(),Ve===ye&&"]"===He){Ge=(0,be.stripLastOccurrence)(Ge,",");break}if(""===He){Ge=(0,be.stripLastOccurrence)(Ge,",");break}}else{if(!k())break;Ge=(0,be.insertBeforeLastWhitespace)(Ge,",")}Ve===ye&&"]"===He?u():Ge=(0,be.insertBeforeLastWhitespace)(Ge,"]")}else u();else if(Ve===Se)for(u();Ve===ye&&"+"===He;){var Ce;He="",u(),Ve===Se&&(Ce=Ge.lastIndexOf('"'),Ge=Ge.substring(0,Ce)+He.substring(1),He="",u())}else if(Ve===we)u();else{if(Ve!==xe)throw""===He?new Ae.default("Unexpected end of json string",Pe-He.length):new Ae.default("Value expected",Pe-He.length);if(Be[He])u();else{if(We[He])return He=We[He],void u();var Ie=He,ve=Ge.length;if(He="",u(),Ve===ye&&"("===He)return He="",u(),T(),void(Ve===ye&&")"===He&&(He="",u(),Ve===ye&&";"===He&&(He="",u())));for(Ge=(0,be.insertAtIndex)(Ge,'"'.concat(Ie),ve);Ve===xe||Ve===we;)u();Ge+='"'}}else if(u(),Ve!==ye||"}"!==He){for(;;){if(Ve!==xe&&Ve!==we||(Ve=Se,He='"'.concat(He,'"')),Ve!==Se)throw new Ae.default("Object key expected",Pe-He.length);if(u(),Ve===ye&&":"===He)u();else{if(!k())throw new Ae.default("Colon expected",Pe-He.length);Ge=(0,be.insertBeforeLastWhitespace)(Ge,":")}if(T(),Ve===ye&&","===He){if(u(),Ve===ye&&"}"===He){Ge=(0,be.stripLastOccurrence)(Ge,",");break}if(""===He){Ge=(0,be.stripLastOccurrence)(Ge,",");break}}else{if(Ve!==Se&&Ve!==we&&Ve!==xe)break;Ge=(0,be.insertBeforeLastWhitespace)(Ge,",")}}Ve===ye&&"}"===He?u():Ge=(0,be.insertBeforeLastWhitespace)(Ge,"}")}else u()}},9422:function(Ce,Ie){"use strict";Object.defineProperty(Ie,"__esModule",{value:!0}),Ie.isAlpha=function(Ce){return be.test(Ce)},Ie.isHex=function(Ce){return ye.test(Ce)},Ie.isDigit=function(Ce){return we.test(Ce)},Ie.isWhitespace=a,Ie.isSpecialWhitespace=l,Ie.normalizeWhitespace=function(Ce){for(var Ie="",ve=0;ve<Ce.length;ve++){var Ae=Ce[ve];Ie+=l(Ae)?" ":Ae}return Ie},Ie.isQuote=function(Ce){return!0===ve[Ce]||!0===Ae[Ce]},Ie.isSingleQuote=function(Ce){return!0===ve[Ce]},Ie.isDoubleQuote=function(Ce){return!0===Ae[Ce]},Ie.normalizeQuote=function(Ce){return!0!==ve[Ce]?!0!==Ae[Ce]?Ce:'"':"'"},Ie.stripLastOccurrence=function(Ce,Ie){return-1!==(Ie=Ce.lastIndexOf(Ie))?Ce.substring(0,Ie)+Ce.substring(Ie+1):Ce},Ie.insertBeforeLastWhitespace=function(Ce,Ie){var ve=Ce.length;if(!a(Ce[ve-1]))return Ce+Ie;for(;a(Ce[ve-1]);)ve--;return Ce.substring(0,ve)+Ie+Ce.substring(ve)},Ie.insertAtIndex=function(Ce,Ie,ve){return Ce.substring(0,ve)+Ie+Ce.substring(ve)};var ve={"'":!0,"‘":!0,"’":!0,"`":!0,"´":!0},Ae={'"':!0,"“":!0,"”":!0},be=/^[a-zA-Z_]$/,ye=/^[0-9a-fA-F]$/,we=/^[0-9]$/;function a(Ce){return" "===Ce||"\t"===Ce||"\n"===Ce||"\r"===Ce}function l(Ce){return" "===Ce||" "<=Ce&&Ce<=" "||" "===Ce||" "===Ce||" "===Ce}},894:function(Ce){"use strict";Ce.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},7171:function(Ce){"use strict";Ce.exports=JSON.parse('{"id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-04/schema#","description":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"positiveInteger":{"type":"integer","minimum":0},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true}},"type":"object","properties":{"id":{"type":"string"},"$schema":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"multipleOf":{"type":"number","minimum":0,"exclusiveMinimum":true},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"$ref":"#/definitions/positiveInteger"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/positiveInteger"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]},"default":{}}')},6273:function(Ce){"use strict";Ce.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-06/schema#","$id":"http://json-schema.org/draft-06/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"examples":{"type":"array","items":{}},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":{},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}')},6680:function(Ce){"use strict";Ce.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},Ie={},n.amdD=function(){throw new Error("define cannot be used indirect")},n.n=function(Ce){var Ie=Ce&&Ce.__esModule?function(){return Ce.default}:function(){return Ce};return n.d(Ie,{a:Ie}),Ie},n.d=function(Ce,Ie){for(var ve in Ie)n.o(Ie,ve)&&!n.o(Ce,ve)&&Object.defineProperty(Ce,ve,{enumerable:!0,get:Ie[ve]})},n.o=function(Ce,Ie){return Object.prototype.hasOwnProperty.call(Ce,Ie)},n.r=function(Ce){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(Ce,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(Ce,"__esModule",{value:!0})},n.nmd=function(Ce){return Ce.paths=[],Ce.children||(Ce.children=[]),Ce},n(3161);function n(ve){var Ae=Ie[ve];return void 0!==Ae||(Ae=Ie[ve]={id:ve,loaded:!1,exports:{}},Ce[ve].call(Ae.exports,Ae,Ae.exports,n),Ae.loaded=!0),Ae.exports}var Ce,Ie}()}}]);
|