@esri/solutions-components 0.0.2 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @esri/solutions-components might be problematic. Click here for more details.

Files changed (892) hide show
  1. package/README.md +6 -5
  2. package/dist/cjs/CalciteExpandToggle-3e4e3b6c.js +0 -2
  3. package/dist/cjs/CalciteHeading-d765addc.js +0 -2
  4. package/dist/cjs/_commonjsHelpers-84e109b5.js +26 -0
  5. package/dist/cjs/array-cd6c0c32.js +0 -2
  6. package/dist/cjs/calcite-accordion-item.cjs.entry.js +0 -2
  7. package/dist/cjs/calcite-accordion.cjs.entry.js +0 -2
  8. package/dist/cjs/calcite-action-bar.cjs.entry.js +0 -2
  9. package/dist/cjs/calcite-action-group.cjs.entry.js +0 -2
  10. package/dist/cjs/calcite-action-menu_3.cjs.entry.js +0 -2
  11. package/dist/cjs/calcite-action-pad.cjs.entry.js +0 -2
  12. package/dist/cjs/calcite-action.cjs.entry.js +0 -2
  13. package/dist/cjs/calcite-alert.cjs.entry.js +0 -2
  14. package/dist/cjs/calcite-avatar.cjs.entry.js +0 -2
  15. package/dist/cjs/calcite-block-section.cjs.entry.js +0 -2
  16. package/dist/cjs/calcite-block.cjs.entry.js +0 -2
  17. package/dist/cjs/calcite-button.cjs.entry.js +0 -2
  18. package/dist/cjs/calcite-card.cjs.entry.js +0 -2
  19. package/dist/cjs/calcite-checkbox_4.cjs.entry.js +0 -2
  20. package/dist/cjs/calcite-chip.cjs.entry.js +0 -2
  21. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js +3 -4
  22. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js +2 -3
  23. package/dist/cjs/calcite-color-picker.cjs.entry.js +3 -4
  24. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +0 -2
  25. package/dist/cjs/calcite-combobox-item.cjs.entry.js +0 -2
  26. package/dist/cjs/calcite-combobox.cjs.entry.js +0 -2
  27. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +0 -2
  28. package/dist/cjs/calcite-date-picker.cjs.entry.js +0 -2
  29. package/dist/cjs/calcite-dropdown-group.cjs.entry.js +0 -2
  30. package/dist/cjs/calcite-dropdown-item.cjs.entry.js +0 -2
  31. package/dist/cjs/calcite-dropdown.cjs.entry.js +0 -2
  32. package/dist/cjs/calcite-fab.cjs.entry.js +0 -2
  33. package/dist/cjs/calcite-filter.cjs.entry.js +0 -2
  34. package/dist/cjs/calcite-flow.cjs.entry.js +0 -2
  35. package/dist/cjs/calcite-graph.cjs.entry.js +0 -2
  36. package/dist/cjs/calcite-handle.cjs.entry.js +0 -2
  37. package/dist/cjs/calcite-icon.cjs.entry.js +0 -2
  38. package/dist/cjs/calcite-inline-editable.cjs.entry.js +0 -2
  39. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +0 -2
  40. package/dist/cjs/calcite-input-message.cjs.entry.js +0 -2
  41. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +0 -2
  42. package/dist/cjs/calcite-input_2.cjs.entry.js +0 -2
  43. package/dist/cjs/calcite-label.cjs.entry.js +0 -2
  44. package/dist/cjs/calcite-link.cjs.entry.js +0 -2
  45. package/dist/cjs/calcite-list-item-group.cjs.entry.js +0 -2
  46. package/dist/cjs/calcite-list-item.cjs.entry.js +0 -2
  47. package/dist/cjs/calcite-list.cjs.entry.js +0 -2
  48. package/dist/cjs/calcite-loader.cjs.entry.js +0 -2
  49. package/dist/cjs/calcite-modal.cjs.entry.js +0 -2
  50. package/dist/cjs/calcite-notice.cjs.entry.js +0 -2
  51. package/dist/cjs/calcite-option-group.cjs.entry.js +0 -2
  52. package/dist/cjs/calcite-option.cjs.entry.js +0 -2
  53. package/dist/cjs/calcite-pagination.cjs.entry.js +0 -2
  54. package/dist/cjs/calcite-panel_14.cjs.entry.js +41 -8
  55. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +0 -2
  56. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +0 -2
  57. package/dist/cjs/calcite-pick-list.cjs.entry.js +0 -2
  58. package/dist/cjs/calcite-popover-manager.cjs.entry.js +0 -2
  59. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +0 -2
  60. package/dist/cjs/calcite-radio-button.cjs.entry.js +0 -2
  61. package/dist/cjs/calcite-radio-group-item.cjs.entry.js +0 -2
  62. package/dist/cjs/calcite-radio-group.cjs.entry.js +0 -2
  63. package/dist/cjs/calcite-radio.cjs.entry.js +0 -2
  64. package/dist/cjs/calcite-rating.cjs.entry.js +0 -2
  65. package/dist/cjs/calcite-scrim.cjs.entry.js +0 -2
  66. package/dist/cjs/calcite-select.cjs.entry.js +0 -2
  67. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +0 -2
  68. package/dist/cjs/calcite-slider.cjs.entry.js +0 -2
  69. package/dist/cjs/calcite-sortable-list.cjs.entry.js +0 -2
  70. package/dist/cjs/calcite-split-button.cjs.entry.js +0 -2
  71. package/dist/cjs/calcite-stepper-item.cjs.entry.js +0 -2
  72. package/dist/cjs/calcite-stepper.cjs.entry.js +0 -2
  73. package/dist/cjs/calcite-switch.cjs.entry.js +0 -2
  74. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +0 -2
  75. package/dist/cjs/calcite-tile-select.cjs.entry.js +0 -2
  76. package/dist/cjs/calcite-tile.cjs.entry.js +0 -2
  77. package/dist/cjs/calcite-time-picker.cjs.entry.js +0 -2
  78. package/dist/cjs/calcite-tip-group.cjs.entry.js +0 -2
  79. package/dist/cjs/calcite-tip-manager.cjs.entry.js +0 -2
  80. package/dist/cjs/calcite-tip.cjs.entry.js +0 -2
  81. package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -2
  82. package/dist/cjs/calcite-value-list-item.cjs.entry.js +0 -2
  83. package/dist/cjs/calcite-value-list.cjs.entry.js +0 -2
  84. package/dist/cjs/common-a4edb52d.js +216 -0
  85. package/dist/cjs/date-0554c4d1.js +0 -2
  86. package/dist/cjs/debounce-df22462b.js +0 -2
  87. package/dist/cjs/dom-62511f59.js +0 -2
  88. package/dist/cjs/editStore-36fc36e6.js +2024 -0
  89. package/dist/cjs/forIn-6a1c2f6d.js +0 -2
  90. package/dist/cjs/form-0b5b2d4e.js +0 -2
  91. package/dist/cjs/generalHelpers-cee7d0da.js +168 -0
  92. package/dist/cjs/guid-c6be9504.js +0 -2
  93. package/dist/cjs/{index-706750dc.js → index-69e74dd7.js} +5 -19
  94. package/dist/cjs/index-81c17948.js +0 -2
  95. package/dist/cjs/index.cjs.js +0 -2
  96. package/dist/cjs/interfaces-5ba2c1a7.js +0 -2
  97. package/dist/cjs/key-2a6290c8.js +0 -2
  98. package/dist/cjs/label-46482470.js +0 -2
  99. package/dist/cjs/loader.cjs.js +1 -3
  100. package/dist/cjs/locale-0db34680.js +0 -2
  101. package/dist/cjs/math-71f8de66.js +0 -2
  102. package/dist/cjs/number-697ce34c.js +0 -2
  103. package/dist/cjs/observers-88bbd6ef.js +0 -2
  104. package/dist/cjs/popper-8c8dc960.js +0 -2
  105. package/dist/cjs/request-6905140c.js +550 -0
  106. package/dist/cjs/resources-20f88094.js +0 -2
  107. package/dist/cjs/resources-27c22d8a.js +0 -2
  108. package/dist/cjs/{resources-369e7421.js → resources-2a401414.js} +1 -3
  109. package/dist/cjs/resources-46af0638.js +0 -2
  110. package/dist/cjs/resources-509951f9.js +0 -2
  111. package/dist/cjs/resources-5b7958e4.js +0 -2
  112. package/dist/cjs/resources-a265534b.js +0 -2
  113. package/dist/cjs/resources-e231446d.js +0 -2
  114. package/dist/cjs/resources-ef6c71a1.js +0 -2
  115. package/dist/cjs/shared-list-render-63d3ea89.js +0 -2
  116. package/dist/cjs/solution-configuration.cjs.entry.js +172 -14
  117. package/dist/cjs/solution-contents_3.cjs.entry.js +42 -68
  118. package/dist/cjs/solutions.cjs.js +1 -3
  119. package/dist/cjs/sortable.esm-14548a17.js +0 -2
  120. package/dist/cjs/store-manager.cjs.entry.js +17 -8
  121. package/dist/cjs/templates-a0242ced.js +422 -0
  122. package/dist/cjs/time-c87dc79e.js +0 -2
  123. package/dist/cjs/utils-c19d354a.js +0 -2
  124. package/dist/cjs/utils-cb7373e6.js +0 -2
  125. package/dist/collection/assets/nls/fr/strings.js +2 -0
  126. package/dist/collection/assets/nls/strings.js +2 -0
  127. package/dist/collection/collection-manifest.json +9 -9
  128. package/dist/collection/components/json-editor/json-editor.js +40 -2
  129. package/dist/collection/components/solution-configuration/solution-configuration.js +251 -24
  130. package/dist/collection/components/solution-contents/solution-contents.js +12 -3
  131. package/dist/collection/components/solution-item/solution-item.css +1 -0
  132. package/dist/collection/components/solution-item/solution-item.js +2 -2
  133. package/dist/collection/components/solution-item-details/solution-item-details.js +4 -3
  134. package/dist/collection/components/solution-item-icon/solution-item-icon.js +0 -1
  135. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +2 -2
  136. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +2 -2
  137. package/dist/collection/components/solution-resource-item/solution-resource-item.js +2 -2
  138. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +68 -68
  139. package/dist/collection/components/solution-spatial-ref/spatialreferences.js +0 -2
  140. package/dist/collection/components/solution-template-data/solution-template-data.js +4 -4
  141. package/dist/collection/components/solution-variables/solution-variables.js +2 -2
  142. package/dist/collection/components/store-manager/store-manager.js +49 -5
  143. package/dist/collection/demos/browse-solutions.html +136 -54
  144. package/dist/collection/demos/solution-configuration.html +139 -12
  145. package/dist/collection/demos/solution-spatial-ref.html +1 -1
  146. package/dist/collection/index.js +0 -1
  147. package/dist/collection/utils/common.js +25 -77
  148. package/dist/collection/utils/common.ts +42 -73
  149. package/dist/collection/utils/editStore.js +0 -1
  150. package/dist/{solutions/p-ecbfddde.js → collection/utils/interfaces.js} +16 -17
  151. package/dist/collection/utils/interfaces.ts +126 -0
  152. package/dist/collection/utils/templates.js +8 -6
  153. package/dist/collection/utils/templates.ts +19 -33
  154. package/dist/custom-elements/index.js +3161 -152
  155. package/dist/esm/CalciteExpandToggle-5df46988.js +0 -2
  156. package/dist/esm/CalciteHeading-79b4b347.js +0 -2
  157. package/dist/esm/_commonjsHelpers-84c626bc.js +22 -0
  158. package/dist/esm/array-71e0c501.js +0 -2
  159. package/dist/esm/calcite-accordion-item.entry.js +0 -2
  160. package/dist/esm/calcite-accordion.entry.js +0 -2
  161. package/dist/esm/calcite-action-bar.entry.js +0 -2
  162. package/dist/esm/calcite-action-group.entry.js +0 -2
  163. package/dist/esm/calcite-action-menu_3.entry.js +0 -2
  164. package/dist/esm/calcite-action-pad.entry.js +0 -2
  165. package/dist/esm/calcite-action.entry.js +0 -2
  166. package/dist/esm/calcite-alert.entry.js +0 -2
  167. package/dist/esm/calcite-avatar.entry.js +0 -2
  168. package/dist/esm/calcite-block-section.entry.js +0 -2
  169. package/dist/esm/calcite-block.entry.js +0 -2
  170. package/dist/esm/calcite-button.entry.js +0 -2
  171. package/dist/esm/calcite-card.entry.js +0 -2
  172. package/dist/esm/calcite-checkbox_4.entry.js +0 -2
  173. package/dist/esm/calcite-chip.entry.js +0 -2
  174. package/dist/esm/calcite-color-picker-hex-input.entry.js +3 -4
  175. package/dist/esm/calcite-color-picker-swatch.entry.js +2 -3
  176. package/dist/esm/calcite-color-picker.entry.js +3 -4
  177. package/dist/esm/calcite-combobox-item-group.entry.js +0 -2
  178. package/dist/esm/calcite-combobox-item.entry.js +0 -2
  179. package/dist/esm/calcite-combobox.entry.js +0 -2
  180. package/dist/esm/calcite-date-picker-day_3.entry.js +0 -2
  181. package/dist/esm/calcite-date-picker.entry.js +0 -2
  182. package/dist/esm/calcite-dropdown-group.entry.js +0 -2
  183. package/dist/esm/calcite-dropdown-item.entry.js +0 -2
  184. package/dist/esm/calcite-dropdown.entry.js +0 -2
  185. package/dist/esm/calcite-fab.entry.js +0 -2
  186. package/dist/esm/calcite-filter.entry.js +0 -2
  187. package/dist/esm/calcite-flow.entry.js +0 -2
  188. package/dist/esm/calcite-graph.entry.js +0 -2
  189. package/dist/esm/calcite-handle.entry.js +0 -2
  190. package/dist/esm/calcite-icon.entry.js +0 -2
  191. package/dist/esm/calcite-inline-editable.entry.js +0 -2
  192. package/dist/esm/calcite-input-date-picker.entry.js +0 -2
  193. package/dist/esm/calcite-input-message.entry.js +0 -2
  194. package/dist/esm/calcite-input-time-picker.entry.js +0 -2
  195. package/dist/esm/calcite-input_2.entry.js +0 -2
  196. package/dist/esm/calcite-label.entry.js +0 -2
  197. package/dist/esm/calcite-link.entry.js +0 -2
  198. package/dist/esm/calcite-list-item-group.entry.js +0 -2
  199. package/dist/esm/calcite-list-item.entry.js +0 -2
  200. package/dist/esm/calcite-list.entry.js +0 -2
  201. package/dist/esm/calcite-loader.entry.js +0 -2
  202. package/dist/esm/calcite-modal.entry.js +0 -2
  203. package/dist/esm/calcite-notice.entry.js +0 -2
  204. package/dist/esm/calcite-option-group.entry.js +0 -2
  205. package/dist/esm/calcite-option.entry.js +0 -2
  206. package/dist/esm/calcite-pagination.entry.js +0 -2
  207. package/dist/esm/calcite-panel_14.entry.js +37 -4
  208. package/dist/esm/calcite-pick-list-group.entry.js +0 -2
  209. package/dist/esm/calcite-pick-list-item.entry.js +0 -2
  210. package/dist/esm/calcite-pick-list.entry.js +0 -2
  211. package/dist/esm/calcite-popover-manager.entry.js +0 -2
  212. package/dist/esm/calcite-radio-button-group.entry.js +0 -2
  213. package/dist/esm/calcite-radio-button.entry.js +0 -2
  214. package/dist/esm/calcite-radio-group-item.entry.js +0 -2
  215. package/dist/esm/calcite-radio-group.entry.js +0 -2
  216. package/dist/esm/calcite-radio.entry.js +0 -2
  217. package/dist/esm/calcite-rating.entry.js +0 -2
  218. package/dist/esm/calcite-scrim.entry.js +0 -2
  219. package/dist/esm/calcite-select.entry.js +0 -2
  220. package/dist/esm/calcite-shell-center-row.entry.js +0 -2
  221. package/dist/esm/calcite-slider.entry.js +0 -2
  222. package/dist/esm/calcite-sortable-list.entry.js +0 -2
  223. package/dist/esm/calcite-split-button.entry.js +0 -2
  224. package/dist/esm/calcite-stepper-item.entry.js +0 -2
  225. package/dist/esm/calcite-stepper.entry.js +0 -2
  226. package/dist/esm/calcite-switch.entry.js +0 -2
  227. package/dist/esm/calcite-tile-select-group.entry.js +0 -2
  228. package/dist/esm/calcite-tile-select.entry.js +0 -2
  229. package/dist/esm/calcite-tile.entry.js +0 -2
  230. package/dist/esm/calcite-time-picker.entry.js +0 -2
  231. package/dist/esm/calcite-tip-group.entry.js +0 -2
  232. package/dist/esm/calcite-tip-manager.entry.js +0 -2
  233. package/dist/esm/calcite-tip.entry.js +0 -2
  234. package/dist/esm/calcite-tooltip.entry.js +0 -2
  235. package/dist/esm/calcite-value-list-item.entry.js +0 -2
  236. package/dist/esm/calcite-value-list.entry.js +0 -2
  237. package/dist/esm/common-70333fb9.js +213 -0
  238. package/dist/esm/date-5d75460a.js +0 -2
  239. package/dist/esm/debounce-23ad5849.js +0 -2
  240. package/dist/esm/dom-1cc617ae.js +0 -2
  241. package/dist/esm/editStore-197be454.js +2022 -0
  242. package/dist/esm/forIn-c922d47c.js +0 -2
  243. package/dist/esm/form-636dfed1.js +0 -2
  244. package/dist/esm/generalHelpers-91e92dc0.js +161 -0
  245. package/dist/esm/guid-740f1f1a.js +0 -2
  246. package/dist/esm/index-a3c3e3db.js +0 -2
  247. package/dist/esm/{index-934f242e.js → index-c1264d13.js} +3 -17
  248. package/dist/esm/index.js +0 -2
  249. package/dist/esm/interfaces-4f07beec.js +0 -2
  250. package/dist/esm/key-1748eb79.js +0 -2
  251. package/dist/esm/label-851f8926.js +0 -2
  252. package/dist/esm/loader.js +1 -3
  253. package/dist/esm/locale-31c8d43b.js +0 -2
  254. package/dist/esm/math-d8795f31.js +0 -2
  255. package/dist/esm/number-47ecb380.js +0 -2
  256. package/dist/esm/observers-b13ff24b.js +0 -2
  257. package/dist/esm/popper-25874f2f.js +0 -2
  258. package/dist/esm/request-9c2c9a49.js +548 -0
  259. package/dist/esm/resources-12c3b829.js +0 -2
  260. package/dist/esm/resources-32d7dd89.js +0 -2
  261. package/dist/esm/resources-466ccf86.js +0 -2
  262. package/dist/esm/resources-4cc0ef44.js +0 -2
  263. package/dist/esm/resources-861d0240.js +0 -2
  264. package/dist/esm/resources-b023c30a.js +0 -2
  265. package/dist/esm/{resources-c537bacb.js → resources-d7e09977.js} +1 -3
  266. package/dist/esm/resources-e56b6e53.js +0 -2
  267. package/dist/esm/resources-ec79cfd7.js +0 -2
  268. package/dist/esm/shared-list-render-b5dacd2e.js +0 -2
  269. package/dist/esm/solution-configuration.entry.js +172 -14
  270. package/dist/esm/solution-contents_3.entry.js +42 -68
  271. package/dist/esm/solutions.js +1 -3
  272. package/dist/esm/sortable.esm-7856912e.js +0 -2
  273. package/dist/esm/store-manager.entry.js +17 -8
  274. package/dist/esm/templates-c15e0de2.js +414 -0
  275. package/dist/esm/time-a3b29c35.js +0 -2
  276. package/dist/esm/utils-021cb956.js +0 -2
  277. package/dist/esm/utils-5fdd203c.js +0 -2
  278. package/dist/solutions/assets/nls/fr/strings.js +2 -0
  279. package/dist/solutions/assets/nls/strings.js +2 -0
  280. package/dist/solutions/demos/browse-solutions.html +136 -54
  281. package/dist/solutions/demos/solution-configuration.html +139 -12
  282. package/dist/solutions/demos/solution-spatial-ref.html +1 -1
  283. package/dist/solutions/index.esm.js +0 -2
  284. package/dist/solutions/p-03c9247d.entry.js +10 -0
  285. package/dist/solutions/p-03da5f23.entry.js +6 -0
  286. package/dist/solutions/p-054256c8.entry.js +10 -0
  287. package/dist/solutions/p-05c73b7d.js +1 -2
  288. package/dist/solutions/p-06c2b347.entry.js +6 -0
  289. package/dist/solutions/p-09a06209.entry.js +6 -0
  290. package/dist/solutions/p-09e5283f.entry.js +6 -0
  291. package/dist/solutions/p-0a0ca7d3.entry.js +6 -0
  292. package/dist/solutions/p-0b8525e2.js +1 -2
  293. package/dist/solutions/p-0bddf168.entry.js +10 -0
  294. package/dist/solutions/p-0dd00bd7.entry.js +6 -0
  295. package/dist/solutions/p-0f8fd0f8.entry.js +10 -0
  296. package/dist/solutions/p-1345c0c8.js +6 -0
  297. package/dist/solutions/p-1387e8ef.entry.js +10 -0
  298. package/dist/solutions/p-17195493.entry.js +6 -0
  299. package/dist/solutions/p-172b8454.js +38 -0
  300. package/dist/solutions/p-173c3a97.entry.js +10 -0
  301. package/dist/solutions/p-175fe700.entry.js +6 -0
  302. package/dist/solutions/p-17f21116.entry.js +6 -0
  303. package/dist/solutions/p-18657c74.entry.js +10 -0
  304. package/dist/solutions/p-20c8a31e.entry.js +14 -0
  305. package/dist/solutions/p-228131f3.js +3 -3
  306. package/dist/solutions/p-2480c2c3.entry.js +10 -0
  307. package/dist/solutions/p-291cbb4f.js +1 -2
  308. package/dist/solutions/p-29d230fb.entry.js +6 -0
  309. package/dist/solutions/p-2de43402.entry.js +10 -0
  310. package/dist/solutions/p-2e1cd889.js +1 -2
  311. package/dist/solutions/p-386bc1f5.entry.js +10 -0
  312. package/dist/solutions/p-3956acc6.entry.js +6 -0
  313. package/dist/solutions/p-3ce922dd.js +20 -0
  314. package/dist/solutions/p-3e67ed97.js +1 -2
  315. package/dist/solutions/p-3eac2c21.entry.js +10 -0
  316. package/dist/solutions/p-3fd65329.entry.js +6 -0
  317. package/dist/solutions/p-41c2e1cc.js +1 -2
  318. package/dist/solutions/p-42f5b6d1.entry.js +10 -0
  319. package/dist/solutions/p-44e661a2.js +1 -2
  320. package/dist/solutions/p-4847f326.entry.js +10 -0
  321. package/dist/solutions/p-4a5b86a0.entry.js +10 -0
  322. package/dist/solutions/p-4f8cae93.entry.js +10 -0
  323. package/dist/solutions/p-51c9f2db.entry.js +10 -0
  324. package/dist/solutions/p-52d835be.entry.js +10 -0
  325. package/dist/solutions/p-55dddf06.entry.js +10 -0
  326. package/dist/solutions/p-56a376ea.entry.js +6 -0
  327. package/dist/solutions/p-57e5029a.entry.js +6 -0
  328. package/dist/solutions/p-58b7f4aa.entry.js +10 -0
  329. package/dist/solutions/p-5cd9ccc3.entry.js +22 -0
  330. package/dist/solutions/p-5dd4cf97.entry.js +6 -0
  331. package/dist/solutions/p-5edf418e.entry.js +10 -0
  332. package/dist/solutions/p-64711824.entry.js +10 -0
  333. package/dist/solutions/p-68bf7243.entry.js +11 -0
  334. package/dist/solutions/p-7096464e.js +3 -4
  335. package/dist/solutions/p-720922e5.entry.js +10 -0
  336. package/dist/solutions/p-73e2d13f.js +1 -2
  337. package/dist/solutions/p-73e8d41c.entry.js +10 -0
  338. package/dist/solutions/p-7804ce97.js +1 -2
  339. package/dist/solutions/p-79064f42.entry.js +6 -0
  340. package/dist/solutions/p-7976d171.entry.js +6 -0
  341. package/dist/solutions/p-7a98627f.entry.js +10 -0
  342. package/dist/solutions/p-7aaed3f1.entry.js +10 -0
  343. package/dist/solutions/p-7cc9c6af.js +2 -7
  344. package/dist/solutions/p-7df393df.js +1 -2
  345. package/dist/solutions/p-7f93b2dd.entry.js +6 -0
  346. package/dist/solutions/p-82ab483b.entry.js +10 -0
  347. package/dist/solutions/p-8565f0c1.entry.js +10 -0
  348. package/dist/solutions/p-85cf288c.js +1 -2
  349. package/dist/solutions/p-8701d184.entry.js +10 -0
  350. package/dist/solutions/p-946521e1.js +2 -3
  351. package/dist/solutions/p-974d27a4.entry.js +10 -0
  352. package/dist/solutions/p-9c08ce38.entry.js +6 -0
  353. package/dist/solutions/p-9deb6df3.js +36 -0
  354. package/dist/solutions/p-9df9ac35.js +1 -2
  355. package/dist/solutions/p-9ed0c781.entry.js +6 -0
  356. package/dist/solutions/p-9f3fa133.entry.js +10 -0
  357. package/dist/solutions/p-a10dc180.js +1 -2
  358. package/dist/solutions/p-a201c2ea.entry.js +6 -0
  359. package/dist/solutions/p-a598cbb6.entry.js +10 -0
  360. package/dist/solutions/p-a59dfe85.entry.js +6 -0
  361. package/dist/solutions/p-a5fbf459.entry.js +11 -0
  362. package/dist/solutions/p-a6faf819.entry.js +10 -0
  363. package/dist/solutions/p-a8b4d400.entry.js +10 -0
  364. package/dist/solutions/p-a93a4772.entry.js +10 -0
  365. package/dist/solutions/{p-07099311.entry.js → p-a9dd9571.entry.js} +1 -2
  366. package/dist/solutions/p-a9df64c4.js +1 -2
  367. package/dist/solutions/p-aa11e35b.entry.js +10 -0
  368. package/dist/solutions/p-ae4a329c.entry.js +6 -0
  369. package/dist/solutions/p-af9be2ca.js +1 -2
  370. package/dist/solutions/p-b16a91ae.entry.js +6 -0
  371. package/dist/solutions/p-b5693287.entry.js +6 -0
  372. package/dist/solutions/p-b5bbe558.entry.js +10 -0
  373. package/dist/solutions/p-b81ebd54.entry.js +10 -0
  374. package/dist/solutions/p-b85c1b6a.entry.js +6 -0
  375. package/dist/solutions/p-bb3adfc7.entry.js +10 -0
  376. package/dist/solutions/p-c11b966c.entry.js +10 -0
  377. package/dist/solutions/p-c1e7f656.entry.js +6 -0
  378. package/dist/solutions/p-c27b17b8.entry.js +10 -0
  379. package/dist/solutions/p-c34e0641.js +1 -2
  380. package/dist/solutions/p-c5216bba.entry.js +10 -0
  381. package/dist/solutions/p-c8a69756.entry.js +10 -0
  382. package/dist/solutions/p-cb35cbb3.entry.js +6 -0
  383. package/dist/solutions/p-cb5cb9a8.js +1 -2
  384. package/dist/solutions/p-cef98db7.js +6 -0
  385. package/dist/solutions/p-d69bc5fd.entry.js +10 -0
  386. package/dist/solutions/p-de45b192.entry.js +6 -0
  387. package/dist/solutions/p-e4edca3b.js +1 -2
  388. package/dist/solutions/p-e581f631.js +1 -2
  389. package/dist/solutions/p-e762b2d1.js +3 -3
  390. package/dist/solutions/p-eb2efc0f.js +1 -2
  391. package/dist/solutions/p-ec178ea9.js +1 -2
  392. package/dist/solutions/p-ed17446f.entry.js +6 -0
  393. package/dist/solutions/p-edd6d948.entry.js +10 -0
  394. package/dist/solutions/p-ee6eca93.js +18 -0
  395. package/dist/solutions/{p-4573d7c2.js → p-f1867a12.js} +2 -3
  396. package/dist/solutions/p-f187755e.js +1 -2
  397. package/dist/solutions/p-f49bc4a8.js +1 -2
  398. package/dist/solutions/p-f75876eb.js +21 -0
  399. package/dist/solutions/p-f780039d.js +1 -2
  400. package/dist/solutions/p-fa58627d.entry.js +10 -0
  401. package/dist/solutions/p-fbdf3e06.js +2 -3
  402. package/dist/solutions/p-fc1c8168.js +3 -3
  403. package/dist/solutions/p-fd2712a3.entry.js +10 -0
  404. package/dist/solutions/solutions.esm.js +1 -2
  405. package/dist/solutions/utils/common.ts +42 -73
  406. package/dist/solutions/utils/interfaces.ts +126 -0
  407. package/dist/solutions/utils/templates.ts +19 -33
  408. package/dist/types/components/json-editor/json-editor.d.ts +11 -0
  409. package/dist/types/components/solution-configuration/solution-configuration.d.ts +73 -9
  410. package/dist/types/components/solution-contents/solution-contents.d.ts +2 -9
  411. package/dist/types/components/solution-item/solution-item.d.ts +1 -11
  412. package/dist/types/components/solution-item-details/solution-item-details.d.ts +1 -10
  413. package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +1 -8
  414. package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +1 -5
  415. package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +1 -4
  416. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +14 -26
  417. package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +1 -4
  418. package/dist/types/components/solution-template-data/solution-template-data.d.ts +1 -7
  419. package/dist/types/components/solution-variables/solution-variables.d.ts +1 -7
  420. package/dist/types/components/store-manager/store-manager.d.ts +9 -0
  421. package/dist/types/components.d.ts +49 -17
  422. package/dist/types/utils/common.d.ts +13 -38
  423. package/dist/types/utils/interfaces.d.ts +111 -0
  424. package/dist/types/utils/templates.d.ts +2 -25
  425. package/package.json +4 -3
  426. package/dist/cjs/CalciteExpandToggle-3e4e3b6c.js.map +0 -1
  427. package/dist/cjs/CalciteHeading-d765addc.js.map +0 -1
  428. package/dist/cjs/array-cd6c0c32.js.map +0 -1
  429. package/dist/cjs/calcite-accordion-item.cjs.entry.js.map +0 -1
  430. package/dist/cjs/calcite-accordion.cjs.entry.js.map +0 -1
  431. package/dist/cjs/calcite-action-bar.cjs.entry.js.map +0 -1
  432. package/dist/cjs/calcite-action-group.cjs.entry.js.map +0 -1
  433. package/dist/cjs/calcite-action-menu_3.cjs.entry.js.map +0 -1
  434. package/dist/cjs/calcite-action-pad.cjs.entry.js.map +0 -1
  435. package/dist/cjs/calcite-action.cjs.entry.js.map +0 -1
  436. package/dist/cjs/calcite-alert.cjs.entry.js.map +0 -1
  437. package/dist/cjs/calcite-avatar.cjs.entry.js.map +0 -1
  438. package/dist/cjs/calcite-block-section.cjs.entry.js.map +0 -1
  439. package/dist/cjs/calcite-block.cjs.entry.js.map +0 -1
  440. package/dist/cjs/calcite-button.cjs.entry.js.map +0 -1
  441. package/dist/cjs/calcite-card.cjs.entry.js.map +0 -1
  442. package/dist/cjs/calcite-checkbox_4.cjs.entry.js.map +0 -1
  443. package/dist/cjs/calcite-chip.cjs.entry.js.map +0 -1
  444. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js.map +0 -1
  445. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js.map +0 -1
  446. package/dist/cjs/calcite-color-picker.cjs.entry.js.map +0 -1
  447. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js.map +0 -1
  448. package/dist/cjs/calcite-combobox-item.cjs.entry.js.map +0 -1
  449. package/dist/cjs/calcite-combobox.cjs.entry.js.map +0 -1
  450. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js.map +0 -1
  451. package/dist/cjs/calcite-date-picker.cjs.entry.js.map +0 -1
  452. package/dist/cjs/calcite-dropdown-group.cjs.entry.js.map +0 -1
  453. package/dist/cjs/calcite-dropdown-item.cjs.entry.js.map +0 -1
  454. package/dist/cjs/calcite-dropdown.cjs.entry.js.map +0 -1
  455. package/dist/cjs/calcite-fab.cjs.entry.js.map +0 -1
  456. package/dist/cjs/calcite-filter.cjs.entry.js.map +0 -1
  457. package/dist/cjs/calcite-flow.cjs.entry.js.map +0 -1
  458. package/dist/cjs/calcite-graph.cjs.entry.js.map +0 -1
  459. package/dist/cjs/calcite-handle.cjs.entry.js.map +0 -1
  460. package/dist/cjs/calcite-icon.cjs.entry.js.map +0 -1
  461. package/dist/cjs/calcite-inline-editable.cjs.entry.js.map +0 -1
  462. package/dist/cjs/calcite-input-date-picker.cjs.entry.js.map +0 -1
  463. package/dist/cjs/calcite-input-message.cjs.entry.js.map +0 -1
  464. package/dist/cjs/calcite-input-time-picker.cjs.entry.js.map +0 -1
  465. package/dist/cjs/calcite-input_2.cjs.entry.js.map +0 -1
  466. package/dist/cjs/calcite-label.cjs.entry.js.map +0 -1
  467. package/dist/cjs/calcite-link.cjs.entry.js.map +0 -1
  468. package/dist/cjs/calcite-list-item-group.cjs.entry.js.map +0 -1
  469. package/dist/cjs/calcite-list-item.cjs.entry.js.map +0 -1
  470. package/dist/cjs/calcite-list.cjs.entry.js.map +0 -1
  471. package/dist/cjs/calcite-loader.cjs.entry.js.map +0 -1
  472. package/dist/cjs/calcite-modal.cjs.entry.js.map +0 -1
  473. package/dist/cjs/calcite-notice.cjs.entry.js.map +0 -1
  474. package/dist/cjs/calcite-option-group.cjs.entry.js.map +0 -1
  475. package/dist/cjs/calcite-option.cjs.entry.js.map +0 -1
  476. package/dist/cjs/calcite-pagination.cjs.entry.js.map +0 -1
  477. package/dist/cjs/calcite-panel_14.cjs.entry.js.map +0 -1
  478. package/dist/cjs/calcite-pick-list-group.cjs.entry.js.map +0 -1
  479. package/dist/cjs/calcite-pick-list-item.cjs.entry.js.map +0 -1
  480. package/dist/cjs/calcite-pick-list.cjs.entry.js.map +0 -1
  481. package/dist/cjs/calcite-popover-manager.cjs.entry.js.map +0 -1
  482. package/dist/cjs/calcite-radio-button-group.cjs.entry.js.map +0 -1
  483. package/dist/cjs/calcite-radio-button.cjs.entry.js.map +0 -1
  484. package/dist/cjs/calcite-radio-group-item.cjs.entry.js.map +0 -1
  485. package/dist/cjs/calcite-radio-group.cjs.entry.js.map +0 -1
  486. package/dist/cjs/calcite-radio.cjs.entry.js.map +0 -1
  487. package/dist/cjs/calcite-rating.cjs.entry.js.map +0 -1
  488. package/dist/cjs/calcite-scrim.cjs.entry.js.map +0 -1
  489. package/dist/cjs/calcite-select.cjs.entry.js.map +0 -1
  490. package/dist/cjs/calcite-shell-center-row.cjs.entry.js.map +0 -1
  491. package/dist/cjs/calcite-slider.cjs.entry.js.map +0 -1
  492. package/dist/cjs/calcite-sortable-list.cjs.entry.js.map +0 -1
  493. package/dist/cjs/calcite-split-button.cjs.entry.js.map +0 -1
  494. package/dist/cjs/calcite-stepper-item.cjs.entry.js.map +0 -1
  495. package/dist/cjs/calcite-stepper.cjs.entry.js.map +0 -1
  496. package/dist/cjs/calcite-switch.cjs.entry.js.map +0 -1
  497. package/dist/cjs/calcite-tile-select-group.cjs.entry.js.map +0 -1
  498. package/dist/cjs/calcite-tile-select.cjs.entry.js.map +0 -1
  499. package/dist/cjs/calcite-tile.cjs.entry.js.map +0 -1
  500. package/dist/cjs/calcite-time-picker.cjs.entry.js.map +0 -1
  501. package/dist/cjs/calcite-tip-group.cjs.entry.js.map +0 -1
  502. package/dist/cjs/calcite-tip-manager.cjs.entry.js.map +0 -1
  503. package/dist/cjs/calcite-tip.cjs.entry.js.map +0 -1
  504. package/dist/cjs/calcite-tooltip.cjs.entry.js.map +0 -1
  505. package/dist/cjs/calcite-value-list-item.cjs.entry.js.map +0 -1
  506. package/dist/cjs/calcite-value-list.cjs.entry.js.map +0 -1
  507. package/dist/cjs/common-df66d950.js +0 -53
  508. package/dist/cjs/common-df66d950.js.map +0 -1
  509. package/dist/cjs/date-0554c4d1.js.map +0 -1
  510. package/dist/cjs/debounce-df22462b.js.map +0 -1
  511. package/dist/cjs/dom-62511f59.js.map +0 -1
  512. package/dist/cjs/editStore-7a250b85.js +0 -227
  513. package/dist/cjs/editStore-7a250b85.js.map +0 -1
  514. package/dist/cjs/forIn-6a1c2f6d.js.map +0 -1
  515. package/dist/cjs/form-0b5b2d4e.js.map +0 -1
  516. package/dist/cjs/guid-c6be9504.js.map +0 -1
  517. package/dist/cjs/index-706750dc.js.map +0 -1
  518. package/dist/cjs/index-81c17948.js.map +0 -1
  519. package/dist/cjs/index.cjs.js.map +0 -1
  520. package/dist/cjs/interfaces-5ba2c1a7.js.map +0 -1
  521. package/dist/cjs/key-2a6290c8.js.map +0 -1
  522. package/dist/cjs/label-46482470.js.map +0 -1
  523. package/dist/cjs/loader.cjs.js.map +0 -1
  524. package/dist/cjs/locale-0db34680.js.map +0 -1
  525. package/dist/cjs/math-71f8de66.js.map +0 -1
  526. package/dist/cjs/number-697ce34c.js.map +0 -1
  527. package/dist/cjs/observers-88bbd6ef.js.map +0 -1
  528. package/dist/cjs/popper-8c8dc960.js.map +0 -1
  529. package/dist/cjs/resources-20f88094.js.map +0 -1
  530. package/dist/cjs/resources-27c22d8a.js.map +0 -1
  531. package/dist/cjs/resources-369e7421.js.map +0 -1
  532. package/dist/cjs/resources-46af0638.js.map +0 -1
  533. package/dist/cjs/resources-509951f9.js.map +0 -1
  534. package/dist/cjs/resources-5b7958e4.js.map +0 -1
  535. package/dist/cjs/resources-a265534b.js.map +0 -1
  536. package/dist/cjs/resources-e231446d.js.map +0 -1
  537. package/dist/cjs/resources-ef6c71a1.js.map +0 -1
  538. package/dist/cjs/shared-list-render-63d3ea89.js.map +0 -1
  539. package/dist/cjs/solution-configuration.cjs.entry.js.map +0 -1
  540. package/dist/cjs/solution-contents_3.cjs.entry.js.map +0 -1
  541. package/dist/cjs/solutions.cjs.js.map +0 -1
  542. package/dist/cjs/sortable.esm-14548a17.js.map +0 -1
  543. package/dist/cjs/store-manager.cjs.entry.js.map +0 -1
  544. package/dist/cjs/templates-fe6dd431.js +0 -237
  545. package/dist/cjs/templates-fe6dd431.js.map +0 -1
  546. package/dist/cjs/time-c87dc79e.js.map +0 -1
  547. package/dist/cjs/utils-c19d354a.js.map +0 -1
  548. package/dist/cjs/utils-cb7373e6.js.map +0 -1
  549. package/dist/collection/components/json-editor/json-editor.js.map +0 -1
  550. package/dist/collection/components/solution-configuration/solution-configuration.js.map +0 -1
  551. package/dist/collection/components/solution-contents/solution-contents.js.map +0 -1
  552. package/dist/collection/components/solution-item/solution-item.js.map +0 -1
  553. package/dist/collection/components/solution-item-details/solution-item-details.js.map +0 -1
  554. package/dist/collection/components/solution-item-icon/solution-item-icon.js.map +0 -1
  555. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js.map +0 -1
  556. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js.map +0 -1
  557. package/dist/collection/components/solution-resource-item/solution-resource-item.js.map +0 -1
  558. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js.map +0 -1
  559. package/dist/collection/components/solution-spatial-ref/spatialreferences.js.map +0 -1
  560. package/dist/collection/components/solution-template-data/solution-template-data.js.map +0 -1
  561. package/dist/collection/components/solution-variables/solution-variables.js.map +0 -1
  562. package/dist/collection/components/store-manager/store-manager.js.map +0 -1
  563. package/dist/collection/index.js.map +0 -1
  564. package/dist/collection/utils/common.js.map +0 -1
  565. package/dist/collection/utils/editStore.js.map +0 -1
  566. package/dist/collection/utils/templates.js.map +0 -1
  567. package/dist/custom-elements/index.js.map +0 -1
  568. package/dist/esm/CalciteExpandToggle-5df46988.js.map +0 -1
  569. package/dist/esm/CalciteHeading-79b4b347.js.map +0 -1
  570. package/dist/esm/array-71e0c501.js.map +0 -1
  571. package/dist/esm/calcite-accordion-item.entry.js.map +0 -1
  572. package/dist/esm/calcite-accordion.entry.js.map +0 -1
  573. package/dist/esm/calcite-action-bar.entry.js.map +0 -1
  574. package/dist/esm/calcite-action-group.entry.js.map +0 -1
  575. package/dist/esm/calcite-action-menu_3.entry.js.map +0 -1
  576. package/dist/esm/calcite-action-pad.entry.js.map +0 -1
  577. package/dist/esm/calcite-action.entry.js.map +0 -1
  578. package/dist/esm/calcite-alert.entry.js.map +0 -1
  579. package/dist/esm/calcite-avatar.entry.js.map +0 -1
  580. package/dist/esm/calcite-block-section.entry.js.map +0 -1
  581. package/dist/esm/calcite-block.entry.js.map +0 -1
  582. package/dist/esm/calcite-button.entry.js.map +0 -1
  583. package/dist/esm/calcite-card.entry.js.map +0 -1
  584. package/dist/esm/calcite-checkbox_4.entry.js.map +0 -1
  585. package/dist/esm/calcite-chip.entry.js.map +0 -1
  586. package/dist/esm/calcite-color-picker-hex-input.entry.js.map +0 -1
  587. package/dist/esm/calcite-color-picker-swatch.entry.js.map +0 -1
  588. package/dist/esm/calcite-color-picker.entry.js.map +0 -1
  589. package/dist/esm/calcite-combobox-item-group.entry.js.map +0 -1
  590. package/dist/esm/calcite-combobox-item.entry.js.map +0 -1
  591. package/dist/esm/calcite-combobox.entry.js.map +0 -1
  592. package/dist/esm/calcite-date-picker-day_3.entry.js.map +0 -1
  593. package/dist/esm/calcite-date-picker.entry.js.map +0 -1
  594. package/dist/esm/calcite-dropdown-group.entry.js.map +0 -1
  595. package/dist/esm/calcite-dropdown-item.entry.js.map +0 -1
  596. package/dist/esm/calcite-dropdown.entry.js.map +0 -1
  597. package/dist/esm/calcite-fab.entry.js.map +0 -1
  598. package/dist/esm/calcite-filter.entry.js.map +0 -1
  599. package/dist/esm/calcite-flow.entry.js.map +0 -1
  600. package/dist/esm/calcite-graph.entry.js.map +0 -1
  601. package/dist/esm/calcite-handle.entry.js.map +0 -1
  602. package/dist/esm/calcite-icon.entry.js.map +0 -1
  603. package/dist/esm/calcite-inline-editable.entry.js.map +0 -1
  604. package/dist/esm/calcite-input-date-picker.entry.js.map +0 -1
  605. package/dist/esm/calcite-input-message.entry.js.map +0 -1
  606. package/dist/esm/calcite-input-time-picker.entry.js.map +0 -1
  607. package/dist/esm/calcite-input_2.entry.js.map +0 -1
  608. package/dist/esm/calcite-label.entry.js.map +0 -1
  609. package/dist/esm/calcite-link.entry.js.map +0 -1
  610. package/dist/esm/calcite-list-item-group.entry.js.map +0 -1
  611. package/dist/esm/calcite-list-item.entry.js.map +0 -1
  612. package/dist/esm/calcite-list.entry.js.map +0 -1
  613. package/dist/esm/calcite-loader.entry.js.map +0 -1
  614. package/dist/esm/calcite-modal.entry.js.map +0 -1
  615. package/dist/esm/calcite-notice.entry.js.map +0 -1
  616. package/dist/esm/calcite-option-group.entry.js.map +0 -1
  617. package/dist/esm/calcite-option.entry.js.map +0 -1
  618. package/dist/esm/calcite-pagination.entry.js.map +0 -1
  619. package/dist/esm/calcite-panel_14.entry.js.map +0 -1
  620. package/dist/esm/calcite-pick-list-group.entry.js.map +0 -1
  621. package/dist/esm/calcite-pick-list-item.entry.js.map +0 -1
  622. package/dist/esm/calcite-pick-list.entry.js.map +0 -1
  623. package/dist/esm/calcite-popover-manager.entry.js.map +0 -1
  624. package/dist/esm/calcite-radio-button-group.entry.js.map +0 -1
  625. package/dist/esm/calcite-radio-button.entry.js.map +0 -1
  626. package/dist/esm/calcite-radio-group-item.entry.js.map +0 -1
  627. package/dist/esm/calcite-radio-group.entry.js.map +0 -1
  628. package/dist/esm/calcite-radio.entry.js.map +0 -1
  629. package/dist/esm/calcite-rating.entry.js.map +0 -1
  630. package/dist/esm/calcite-scrim.entry.js.map +0 -1
  631. package/dist/esm/calcite-select.entry.js.map +0 -1
  632. package/dist/esm/calcite-shell-center-row.entry.js.map +0 -1
  633. package/dist/esm/calcite-slider.entry.js.map +0 -1
  634. package/dist/esm/calcite-sortable-list.entry.js.map +0 -1
  635. package/dist/esm/calcite-split-button.entry.js.map +0 -1
  636. package/dist/esm/calcite-stepper-item.entry.js.map +0 -1
  637. package/dist/esm/calcite-stepper.entry.js.map +0 -1
  638. package/dist/esm/calcite-switch.entry.js.map +0 -1
  639. package/dist/esm/calcite-tile-select-group.entry.js.map +0 -1
  640. package/dist/esm/calcite-tile-select.entry.js.map +0 -1
  641. package/dist/esm/calcite-tile.entry.js.map +0 -1
  642. package/dist/esm/calcite-time-picker.entry.js.map +0 -1
  643. package/dist/esm/calcite-tip-group.entry.js.map +0 -1
  644. package/dist/esm/calcite-tip-manager.entry.js.map +0 -1
  645. package/dist/esm/calcite-tip.entry.js.map +0 -1
  646. package/dist/esm/calcite-tooltip.entry.js.map +0 -1
  647. package/dist/esm/calcite-value-list-item.entry.js.map +0 -1
  648. package/dist/esm/calcite-value-list.entry.js.map +0 -1
  649. package/dist/esm/common-ccccf04d.js +0 -50
  650. package/dist/esm/common-ccccf04d.js.map +0 -1
  651. package/dist/esm/date-5d75460a.js.map +0 -1
  652. package/dist/esm/debounce-23ad5849.js.map +0 -1
  653. package/dist/esm/dom-1cc617ae.js.map +0 -1
  654. package/dist/esm/editStore-30a293f5.js +0 -225
  655. package/dist/esm/editStore-30a293f5.js.map +0 -1
  656. package/dist/esm/forIn-c922d47c.js.map +0 -1
  657. package/dist/esm/form-636dfed1.js.map +0 -1
  658. package/dist/esm/guid-740f1f1a.js.map +0 -1
  659. package/dist/esm/index-934f242e.js.map +0 -1
  660. package/dist/esm/index-a3c3e3db.js.map +0 -1
  661. package/dist/esm/index.js.map +0 -1
  662. package/dist/esm/interfaces-4f07beec.js.map +0 -1
  663. package/dist/esm/key-1748eb79.js.map +0 -1
  664. package/dist/esm/label-851f8926.js.map +0 -1
  665. package/dist/esm/loader.js.map +0 -1
  666. package/dist/esm/locale-31c8d43b.js.map +0 -1
  667. package/dist/esm/math-d8795f31.js.map +0 -1
  668. package/dist/esm/number-47ecb380.js.map +0 -1
  669. package/dist/esm/observers-b13ff24b.js.map +0 -1
  670. package/dist/esm/popper-25874f2f.js.map +0 -1
  671. package/dist/esm/resources-12c3b829.js.map +0 -1
  672. package/dist/esm/resources-32d7dd89.js.map +0 -1
  673. package/dist/esm/resources-466ccf86.js.map +0 -1
  674. package/dist/esm/resources-4cc0ef44.js.map +0 -1
  675. package/dist/esm/resources-861d0240.js.map +0 -1
  676. package/dist/esm/resources-b023c30a.js.map +0 -1
  677. package/dist/esm/resources-c537bacb.js.map +0 -1
  678. package/dist/esm/resources-e56b6e53.js.map +0 -1
  679. package/dist/esm/resources-ec79cfd7.js.map +0 -1
  680. package/dist/esm/shared-list-render-b5dacd2e.js.map +0 -1
  681. package/dist/esm/solution-configuration.entry.js.map +0 -1
  682. package/dist/esm/solution-contents_3.entry.js.map +0 -1
  683. package/dist/esm/solutions.js.map +0 -1
  684. package/dist/esm/sortable.esm-7856912e.js.map +0 -1
  685. package/dist/esm/store-manager.entry.js.map +0 -1
  686. package/dist/esm/templates-3480c08e.js +0 -230
  687. package/dist/esm/templates-3480c08e.js.map +0 -1
  688. package/dist/esm/time-a3b29c35.js.map +0 -1
  689. package/dist/esm/utils-021cb956.js.map +0 -1
  690. package/dist/esm/utils-5fdd203c.js.map +0 -1
  691. package/dist/solutions/index.esm.js.map +0 -1
  692. package/dist/solutions/p-019fe34e.entry.js +0 -11
  693. package/dist/solutions/p-019fe34e.entry.js.map +0 -1
  694. package/dist/solutions/p-01d537aa.entry.js +0 -11
  695. package/dist/solutions/p-01d537aa.entry.js.map +0 -1
  696. package/dist/solutions/p-05c73b7d.js.map +0 -1
  697. package/dist/solutions/p-05da6de1.entry.js +0 -11
  698. package/dist/solutions/p-05da6de1.entry.js.map +0 -1
  699. package/dist/solutions/p-05eb87fc.entry.js +0 -11
  700. package/dist/solutions/p-05eb87fc.entry.js.map +0 -1
  701. package/dist/solutions/p-07099311.entry.js.map +0 -1
  702. package/dist/solutions/p-07f15398.entry.js +0 -7
  703. package/dist/solutions/p-07f15398.entry.js.map +0 -1
  704. package/dist/solutions/p-093edbdc.entry.js +0 -11
  705. package/dist/solutions/p-093edbdc.entry.js.map +0 -1
  706. package/dist/solutions/p-0b8525e2.js.map +0 -1
  707. package/dist/solutions/p-0c91e100.js +0 -7
  708. package/dist/solutions/p-0c91e100.js.map +0 -1
  709. package/dist/solutions/p-0fcee724.entry.js +0 -7
  710. package/dist/solutions/p-0fcee724.entry.js.map +0 -1
  711. package/dist/solutions/p-17a2150d.entry.js +0 -11
  712. package/dist/solutions/p-17a2150d.entry.js.map +0 -1
  713. package/dist/solutions/p-1aaa9800.entry.js +0 -7
  714. package/dist/solutions/p-1aaa9800.entry.js.map +0 -1
  715. package/dist/solutions/p-228131f3.js.map +0 -1
  716. package/dist/solutions/p-22d67647.entry.js +0 -11
  717. package/dist/solutions/p-22d67647.entry.js.map +0 -1
  718. package/dist/solutions/p-291cbb4f.js.map +0 -1
  719. package/dist/solutions/p-2a5c409a.entry.js +0 -7
  720. package/dist/solutions/p-2a5c409a.entry.js.map +0 -1
  721. package/dist/solutions/p-2aca233c.entry.js +0 -11
  722. package/dist/solutions/p-2aca233c.entry.js.map +0 -1
  723. package/dist/solutions/p-2b6ef800.entry.js +0 -7
  724. package/dist/solutions/p-2b6ef800.entry.js.map +0 -1
  725. package/dist/solutions/p-2bae730e.entry.js +0 -11
  726. package/dist/solutions/p-2bae730e.entry.js.map +0 -1
  727. package/dist/solutions/p-2d59c6d7.entry.js +0 -11
  728. package/dist/solutions/p-2d59c6d7.entry.js.map +0 -1
  729. package/dist/solutions/p-2e1cd889.js.map +0 -1
  730. package/dist/solutions/p-35eafdfb.entry.js +0 -11
  731. package/dist/solutions/p-35eafdfb.entry.js.map +0 -1
  732. package/dist/solutions/p-372da016.entry.js +0 -7
  733. package/dist/solutions/p-372da016.entry.js.map +0 -1
  734. package/dist/solutions/p-37407f95.entry.js +0 -7
  735. package/dist/solutions/p-37407f95.entry.js.map +0 -1
  736. package/dist/solutions/p-3ae90cbb.entry.js +0 -7
  737. package/dist/solutions/p-3ae90cbb.entry.js.map +0 -1
  738. package/dist/solutions/p-3c3ccd03.entry.js +0 -11
  739. package/dist/solutions/p-3c3ccd03.entry.js.map +0 -1
  740. package/dist/solutions/p-3e168893.entry.js +0 -11
  741. package/dist/solutions/p-3e168893.entry.js.map +0 -1
  742. package/dist/solutions/p-3e67ed97.js.map +0 -1
  743. package/dist/solutions/p-3ed5096e.entry.js +0 -11
  744. package/dist/solutions/p-3ed5096e.entry.js.map +0 -1
  745. package/dist/solutions/p-41c2e1cc.js.map +0 -1
  746. package/dist/solutions/p-44e661a2.js.map +0 -1
  747. package/dist/solutions/p-4573d7c2.js.map +0 -1
  748. package/dist/solutions/p-4635ae4a.entry.js +0 -11
  749. package/dist/solutions/p-4635ae4a.entry.js.map +0 -1
  750. package/dist/solutions/p-46bcadbd.entry.js +0 -11
  751. package/dist/solutions/p-46bcadbd.entry.js.map +0 -1
  752. package/dist/solutions/p-4b0b2534.entry.js +0 -11
  753. package/dist/solutions/p-4b0b2534.entry.js.map +0 -1
  754. package/dist/solutions/p-51e4c002.entry.js +0 -7
  755. package/dist/solutions/p-51e4c002.entry.js.map +0 -1
  756. package/dist/solutions/p-520d8443.entry.js +0 -11
  757. package/dist/solutions/p-520d8443.entry.js.map +0 -1
  758. package/dist/solutions/p-591d5666.entry.js +0 -11
  759. package/dist/solutions/p-591d5666.entry.js.map +0 -1
  760. package/dist/solutions/p-5aff6fc3.entry.js +0 -11
  761. package/dist/solutions/p-5aff6fc3.entry.js.map +0 -1
  762. package/dist/solutions/p-5c95f5ee.entry.js +0 -11
  763. package/dist/solutions/p-5c95f5ee.entry.js.map +0 -1
  764. package/dist/solutions/p-606933f1.entry.js +0 -11
  765. package/dist/solutions/p-606933f1.entry.js.map +0 -1
  766. package/dist/solutions/p-62464fb3.entry.js +0 -11
  767. package/dist/solutions/p-62464fb3.entry.js.map +0 -1
  768. package/dist/solutions/p-6e970d4c.entry.js +0 -7
  769. package/dist/solutions/p-6e970d4c.entry.js.map +0 -1
  770. package/dist/solutions/p-6f861da6.entry.js +0 -11
  771. package/dist/solutions/p-6f861da6.entry.js.map +0 -1
  772. package/dist/solutions/p-7096464e.js.map +0 -1
  773. package/dist/solutions/p-73e2d13f.js.map +0 -1
  774. package/dist/solutions/p-745f85bf.entry.js +0 -11
  775. package/dist/solutions/p-745f85bf.entry.js.map +0 -1
  776. package/dist/solutions/p-7480bdae.entry.js +0 -7
  777. package/dist/solutions/p-7480bdae.entry.js.map +0 -1
  778. package/dist/solutions/p-7611d9ad.entry.js +0 -11
  779. package/dist/solutions/p-7611d9ad.entry.js.map +0 -1
  780. package/dist/solutions/p-77b056db.entry.js +0 -7
  781. package/dist/solutions/p-77b056db.entry.js.map +0 -1
  782. package/dist/solutions/p-7804ce97.js.map +0 -1
  783. package/dist/solutions/p-7cc15662.entry.js +0 -15
  784. package/dist/solutions/p-7cc15662.entry.js.map +0 -1
  785. package/dist/solutions/p-7cc9c6af.js.map +0 -1
  786. package/dist/solutions/p-7d84c932.entry.js +0 -11
  787. package/dist/solutions/p-7d84c932.entry.js.map +0 -1
  788. package/dist/solutions/p-7df393df.js.map +0 -1
  789. package/dist/solutions/p-7f49ef40.entry.js +0 -11
  790. package/dist/solutions/p-7f49ef40.entry.js.map +0 -1
  791. package/dist/solutions/p-7f5c2987.entry.js +0 -7
  792. package/dist/solutions/p-7f5c2987.entry.js.map +0 -1
  793. package/dist/solutions/p-7fd90af2.entry.js +0 -11
  794. package/dist/solutions/p-7fd90af2.entry.js.map +0 -1
  795. package/dist/solutions/p-815449b1.entry.js +0 -11
  796. package/dist/solutions/p-815449b1.entry.js.map +0 -1
  797. package/dist/solutions/p-819aff56.entry.js +0 -11
  798. package/dist/solutions/p-819aff56.entry.js.map +0 -1
  799. package/dist/solutions/p-85cf288c.js.map +0 -1
  800. package/dist/solutions/p-87d812ce.entry.js +0 -7
  801. package/dist/solutions/p-87d812ce.entry.js.map +0 -1
  802. package/dist/solutions/p-8b616d33.entry.js +0 -7
  803. package/dist/solutions/p-8b616d33.entry.js.map +0 -1
  804. package/dist/solutions/p-8efca26d.entry.js +0 -7
  805. package/dist/solutions/p-8efca26d.entry.js.map +0 -1
  806. package/dist/solutions/p-946521e1.js.map +0 -1
  807. package/dist/solutions/p-970f1072.js +0 -22
  808. package/dist/solutions/p-970f1072.js.map +0 -1
  809. package/dist/solutions/p-9a953609.entry.js +0 -11
  810. package/dist/solutions/p-9a953609.entry.js.map +0 -1
  811. package/dist/solutions/p-9b381784.entry.js +0 -11
  812. package/dist/solutions/p-9b381784.entry.js.map +0 -1
  813. package/dist/solutions/p-9dad5583.entry.js +0 -11
  814. package/dist/solutions/p-9dad5583.entry.js.map +0 -1
  815. package/dist/solutions/p-9df9ac35.js.map +0 -1
  816. package/dist/solutions/p-9ee74ad4.entry.js +0 -7
  817. package/dist/solutions/p-9ee74ad4.entry.js.map +0 -1
  818. package/dist/solutions/p-9fab6046.entry.js +0 -22
  819. package/dist/solutions/p-9fab6046.entry.js.map +0 -1
  820. package/dist/solutions/p-9fc06fc3.entry.js +0 -15
  821. package/dist/solutions/p-9fc06fc3.entry.js.map +0 -1
  822. package/dist/solutions/p-a10dc180.js.map +0 -1
  823. package/dist/solutions/p-a1c40865.entry.js +0 -11
  824. package/dist/solutions/p-a1c40865.entry.js.map +0 -1
  825. package/dist/solutions/p-a3b16f15.entry.js +0 -7
  826. package/dist/solutions/p-a3b16f15.entry.js.map +0 -1
  827. package/dist/solutions/p-a7906d52.entry.js +0 -11
  828. package/dist/solutions/p-a7906d52.entry.js.map +0 -1
  829. package/dist/solutions/p-a8a106f7.entry.js +0 -7
  830. package/dist/solutions/p-a8a106f7.entry.js.map +0 -1
  831. package/dist/solutions/p-a8d2d1a3.entry.js +0 -7
  832. package/dist/solutions/p-a8d2d1a3.entry.js.map +0 -1
  833. package/dist/solutions/p-a98c5d29.entry.js +0 -11
  834. package/dist/solutions/p-a98c5d29.entry.js.map +0 -1
  835. package/dist/solutions/p-a9df64c4.js.map +0 -1
  836. package/dist/solutions/p-ad54d2e2.entry.js +0 -11
  837. package/dist/solutions/p-ad54d2e2.entry.js.map +0 -1
  838. package/dist/solutions/p-adf3704d.entry.js +0 -11
  839. package/dist/solutions/p-adf3704d.entry.js.map +0 -1
  840. package/dist/solutions/p-af46b00f.entry.js +0 -11
  841. package/dist/solutions/p-af46b00f.entry.js.map +0 -1
  842. package/dist/solutions/p-af9be2ca.js.map +0 -1
  843. package/dist/solutions/p-b797d79b.entry.js +0 -23
  844. package/dist/solutions/p-b797d79b.entry.js.map +0 -1
  845. package/dist/solutions/p-c09fc04d.entry.js +0 -11
  846. package/dist/solutions/p-c09fc04d.entry.js.map +0 -1
  847. package/dist/solutions/p-c11f84d9.entry.js +0 -11
  848. package/dist/solutions/p-c11f84d9.entry.js.map +0 -1
  849. package/dist/solutions/p-c195dbb7.entry.js +0 -7
  850. package/dist/solutions/p-c195dbb7.entry.js.map +0 -1
  851. package/dist/solutions/p-c34e0641.js.map +0 -1
  852. package/dist/solutions/p-c5428bbc.entry.js +0 -11
  853. package/dist/solutions/p-c5428bbc.entry.js.map +0 -1
  854. package/dist/solutions/p-cb5cb9a8.js.map +0 -1
  855. package/dist/solutions/p-ce3e9060.entry.js +0 -11
  856. package/dist/solutions/p-ce3e9060.entry.js.map +0 -1
  857. package/dist/solutions/p-d132d8ad.entry.js +0 -7
  858. package/dist/solutions/p-d132d8ad.entry.js.map +0 -1
  859. package/dist/solutions/p-d320e3a2.entry.js +0 -7
  860. package/dist/solutions/p-d320e3a2.entry.js.map +0 -1
  861. package/dist/solutions/p-d70ef015.entry.js +0 -11
  862. package/dist/solutions/p-d70ef015.entry.js.map +0 -1
  863. package/dist/solutions/p-e4edca3b.js.map +0 -1
  864. package/dist/solutions/p-e581f631.js.map +0 -1
  865. package/dist/solutions/p-e65a8700.entry.js +0 -11
  866. package/dist/solutions/p-e65a8700.entry.js.map +0 -1
  867. package/dist/solutions/p-e762b2d1.js.map +0 -1
  868. package/dist/solutions/p-eb2efc0f.js.map +0 -1
  869. package/dist/solutions/p-ec178ea9.js.map +0 -1
  870. package/dist/solutions/p-ecbfddde.js.map +0 -1
  871. package/dist/solutions/p-eceb11d1.js +0 -22
  872. package/dist/solutions/p-eceb11d1.js.map +0 -1
  873. package/dist/solutions/p-ede2beab.entry.js +0 -7
  874. package/dist/solutions/p-ede2beab.entry.js.map +0 -1
  875. package/dist/solutions/p-f0a6135d.entry.js +0 -11
  876. package/dist/solutions/p-f0a6135d.entry.js.map +0 -1
  877. package/dist/solutions/p-f187755e.js.map +0 -1
  878. package/dist/solutions/p-f3c6b68d.entry.js +0 -7
  879. package/dist/solutions/p-f3c6b68d.entry.js.map +0 -1
  880. package/dist/solutions/p-f49bc4a8.js.map +0 -1
  881. package/dist/solutions/p-f6e8ee98.entry.js +0 -7
  882. package/dist/solutions/p-f6e8ee98.entry.js.map +0 -1
  883. package/dist/solutions/p-f780039d.js.map +0 -1
  884. package/dist/solutions/p-fa40e7e7.entry.js +0 -7
  885. package/dist/solutions/p-fa40e7e7.entry.js.map +0 -1
  886. package/dist/solutions/p-fb25fc4a.entry.js +0 -7
  887. package/dist/solutions/p-fb25fc4a.entry.js.map +0 -1
  888. package/dist/solutions/p-fbdf3e06.js.map +0 -1
  889. package/dist/solutions/p-fc1c8168.js.map +0 -1
  890. package/dist/solutions/p-ff3697a9.entry.js +0 -7
  891. package/dist/solutions/p-ff3697a9.entry.js.map +0 -1
  892. package/dist/solutions/solutions.esm.js.map +0 -1
@@ -1359,10 +1359,10 @@ var freeModule$1 = freeExports$1 && typeof module == 'object' && module && !modu
1359
1359
  var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;
1360
1360
 
1361
1361
  /** Built-in value references. */
1362
- var Buffer = moduleExports$1 ? root.Buffer : undefined;
1362
+ var Buffer$1 = moduleExports$1 ? root.Buffer : undefined;
1363
1363
 
1364
1364
  /* Built-in method references for those with the same name as other `lodash` methods. */
1365
- var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
1365
+ var nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : undefined;
1366
1366
 
1367
1367
  /**
1368
1368
  * Checks if `value` is a buffer.
@@ -4129,6 +4129,8 @@ let CalciteChip$1 = class extends HTMLElement$1 {
4129
4129
  static get style() { return calciteChipCss; }
4130
4130
  };
4131
4131
 
4132
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4133
+
4132
4134
  function createCommonjsModule(fn, basedir, module) {
4133
4135
  return module = {
4134
4136
  path: basedir,
@@ -4475,7 +4477,7 @@ cs.get.hsl = function (string) {
4475
4477
  return null;
4476
4478
  }
4477
4479
 
4478
- var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?[\d\.]+)\s*)?\)$/;
4480
+ var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
4479
4481
  var match = string.match(hsl);
4480
4482
 
4481
4483
  if (match) {
@@ -4496,7 +4498,7 @@ cs.get.hwb = function (string) {
4496
4498
  return null;
4497
4499
  }
4498
4500
 
4499
- var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;
4501
+ var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
4500
4502
  var match = string.match(hwb);
4501
4503
 
4502
4504
  if (match) {
@@ -18709,7 +18711,7 @@ function toggleClass(el, name, state) {
18709
18711
  }
18710
18712
  }
18711
18713
 
18712
- function css(el, prop, val) {
18714
+ function css$1(el, prop, val) {
18713
18715
  var style = el && el.style;
18714
18716
 
18715
18717
  if (style) {
@@ -18738,7 +18740,7 @@ function matrix(el, selfOnly) {
18738
18740
  appliedTransforms = el;
18739
18741
  } else {
18740
18742
  do {
18741
- var transform = css(el, 'transform');
18743
+ var transform = css$1(el, 'transform');
18742
18744
 
18743
18745
  if (transform && transform !== 'none') {
18744
18746
  appliedTransforms = transform + ' ' + appliedTransforms;
@@ -18820,11 +18822,11 @@ function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoS
18820
18822
 
18821
18823
  if (!IE11OrLess) {
18822
18824
  do {
18823
- if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {
18825
+ if (container && container.getBoundingClientRect && (css$1(container, 'transform') !== 'none' || relativeToNonStaticParent && css$1(container, 'position') !== 'static')) {
18824
18826
  var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container
18825
18827
 
18826
- top -= containerRect.top + parseInt(css(container, 'border-top-width'));
18827
- left -= containerRect.left + parseInt(css(container, 'border-left-width'));
18828
+ top -= containerRect.top + parseInt(css$1(container, 'border-top-width'));
18829
+ left -= containerRect.left + parseInt(css$1(container, 'border-left-width'));
18828
18830
  bottom = top + elRect.height;
18829
18831
  right = left + elRect.width;
18830
18832
  break;
@@ -18931,7 +18933,7 @@ function getChild(el, childNum, options, includeDragEl) {
18931
18933
  function lastChild(el, selector) {
18932
18934
  var last = el.lastElementChild;
18933
18935
 
18934
- while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {
18936
+ while (last && (last === Sortable.ghost || css$1(last, 'display') === 'none' || selector && !matches(last, selector))) {
18935
18937
  last = last.previousElementSibling;
18936
18938
  }
18937
18939
 
@@ -19017,7 +19019,7 @@ function getParentAutoScrollElement(el, includeSelf) {
19017
19019
  do {
19018
19020
  // we don't need to get elem css if it isn't even overflowing in the first place (performance)
19019
19021
  if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
19020
- var elemCSS = css(elem);
19022
+ var elemCSS = css$1(elem);
19021
19023
 
19022
19024
  if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {
19023
19025
  if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();
@@ -19103,7 +19105,7 @@ function AnimationStateManager() {
19103
19105
  if (!this.options.animation) return;
19104
19106
  var children = [].slice.call(this.el.children);
19105
19107
  children.forEach(function (child) {
19106
- if (css(child, 'display') === 'none' || child === Sortable.ghost) return;
19108
+ if (css$1(child, 'display') === 'none' || child === Sortable.ghost) return;
19107
19109
  animationStates.push({
19108
19110
  target: child,
19109
19111
  rect: getRect(child)
@@ -19210,8 +19212,8 @@ function AnimationStateManager() {
19210
19212
  },
19211
19213
  animate: function animate(target, currentRect, toRect, duration) {
19212
19214
  if (duration) {
19213
- css(target, 'transition', '');
19214
- css(target, 'transform', '');
19215
+ css$1(target, 'transition', '');
19216
+ css$1(target, 'transform', '');
19215
19217
  var elMatrix = matrix(this.el),
19216
19218
  scaleX = elMatrix && elMatrix.a,
19217
19219
  scaleY = elMatrix && elMatrix.d,
@@ -19219,15 +19221,15 @@ function AnimationStateManager() {
19219
19221
  translateY = (currentRect.top - toRect.top) / (scaleY || 1);
19220
19222
  target.animatingX = !!translateX;
19221
19223
  target.animatingY = !!translateY;
19222
- css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
19224
+ css$1(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
19223
19225
  this.forRepaintDummy = repaint(target); // repaint
19224
19226
 
19225
- css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
19226
- css(target, 'transform', 'translate3d(0,0,0)');
19227
+ css$1(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
19228
+ css$1(target, 'transform', 'translate3d(0,0,0)');
19227
19229
  typeof target.animated === 'number' && clearTimeout(target.animated);
19228
19230
  target.animated = setTimeout(function () {
19229
- css(target, 'transition', '');
19230
- css(target, 'transform', '');
19231
+ css$1(target, 'transition', '');
19232
+ css$1(target, 'transform', '');
19231
19233
  target.animated = false;
19232
19234
  target.animatingX = false;
19233
19235
  target.animatingY = false;
@@ -19503,12 +19505,12 @@ supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in
19503
19505
  return el.style.pointerEvents === 'auto';
19504
19506
  }(),
19505
19507
  _detectDirection = function _detectDirection(el, options) {
19506
- var elCSS = css(el),
19508
+ var elCSS = css$1(el),
19507
19509
  elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),
19508
19510
  child1 = getChild(el, 0, options),
19509
19511
  child2 = getChild(el, 1, options),
19510
- firstChildCSS = child1 && css(child1),
19511
- secondChildCSS = child2 && css(child2),
19512
+ firstChildCSS = child1 && css$1(child1),
19513
+ secondChildCSS = child2 && css$1(child2),
19512
19514
  firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,
19513
19515
  secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
19514
19516
 
@@ -19597,12 +19599,12 @@ _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {
19597
19599
  },
19598
19600
  _hideGhostForTarget = function _hideGhostForTarget() {
19599
19601
  if (!supportCssPointerEvents && ghostEl) {
19600
- css(ghostEl, 'display', 'none');
19602
+ css$1(ghostEl, 'display', 'none');
19601
19603
  }
19602
19604
  },
19603
19605
  _unhideGhostForTarget = function _unhideGhostForTarget() {
19604
19606
  if (!supportCssPointerEvents && ghostEl) {
19605
- css(ghostEl, 'display', '');
19607
+ css$1(ghostEl, 'display', '');
19606
19608
  }
19607
19609
  }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position
19608
19610
 
@@ -20142,10 +20144,10 @@ Sortable.prototype =
20142
20144
  }
20143
20145
 
20144
20146
  var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
20145
- css(ghostEl, 'webkitTransform', cssMatrix);
20146
- css(ghostEl, 'mozTransform', cssMatrix);
20147
- css(ghostEl, 'msTransform', cssMatrix);
20148
- css(ghostEl, 'transform', cssMatrix);
20147
+ css$1(ghostEl, 'webkitTransform', cssMatrix);
20148
+ css$1(ghostEl, 'mozTransform', cssMatrix);
20149
+ css$1(ghostEl, 'msTransform', cssMatrix);
20150
+ css$1(ghostEl, 'transform', cssMatrix);
20149
20151
  lastDx = dx;
20150
20152
  lastDy = dy;
20151
20153
  touchEvt = touch;
@@ -20166,7 +20168,7 @@ Sortable.prototype =
20166
20168
  // Get relatively positioned parent
20167
20169
  ghostRelativeParent = container;
20168
20170
 
20169
- while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
20171
+ while (css$1(ghostRelativeParent, 'position') === 'static' && css$1(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
20170
20172
  ghostRelativeParent = ghostRelativeParent.parentNode;
20171
20173
  }
20172
20174
 
@@ -20185,22 +20187,22 @@ Sortable.prototype =
20185
20187
  toggleClass(ghostEl, options.ghostClass, false);
20186
20188
  toggleClass(ghostEl, options.fallbackClass, true);
20187
20189
  toggleClass(ghostEl, options.dragClass, true);
20188
- css(ghostEl, 'transition', '');
20189
- css(ghostEl, 'transform', '');
20190
- css(ghostEl, 'box-sizing', 'border-box');
20191
- css(ghostEl, 'margin', 0);
20192
- css(ghostEl, 'top', rect.top);
20193
- css(ghostEl, 'left', rect.left);
20194
- css(ghostEl, 'width', rect.width);
20195
- css(ghostEl, 'height', rect.height);
20196
- css(ghostEl, 'opacity', '0.8');
20197
- css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
20198
- css(ghostEl, 'zIndex', '100000');
20199
- css(ghostEl, 'pointerEvents', 'none');
20190
+ css$1(ghostEl, 'transition', '');
20191
+ css$1(ghostEl, 'transform', '');
20192
+ css$1(ghostEl, 'box-sizing', 'border-box');
20193
+ css$1(ghostEl, 'margin', 0);
20194
+ css$1(ghostEl, 'top', rect.top);
20195
+ css$1(ghostEl, 'left', rect.left);
20196
+ css$1(ghostEl, 'width', rect.width);
20197
+ css$1(ghostEl, 'height', rect.height);
20198
+ css$1(ghostEl, 'opacity', '0.8');
20199
+ css$1(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
20200
+ css$1(ghostEl, 'zIndex', '100000');
20201
+ css$1(ghostEl, 'pointerEvents', 'none');
20200
20202
  Sortable.ghost = ghostEl;
20201
20203
  container.appendChild(ghostEl); // Set transform-origin
20202
20204
 
20203
- css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
20205
+ css$1(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
20204
20206
  }
20205
20207
  },
20206
20208
  _onDragStart: function _onDragStart(
@@ -20269,7 +20271,7 @@ Sortable.prototype =
20269
20271
 
20270
20272
  on(document, 'drop', _this); // #1276 fix:
20271
20273
 
20272
- css(dragEl, 'transform', 'translateZ(0)');
20274
+ css$1(dragEl, 'transform', 'translateZ(0)');
20273
20275
  }
20274
20276
 
20275
20277
  awaitingDragStarted = true;
@@ -20278,7 +20280,7 @@ Sortable.prototype =
20278
20280
  moved = true;
20279
20281
 
20280
20282
  if (Safari) {
20281
- css(document.body, 'user-select', 'none');
20283
+ css$1(document.body, 'user-select', 'none');
20282
20284
  }
20283
20285
  },
20284
20286
  // Returns true - if no further action is needed (either inserted or another condition)
@@ -20518,7 +20520,7 @@ Sortable.prototype =
20518
20520
  do {
20519
20521
  dragIndex -= direction;
20520
20522
  sibling = parentEl.children[dragIndex];
20521
- } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));
20523
+ } while (sibling && (css$1(sibling, 'display') === 'none' || sibling === ghostEl));
20522
20524
  } // If dragEl is already beside target: Do not insert
20523
20525
 
20524
20526
 
@@ -20633,10 +20635,10 @@ Sortable.prototype =
20633
20635
  this._offUpEvents();
20634
20636
 
20635
20637
  if (Safari) {
20636
- css(document.body, 'user-select', '');
20638
+ css$1(document.body, 'user-select', '');
20637
20639
  }
20638
20640
 
20639
- css(dragEl, 'transform', '');
20641
+ css$1(dragEl, 'transform', '');
20640
20642
 
20641
20643
  if (evt) {
20642
20644
  if (moved) {
@@ -20913,7 +20915,7 @@ Sortable.prototype =
20913
20915
  if (!cloneHidden) {
20914
20916
  pluginEvent('hideClone', this);
20915
20917
  if (Sortable.eventCanceled) return;
20916
- css(cloneEl, 'display', 'none');
20918
+ css$1(cloneEl, 'display', 'none');
20917
20919
 
20918
20920
  if (this.options.removeCloneOnHide && cloneEl.parentNode) {
20919
20921
  cloneEl.parentNode.removeChild(cloneEl);
@@ -20945,7 +20947,7 @@ Sortable.prototype =
20945
20947
  this.animate(dragEl, cloneEl);
20946
20948
  }
20947
20949
 
20948
- css(cloneEl, 'display', '');
20950
+ css$1(cloneEl, 'display', '');
20949
20951
  cloneHidden = false;
20950
20952
  }
20951
20953
  }
@@ -21126,7 +21128,7 @@ if (documentExists) {
21126
21128
  Sortable.utils = {
21127
21129
  on: on,
21128
21130
  off: off,
21129
- css: css,
21131
+ css: css$1,
21130
21132
  find: find,
21131
21133
  is: function is(el, selector) {
21132
21134
  return !!closest(el, selector, el, false);
@@ -21354,7 +21356,7 @@ var autoScroll = throttle(function (evt, options, rootEl, isFallback) {
21354
21356
  canScrollY = void 0,
21355
21357
  scrollWidth = el.scrollWidth,
21356
21358
  scrollHeight = el.scrollHeight,
21357
- elCSS = css(el),
21359
+ elCSS = css$1(el),
21358
21360
  scrollPosX = el.scrollLeft,
21359
21361
  scrollPosY = el.scrollTop;
21360
21362
 
@@ -25307,8 +25309,2357 @@ onChange('models', () => {
25307
25309
  dispatchEvent(modelsChangedEvent);
25308
25310
  });
25309
25311
 
25312
+ /*! *****************************************************************************
25313
+ Copyright (c) Microsoft Corporation.
25314
+
25315
+ Permission to use, copy, modify, and/or distribute this software for any
25316
+ purpose with or without fee is hereby granted.
25317
+
25318
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
25319
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
25320
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
25321
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
25322
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
25323
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
25324
+ PERFORMANCE OF THIS SOFTWARE.
25325
+ ***************************************************************************** */
25326
+ /* global Reflect, Promise */
25327
+
25328
+ var extendStatics = function(d, b) {
25329
+ extendStatics = Object.setPrototypeOf ||
25330
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25331
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
25332
+ return extendStatics(d, b);
25333
+ };
25334
+
25335
+ function __extends(d, b) {
25336
+ extendStatics(d, b);
25337
+ function __() { this.constructor = d; }
25338
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
25339
+ }
25340
+
25341
+ var __assign = function() {
25342
+ __assign = Object.assign || function __assign(t) {
25343
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
25344
+ s = arguments[i];
25345
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
25346
+ }
25347
+ return t;
25348
+ };
25349
+ return __assign.apply(this, arguments);
25350
+ };
25351
+
25352
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25353
+ * Apache-2.0 */
25354
+ /**
25355
+ * Checks parameters to see if we should use FormData to send the request
25356
+ * @param params The object whose keys will be encoded.
25357
+ * @return A boolean indicating if FormData will be required.
25358
+ */
25359
+ function requiresFormData(params) {
25360
+ return Object.keys(params).some(function (key) {
25361
+ var value = params[key];
25362
+ if (!value) {
25363
+ return false;
25364
+ }
25365
+ if (value && value.toParam) {
25366
+ value = value.toParam();
25367
+ }
25368
+ var type = value.constructor.name;
25369
+ switch (type) {
25370
+ case "Array":
25371
+ return false;
25372
+ case "Object":
25373
+ return false;
25374
+ case "Date":
25375
+ return false;
25376
+ case "Function":
25377
+ return false;
25378
+ case "Boolean":
25379
+ return false;
25380
+ case "String":
25381
+ return false;
25382
+ case "Number":
25383
+ return false;
25384
+ default:
25385
+ return true;
25386
+ }
25387
+ });
25388
+ }
25389
+ /**
25390
+ * Converts parameters to the proper representation to send to the ArcGIS REST API.
25391
+ * @param params The object whose keys will be encoded.
25392
+ * @return A new object with properly encoded values.
25393
+ */
25394
+ function processParams(params) {
25395
+ var newParams = {};
25396
+ Object.keys(params).forEach(function (key) {
25397
+ var _a, _b;
25398
+ var param = params[key];
25399
+ if (param && param.toParam) {
25400
+ param = param.toParam();
25401
+ }
25402
+ if (!param &&
25403
+ param !== 0 &&
25404
+ typeof param !== "boolean" &&
25405
+ typeof param !== "string") {
25406
+ return;
25407
+ }
25408
+ var type = param.constructor.name;
25409
+ var value;
25410
+ // properly encodes objects, arrays and dates for arcgis.com and other services.
25411
+ // ported from https://github.com/Esri/esri-leaflet/blob/master/src/Request.js#L22-L30
25412
+ // also see https://github.com/Esri/arcgis-rest-js/issues/18:
25413
+ // null, undefined, function are excluded. If you want to send an empty key you need to send an empty string "".
25414
+ switch (type) {
25415
+ case "Array":
25416
+ // Based on the first element of the array, classify array as an array of arrays, an array of objects
25417
+ // to be stringified, or an array of non-objects to be comma-separated
25418
+ // eslint-disable-next-line no-case-declarations
25419
+ var firstElementType = (_b = (_a = param[0]) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name;
25420
+ value =
25421
+ firstElementType === "Array" ? param : // pass thru array of arrays
25422
+ firstElementType === "Object" ? JSON.stringify(param) : // stringify array of objects
25423
+ param.join(","); // join other types of array elements
25424
+ break;
25425
+ case "Object":
25426
+ value = JSON.stringify(param);
25427
+ break;
25428
+ case "Date":
25429
+ value = param.valueOf();
25430
+ break;
25431
+ case "Function":
25432
+ value = null;
25433
+ break;
25434
+ case "Boolean":
25435
+ value = param + "";
25436
+ break;
25437
+ default:
25438
+ value = param;
25439
+ break;
25440
+ }
25441
+ if (value || value === 0 || typeof value === "string" || Array.isArray(value)) {
25442
+ newParams[key] = value;
25443
+ }
25444
+ });
25445
+ return newParams;
25446
+ }
25447
+
25448
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25449
+ * Apache-2.0 */
25450
+ /**
25451
+ * Encodes keys and parameters for use in a URL's query string.
25452
+ *
25453
+ * @param key Parameter's key
25454
+ * @param value Parameter's value
25455
+ * @returns Query string with key and value pairs separated by "&"
25456
+ */
25457
+ function encodeParam(key, value) {
25458
+ // For array of arrays, repeat key=value for each element of containing array
25459
+ if (Array.isArray(value) && value[0] && Array.isArray(value[0])) {
25460
+ return value.map(function (arrayElem) { return encodeParam(key, arrayElem); }).join("&");
25461
+ }
25462
+ return encodeURIComponent(key) + "=" + encodeURIComponent(value);
25463
+ }
25464
+ /**
25465
+ * Encodes the passed object as a query string.
25466
+ *
25467
+ * @param params An object to be encoded.
25468
+ * @returns An encoded query string.
25469
+ */
25470
+ function encodeQueryString(params) {
25471
+ var newParams = processParams(params);
25472
+ return Object.keys(newParams)
25473
+ .map(function (key) {
25474
+ return encodeParam(key, newParams[key]);
25475
+ })
25476
+ .join("&");
25477
+ }
25478
+
25479
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25480
+ * Apache-2.0 */
25481
+ /**
25482
+ * Encodes parameters in a [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) object in browsers or in a [FormData](https://github.com/form-data/form-data) in Node.js
25483
+ *
25484
+ * @param params An object to be encoded.
25485
+ * @returns The complete [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) object.
25486
+ */
25487
+ function encodeFormData(params, forceFormData) {
25488
+ // see https://github.com/Esri/arcgis-rest-js/issues/499 for more info.
25489
+ var useFormData = requiresFormData(params) || forceFormData;
25490
+ var newParams = processParams(params);
25491
+ if (useFormData) {
25492
+ var formData_1 = new FormData();
25493
+ Object.keys(newParams).forEach(function (key) {
25494
+ if (typeof Blob !== "undefined" && newParams[key] instanceof Blob) {
25495
+ /* To name the Blob:
25496
+ 1. look to an alternate request parameter called 'fileName'
25497
+ 2. see if 'name' has been tacked onto the Blob manually
25498
+ 3. if all else fails, use the request parameter
25499
+ */
25500
+ var filename = newParams["fileName"] || newParams[key].name || key;
25501
+ formData_1.append(key, newParams[key], filename);
25502
+ }
25503
+ else {
25504
+ formData_1.append(key, newParams[key]);
25505
+ }
25506
+ });
25507
+ return formData_1;
25508
+ }
25509
+ else {
25510
+ return encodeQueryString(params);
25511
+ }
25512
+ }
25513
+
25514
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25515
+ * Apache-2.0 */
25516
+ // TypeScript 2.1 no longer allows you to extend built in types. See https://github.com/Microsoft/TypeScript/issues/12790#issuecomment-265981442
25517
+ // and https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
25518
+ //
25519
+ // This code is from MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types.
25520
+ var ArcGISRequestError = /** @class */ (function () {
25521
+ /**
25522
+ * Create a new `ArcGISRequestError` object.
25523
+ *
25524
+ * @param message - The error message from the API
25525
+ * @param code - The error code from the API
25526
+ * @param response - The original response from the API that caused the error
25527
+ * @param url - The original url of the request
25528
+ * @param options - The original options and parameters of the request
25529
+ */
25530
+ function ArcGISRequestError(message, code, response, url, options) {
25531
+ message = message || "UNKNOWN_ERROR";
25532
+ code = code || "UNKNOWN_ERROR_CODE";
25533
+ this.name = "ArcGISRequestError";
25534
+ this.message =
25535
+ code === "UNKNOWN_ERROR_CODE" ? message : code + ": " + message;
25536
+ this.originalMessage = message;
25537
+ this.code = code;
25538
+ this.response = response;
25539
+ this.url = url;
25540
+ this.options = options;
25541
+ }
25542
+ return ArcGISRequestError;
25543
+ }());
25544
+ ArcGISRequestError.prototype = Object.create(Error.prototype);
25545
+ ArcGISRequestError.prototype.constructor = ArcGISRequestError;
25546
+
25547
+ /* Copyright (c) 2017-2018 Environmental Systems Research Institute, Inc.
25548
+ * Apache-2.0 */
25549
+ var NODEJS_DEFAULT_REFERER_HEADER = "@esri/arcgis-rest-js";
25550
+ var DEFAULT_ARCGIS_REQUEST_OPTIONS = {
25551
+ httpMethod: "POST",
25552
+ params: {
25553
+ f: "json",
25554
+ },
25555
+ };
25556
+ var ArcGISAuthError = /** @class */ (function (_super) {
25557
+ __extends(ArcGISAuthError, _super);
25558
+ /**
25559
+ * Create a new `ArcGISAuthError` object.
25560
+ *
25561
+ * @param message - The error message from the API
25562
+ * @param code - The error code from the API
25563
+ * @param response - The original response from the API that caused the error
25564
+ * @param url - The original url of the request
25565
+ * @param options - The original options of the request
25566
+ */
25567
+ function ArcGISAuthError(message, code, response, url, options) {
25568
+ if (message === void 0) { message = "AUTHENTICATION_ERROR"; }
25569
+ if (code === void 0) { code = "AUTHENTICATION_ERROR_CODE"; }
25570
+ var _this = _super.call(this, message, code, response, url, options) || this;
25571
+ _this.name = "ArcGISAuthError";
25572
+ _this.message =
25573
+ code === "AUTHENTICATION_ERROR_CODE" ? message : code + ": " + message;
25574
+ return _this;
25575
+ }
25576
+ ArcGISAuthError.prototype.retry = function (getSession, retryLimit) {
25577
+ var _this = this;
25578
+ if (retryLimit === void 0) { retryLimit = 3; }
25579
+ var tries = 0;
25580
+ var retryRequest = function (resolve, reject) {
25581
+ getSession(_this.url, _this.options)
25582
+ .then(function (session) {
25583
+ var newOptions = __assign(__assign({}, _this.options), { authentication: session });
25584
+ tries = tries + 1;
25585
+ return request(_this.url, newOptions);
25586
+ })
25587
+ .then(function (response) {
25588
+ resolve(response);
25589
+ })
25590
+ .catch(function (e) {
25591
+ if (e.name === "ArcGISAuthError" && tries < retryLimit) {
25592
+ retryRequest(resolve, reject);
25593
+ }
25594
+ else if (e.name === "ArcGISAuthError" && tries >= retryLimit) {
25595
+ reject(_this);
25596
+ }
25597
+ else {
25598
+ reject(e);
25599
+ }
25600
+ });
25601
+ };
25602
+ return new Promise(function (resolve, reject) {
25603
+ retryRequest(resolve, reject);
25604
+ });
25605
+ };
25606
+ return ArcGISAuthError;
25607
+ }(ArcGISRequestError));
25608
+ /**
25609
+ * Checks for errors in a JSON response from the ArcGIS REST API. If there are no errors, it will return the `data` passed in. If there is an error, it will throw an `ArcGISRequestError` or `ArcGISAuthError`.
25610
+ *
25611
+ * @param data The response JSON to check for errors.
25612
+ * @param url The url of the original request
25613
+ * @param params The parameters of the original request
25614
+ * @param options The options of the original request
25615
+ * @returns The data that was passed in the `data` parameter
25616
+ */
25617
+ function checkForErrors(response, url, params, options, originalAuthError) {
25618
+ // this is an error message from billing.arcgis.com backend
25619
+ if (response.code >= 400) {
25620
+ var message = response.message, code = response.code;
25621
+ throw new ArcGISRequestError(message, code, response, url, options);
25622
+ }
25623
+ // error from ArcGIS Online or an ArcGIS Portal or server instance.
25624
+ if (response.error) {
25625
+ var _a = response.error, message = _a.message, code = _a.code, messageCode = _a.messageCode;
25626
+ var errorCode = messageCode || code || "UNKNOWN_ERROR_CODE";
25627
+ if (code === 498 ||
25628
+ code === 499 ||
25629
+ messageCode === "GWM_0003" ||
25630
+ (code === 400 && message === "Unable to generate token.")) {
25631
+ if (originalAuthError) {
25632
+ throw originalAuthError;
25633
+ }
25634
+ else {
25635
+ throw new ArcGISAuthError(message, errorCode, response, url, options);
25636
+ }
25637
+ }
25638
+ throw new ArcGISRequestError(message, errorCode, response, url, options);
25639
+ }
25640
+ // error from a status check
25641
+ if (response.status === "failed" || response.status === "failure") {
25642
+ var message = void 0;
25643
+ var code = "UNKNOWN_ERROR_CODE";
25644
+ try {
25645
+ message = JSON.parse(response.statusMessage).message;
25646
+ code = JSON.parse(response.statusMessage).code;
25647
+ }
25648
+ catch (e) {
25649
+ message = response.statusMessage || response.message;
25650
+ }
25651
+ throw new ArcGISRequestError(message, code, response, url, options);
25652
+ }
25653
+ return response;
25654
+ }
25655
+ /**
25656
+ * ```js
25657
+ * import { request } from '@esri/arcgis-rest-request';
25658
+ * //
25659
+ * request('https://www.arcgis.com/sharing/rest')
25660
+ * .then(response) // response.currentVersion === 5.2
25661
+ * //
25662
+ * request('https://www.arcgis.com/sharing/rest', {
25663
+ * httpMethod: "GET"
25664
+ * })
25665
+ * //
25666
+ * request('https://www.arcgis.com/sharing/rest/search', {
25667
+ * params: { q: 'parks' }
25668
+ * })
25669
+ * .then(response) // response.total => 78379
25670
+ * ```
25671
+ * Generic method for making HTTP requests to ArcGIS REST API endpoints.
25672
+ *
25673
+ * @param url - The URL of the ArcGIS REST API endpoint.
25674
+ * @param requestOptions - Options for the request, including parameters relevant to the endpoint.
25675
+ * @returns A Promise that will resolve with the data from the response.
25676
+ */
25677
+ function request(url, requestOptions) {
25678
+ if (requestOptions === void 0) { requestOptions = { params: { f: "json" } }; }
25679
+ var options = __assign(__assign(__assign({ httpMethod: "POST" }, DEFAULT_ARCGIS_REQUEST_OPTIONS), requestOptions), {
25680
+ params: __assign(__assign({}, DEFAULT_ARCGIS_REQUEST_OPTIONS.params), requestOptions.params),
25681
+ headers: __assign(__assign({}, DEFAULT_ARCGIS_REQUEST_OPTIONS.headers), requestOptions.headers),
25682
+ });
25683
+ var missingGlobals = [];
25684
+ var recommendedPackages = [];
25685
+ // don't check for a global fetch if a custom implementation was passed through
25686
+ if (!options.fetch && typeof fetch !== "undefined") {
25687
+ options.fetch = fetch.bind(Function("return this")());
25688
+ }
25689
+ else {
25690
+ missingGlobals.push("`fetch`");
25691
+ recommendedPackages.push("`node-fetch`");
25692
+ }
25693
+ if (typeof Promise === "undefined") {
25694
+ missingGlobals.push("`Promise`");
25695
+ recommendedPackages.push("`es6-promise`");
25696
+ }
25697
+ if (typeof FormData === "undefined") {
25698
+ missingGlobals.push("`FormData`");
25699
+ recommendedPackages.push("`isomorphic-form-data`");
25700
+ }
25701
+ if (!options.fetch ||
25702
+ typeof Promise === "undefined" ||
25703
+ typeof FormData === "undefined") {
25704
+ throw new Error("`arcgis-rest-request` requires a `fetch` implementation and global variables for `Promise` and `FormData` to be present in the global scope. You are missing " + missingGlobals.join(", ") + ". We recommend installing the " + recommendedPackages.join(", ") + " modules at the root of your application to add these to the global scope. See https://bit.ly/2KNwWaJ for more info.");
25705
+ }
25706
+ var httpMethod = options.httpMethod, authentication = options.authentication, rawResponse = options.rawResponse;
25707
+ var params = __assign({ f: "json" }, options.params);
25708
+ var originalAuthError = null;
25709
+ var fetchOptions = {
25710
+ method: httpMethod,
25711
+ /* ensures behavior mimics XMLHttpRequest.
25712
+ needed to support sending IWA cookies */
25713
+ credentials: options.credentials || "same-origin",
25714
+ };
25715
+ // the /oauth2/platformSelf route will add X-Esri-Auth-Client-Id header
25716
+ // and that request needs to send cookies cross domain
25717
+ // so we need to set the credentials to "include"
25718
+ if (options.headers &&
25719
+ options.headers["X-Esri-Auth-Client-Id"] &&
25720
+ url.indexOf("/oauth2/platformSelf") > -1) {
25721
+ fetchOptions.credentials = "include";
25722
+ }
25723
+ return (authentication
25724
+ ? authentication.getToken(url, { fetch: options.fetch }).catch(function (err) {
25725
+ /**
25726
+ * append original request url and requestOptions
25727
+ * to the error thrown by getToken()
25728
+ * to assist with retrying
25729
+ */
25730
+ err.url = url;
25731
+ err.options = options;
25732
+ /**
25733
+ * if an attempt is made to talk to an unfederated server
25734
+ * first try the request anonymously. if a 'token required'
25735
+ * error is thrown, throw the UNFEDERATED error then.
25736
+ */
25737
+ originalAuthError = err;
25738
+ return Promise.resolve("");
25739
+ })
25740
+ : Promise.resolve(""))
25741
+ .then(function (token) {
25742
+ if (token.length) {
25743
+ params.token = token;
25744
+ }
25745
+ if (authentication && authentication.getDomainCredentials) {
25746
+ fetchOptions.credentials = authentication.getDomainCredentials(url);
25747
+ }
25748
+ // Custom headers to add to request. IRequestOptions.headers with merge over requestHeaders.
25749
+ var requestHeaders = {};
25750
+ if (fetchOptions.method === "GET") {
25751
+ // Prevents token from being passed in query params when hideToken option is used.
25752
+ /* istanbul ignore if - window is always defined in a browser. Test case is covered by Jasmine in node test */
25753
+ if (params.token &&
25754
+ options.hideToken &&
25755
+ // Sharing API does not support preflight check required by modern browsers https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request
25756
+ typeof window === "undefined") {
25757
+ requestHeaders["X-Esri-Authorization"] = "Bearer " + params.token;
25758
+ delete params.token;
25759
+ }
25760
+ // encode the parameters into the query string
25761
+ var queryParams = encodeQueryString(params);
25762
+ // dont append a '?' unless parameters are actually present
25763
+ var urlWithQueryString = queryParams === "" ? url : url + "?" + encodeQueryString(params);
25764
+ if (
25765
+ // This would exceed the maximum length for URLs specified by the consumer and requires POST
25766
+ (options.maxUrlLength &&
25767
+ urlWithQueryString.length > options.maxUrlLength) ||
25768
+ // Or if the customer requires the token to be hidden and it has not already been hidden in the header (for browsers)
25769
+ (params.token && options.hideToken)) {
25770
+ // the consumer specified a maximum length for URLs
25771
+ // and this would exceed it, so use post instead
25772
+ fetchOptions.method = "POST";
25773
+ // If the token was already added as a Auth header, add the token back to body with other params instead of header
25774
+ if (token.length && options.hideToken) {
25775
+ params.token = token;
25776
+ // Remove existing header that was added before url query length was checked
25777
+ delete requestHeaders["X-Esri-Authorization"];
25778
+ }
25779
+ }
25780
+ else {
25781
+ // just use GET
25782
+ url = urlWithQueryString;
25783
+ }
25784
+ }
25785
+ /* updateResources currently requires FormData even when the input parameters dont warrant it.
25786
+ https://developers.arcgis.com/rest/users-groups-and-items/update-resources.htm
25787
+ see https://github.com/Esri/arcgis-rest-js/pull/500 for more info. */
25788
+ var forceFormData = new RegExp("/items/.+/updateResources").test(url);
25789
+ if (fetchOptions.method === "POST") {
25790
+ fetchOptions.body = encodeFormData(params, forceFormData);
25791
+ }
25792
+ // Mixin headers from request options
25793
+ fetchOptions.headers = __assign(__assign({}, requestHeaders), options.headers);
25794
+ /* istanbul ignore next - karma reports coverage on browser tests only */
25795
+ if (typeof window === "undefined" && !fetchOptions.headers.referer) {
25796
+ fetchOptions.headers.referer = NODEJS_DEFAULT_REFERER_HEADER;
25797
+ }
25798
+ /* istanbul ignore else blob responses are difficult to make cross platform we will just have to trust the isomorphic fetch will do its job */
25799
+ if (!requiresFormData(params) && !forceFormData) {
25800
+ fetchOptions.headers["Content-Type"] =
25801
+ "application/x-www-form-urlencoded";
25802
+ }
25803
+ return options.fetch(url, fetchOptions);
25804
+ })
25805
+ .then(function (response) {
25806
+ if (!response.ok) {
25807
+ // server responded w/ an actual error (404, 500, etc)
25808
+ var status_1 = response.status, statusText = response.statusText;
25809
+ throw new ArcGISRequestError(statusText, "HTTP " + status_1, response, url, options);
25810
+ }
25811
+ if (rawResponse) {
25812
+ return response;
25813
+ }
25814
+ switch (params.f) {
25815
+ case "json":
25816
+ return response.json();
25817
+ case "geojson":
25818
+ return response.json();
25819
+ case "html":
25820
+ return response.text();
25821
+ case "text":
25822
+ return response.text();
25823
+ /* istanbul ignore next blob responses are difficult to make cross platform we will just have to trust that isomorphic fetch will do its job */
25824
+ default:
25825
+ return response.blob();
25826
+ }
25827
+ })
25828
+ .then(function (data) {
25829
+ if ((params.f === "json" || params.f === "geojson") && !rawResponse) {
25830
+ var response = checkForErrors(data, url, params, options, originalAuthError);
25831
+ if (originalAuthError) {
25832
+ /* If the request was made to an unfederated service that
25833
+ didn't require authentication, add the base url and a dummy token
25834
+ to the list of trusted servers to avoid another federation check
25835
+ in the event of a repeat request */
25836
+ var truncatedUrl = url
25837
+ .toLowerCase()
25838
+ .split(/\/rest(\/admin)?\/services\//)[0];
25839
+ options.authentication.federatedServers[truncatedUrl] = {
25840
+ token: [],
25841
+ // default to 24 hours
25842
+ expires: new Date(Date.now() + 86400 * 1000),
25843
+ };
25844
+ originalAuthError = null;
25845
+ }
25846
+ return response;
25847
+ }
25848
+ else {
25849
+ return data;
25850
+ }
25851
+ });
25852
+ }
25853
+
25854
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
25855
+ * Apache-2.0 */
25856
+ /**
25857
+ * Helper method to ensure that user supplied urls don't include whitespace or a trailing slash.
25858
+ */
25859
+ function cleanUrl(url) {
25860
+ // Guard so we don't try to trim something that's not a string
25861
+ if (typeof url !== "string") {
25862
+ return url;
25863
+ }
25864
+ // trim leading and trailing spaces, but not spaces inside the url
25865
+ url = url.trim();
25866
+ // remove the trailing slash to the url if one was included
25867
+ if (url[url.length - 1] === "/") {
25868
+ url = url.slice(0, -1);
25869
+ }
25870
+ return url;
25871
+ }
25872
+
25873
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25874
+ * Apache-2.0 */
25875
+ /**
25876
+ * Helper that returns the appropriate portal url for a given request. `requestOptions.portal` is given
25877
+ * precedence over `authentication.portal`. If neither `portal` nor `authentication` is present,
25878
+ * `www.arcgis.com/sharing/rest` is returned.
25879
+ *
25880
+ * @param requestOptions - Request options that may have authentication manager
25881
+ * @returns Portal url to be used in API requests
25882
+ */
25883
+ function getPortalUrl(requestOptions) {
25884
+ if (requestOptions === void 0) { requestOptions = {}; }
25885
+ // use portal in options if specified
25886
+ if (requestOptions.portal) {
25887
+ return cleanUrl(requestOptions.portal);
25888
+ }
25889
+ // if auth was passed, use that portal
25890
+ if (requestOptions.authentication) {
25891
+ // the portal url is already scrubbed in the auth package
25892
+ return requestOptions.authentication.portal;
25893
+ }
25894
+ // default to arcgis.com
25895
+ return "https://www.arcgis.com/sharing/rest";
25896
+ }
25897
+
25898
+ /* Copyright (c) 2017-2018 Environmental Systems Research Institute, Inc.
25899
+ * Apache-2.0 */
25900
+ /**
25901
+ * Serialize an item and its data into a json format accepted by the Portal API for create and update operations
25902
+ *
25903
+ * @param item Item to be serialized
25904
+ * @returns a formatted json object to be sent to Portal
25905
+ */
25906
+ function serializeItem(item) {
25907
+ // create a clone so we're not messing with the original
25908
+ var clone = JSON.parse(JSON.stringify(item));
25909
+ // binary data needs POSTed as a `file`
25910
+ // JSON object literals should be passed as `text`.
25911
+ if (clone.data) {
25912
+ (typeof Blob !== "undefined" && item.data instanceof Blob) ||
25913
+ // Node.js doesn't implement Blob
25914
+ item.data.constructor.name === "ReadStream"
25915
+ ? (clone.file = item.data)
25916
+ : (clone.text = item.data);
25917
+ delete clone.data;
25918
+ }
25919
+ return clone;
25920
+ }
25921
+ /**
25922
+ * `requestOptions.owner` is given priority, `requestOptions.item.owner` will be checked next. If neither are present, `authentication.getUserName()` will be used instead.
25923
+ */
25924
+ function determineOwner(requestOptions) {
25925
+ if (requestOptions.owner) {
25926
+ return Promise.resolve(requestOptions.owner);
25927
+ }
25928
+ else if (requestOptions.item && requestOptions.item.owner) {
25929
+ return Promise.resolve(requestOptions.item.owner);
25930
+ }
25931
+ else if (requestOptions.authentication &&
25932
+ requestOptions.authentication.getUsername) {
25933
+ return requestOptions.authentication.getUsername();
25934
+ }
25935
+ else {
25936
+ return Promise.reject(new Error("Could not determine the owner of this item. Pass the `owner`, `item.owner`, or `authentication` option."));
25937
+ }
25938
+ }
25939
+
25940
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
25941
+ * Apache-2.0 */
25942
+ /**
25943
+ * ```js
25944
+ * import { updateItem } from "@esri/arcgis-rest-portal";
25945
+ * //
25946
+ * updateItem({
25947
+ * item: {
25948
+ * id: "3ef",
25949
+ * description: "A three hour tour"
25950
+ * },
25951
+ * authentication
25952
+ * })
25953
+ * .then(response)
25954
+ * ```
25955
+ * Update an Item. See the [REST Documentation](https://developers.arcgis.com/rest/users-groups-and-items/update-item.htm) for more information.
25956
+ *
25957
+ * @param requestOptions - Options for the request.
25958
+ * @returns A Promise that updates an item.
25959
+ */
25960
+ function updateItem$1(requestOptions) {
25961
+ return determineOwner(requestOptions).then(function (owner) {
25962
+ var url = requestOptions.folderId
25963
+ ? getPortalUrl(requestOptions) + "/content/users/" + owner + "/" + requestOptions.folderId + "/items/" + requestOptions.item.id + "/update"
25964
+ : getPortalUrl(requestOptions) + "/content/users/" + owner + "/items/" + requestOptions.item.id + "/update";
25965
+ // serialize the item into something Portal will accept
25966
+ requestOptions.params = __assign(__assign({}, requestOptions.params), serializeItem(requestOptions.item));
25967
+ return request(url, requestOptions);
25968
+ });
25969
+ }
25970
+
25971
+ createCommonjsModule(function (module, exports) {
25972
+ /*!
25973
+
25974
+ JSZip v3.7.0 - A JavaScript class for generating and reading zip files
25975
+ <http://stuartk.com/jszip>
25976
+
25977
+ (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
25978
+ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
25979
+
25980
+ JSZip uses the library pako released under the MIT license :
25981
+ https://github.com/nodeca/pako/blob/master/LICENSE
25982
+ */
25983
+
25984
+ !function(e){module.exports=e();}(function(){return function s(o,a,f){function u(r,e){if(!a[r]){if(!o[r]){var t="function"==typeof commonjsRequire&&commonjsRequire;if(!e&&t)return t(r,!0);if(d)return d(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[r]={exports:{}};o[r][0].call(i.exports,function(e){var t=o[r][1][e];return u(t||e)},i,i.exports,s,o,a,f);}return a[r].exports}for(var d="function"==typeof commonjsRequire&&commonjsRequire,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(e,t,r){var c=e("./utils"),h=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,o,a,f=[],u=0,d=e.length,h=d,l="string"!==c.getTypeOf(e);u<e.length;)h=d-u,n=l?(t=e[u++],r=u<d?e[u++]:0,u<d?e[u++]:0):(t=e.charCodeAt(u++),r=u<d?e.charCodeAt(u++):0,u<d?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,o=1<h?(15&r)<<2|n>>6:64,a=2<h?63&n:64,f.push(p.charAt(i)+p.charAt(s)+p.charAt(o)+p.charAt(a));return f.join("")},r.decode=function(e){var t,r,n,i,s,o,a=0,f=0;if("data:"===e.substr(0,"data:".length))throw new Error("Invalid base64 input, it looks like a data url.");var u,d=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&d--,e.charAt(e.length-2)===p.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(u=h.uint8array?new Uint8Array(0|d):new Array(0|d);a<e.length;)t=p.indexOf(e.charAt(a++))<<2|(i=p.indexOf(e.charAt(a++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(a++)))>>2,n=(3&s)<<6|(o=p.indexOf(e.charAt(a++))),u[f++]=t,64!==s&&(u[f++]=r),64!==o&&(u[f++]=n);return u};},{"./support":30,"./utils":32}],2:[function(e,t,r){var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),o=e("./stream/DataLengthProbe");function a(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i;}a.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new o("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new o("compressedSize")).withStreamInfo("compression",t)},t.exports=a;},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(e){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate");},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){var n=e("./utils"),o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r){var n=o,i=0+r;e^=-1;for(var s=0;s<i;s++)e=e>>>8^n[255&(e^t[s])];return -1^e}(0|t,e,e.length):function(e,t,r){var n=o,i=0+r;e^=-1;for(var s=0;s<i;s++)e=e>>>8^n[255&(e^t.charCodeAt(s))];return -1^e}(0|t,e,e.length):0};},{"./utils":32}],5:[function(e,t,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null;},{}],6:[function(e,t,r){var n;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n};},{lie:37}],7:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),o=e("./stream/GenericWorker"),a=n?"uint8array":"array";function f(e,t){o.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={};}r.magic="\b\0",s.inherits(f,o),f.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(a,e.data),!1);},f.prototype.flush=function(){o.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0);},f.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this._pako=null;},f.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta});};},r.compressWorker=function(e){return new f("Deflate",e)},r.uncompressWorker=function(){return new f("Inflate",{})};},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){function O(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function i(e,t,r,n,i,s){var o,a,f=e.file,u=e.compression,d=s!==D.utf8encode,h=I.transformTo("string",s(f.name)),l=I.transformTo("string",D.utf8encode(f.name)),c=f.comment,p=I.transformTo("string",s(c)),m=I.transformTo("string",D.utf8encode(c)),_=l.length!==f.name.length,w=m.length!==c.length,v="",g="",y="",b=f.dir,k=f.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),d||!_&&!w||(S|=2048);var E,z=0,C=0;b&&(z|=16),"UNIX"===i?(C=798,z|=((E=f.unixPermissions)||(E=b?16893:33204),(65535&E)<<16)):(C=20,z|=63&(f.dosPermissions||0)),o=k.getUTCHours(),o<<=6,o|=k.getUTCMinutes(),o<<=5,o|=k.getUTCSeconds()/2,a=k.getUTCFullYear()-1980,a<<=4,a|=k.getUTCMonth()+1,a<<=5,a|=k.getUTCDate(),_&&(v+="up"+O((g=O(1,1)+O(B(h),4)+l).length,2)+g),w&&(v+="uc"+O((y=O(1,1)+O(B(p),4)+m).length,2)+y);var A="";return A+="\n\0",A+=O(S,2),A+=u.magic,A+=O(o,2),A+=O(a,2),A+=O(x.crc32,4),A+=O(x.compressedSize,4),A+=O(x.uncompressedSize,4),A+=O(h.length,2),A+=O(v.length,2),{fileRecord:T.LOCAL_FILE_HEADER+A+h+v,dirRecord:T.CENTRAL_FILE_HEADER+O(C,2)+A+O(p.length,2)+"\0\0\0\0"+O(z,4)+O(n,4)+h+v+p}}var I=e("../utils"),s=e("../stream/GenericWorker"),D=e("../utf8"),B=e("../crc32"),T=e("../signature");function n(e,t,r,n){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[];}I.inherits(n,s),n.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}));},n.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=i(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}});}else this.accumulate=!0;},n.prototype.closedSource=function(e){this.accumulate=!1;var t,r=this.streamFiles&&!e.file.dir,n=i(e,r,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),r)this.push({data:(t=e,T.DATA_DESCRIPTOR+O(t.crc32,4)+O(t.compressedSize,4)+O(t.uncompressedSize,4)),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null;},n.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r,n,i,s,o,a,f=this.bytesWritten-e,u=(r=this.dirRecords.length,n=f,i=e,s=this.zipComment,o=this.encodeFileName,a=I.transformTo("string",o(s)),T.CENTRAL_DIRECTORY_END+"\0\0\0\0"+O(r,2)+O(r,2)+O(n,4)+O(i,4)+O(a.length,2)+a);this.push({data:u,meta:{percent:100}});},n.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume();},n.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e);}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end();}),e.on("error",function(e){t.error(e);}),this},n.prototype.resume=function(){return !!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},n.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return !1;for(var r=0;r<t.length;r++)try{t[r].error(e);}catch(e){}return !0},n.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock();},t.exports=n;},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,o,t){var a=new n(o.streamFiles,t,o.platform,o.encodeFileName),f=0;try{e.forEach(function(e,t){f++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,o.compression),n=t.options.compressionOptions||o.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(a);}),a.entriesCount=f;}catch(e){a.error(e);}return a};},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e};}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.5.0",n.loadAsync=function(e,t){return (new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n;},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){var n=e("./utils"),i=e("./external"),a=e("./utf8"),f=e("./zipEntries"),s=e("./stream/Crc32Probe"),u=e("./nodejsUtils");function d(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new s);r.on("error",function(e){t(e);}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e();}).resume();})}t.exports=function(e,s){var o=this;return s=n.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:a.utf8decode}),u.isNode&&u.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",e,!0,s.optimizedBinaryString,s.base64).then(function(e){var t=new f(s);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(s.checkCRC32)for(var n=0;n<r.length;n++)t.push(d(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n];o.file(i.fileNameStr,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:s.createFolders});}return t.zipComment.length&&(o.comment=t.zipComment),o})};},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t);}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}});}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e);}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end();});},s.prototype.pause=function(){return !!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s;},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t);}).on("error",function(e){n.emit("error",e);}).on("end",function(){n.push(null);});}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume();},t.exports=n;},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}};},{}],15:[function(e,t,r){function s(e,t,r){var n,i=d.getTypeOf(t),s=d.extend(r||{},l);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=u(e)),s.createFolders&&(n=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""}(e))&&w.call(this,n,!0);var o,a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string"),o=t instanceof c||t instanceof h?t:m.isNode&&m.isStream(t)?new _(e,t):d.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var f=new p(e,o,s);this.files[e]=f;}function u(e){return "/"!==e.slice(-1)&&(e+="/"),e}var i=e("./utf8"),d=e("./utils"),h=e("./stream/GenericWorker"),o=e("./stream/StreamHelper"),l=e("./defaults"),c=e("./compressedObject"),p=e("./zipObject"),a=e("./generate"),m=e("./nodejsUtils"),_=e("./nodejs/NodejsStreamInputAdapter"),w=function(e,t){return t=void 0!==t?t:l.createFolders,e=u(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function f(e){return "[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n));},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t);}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(f(e)){var n=e;return this.filter(function(e,t){return !t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(f(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=w.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(e){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=d.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");d.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=a.generateWorker(this,r,n);}catch(e){(t=new h("error")).error(e);}return new o(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return (e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n;},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){t.exports=e("stream");},{stream:void 0}],17:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t];}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return -1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return [];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0;}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e);},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e;},skip:function(e){this.setIndex(this.index+e);},byteAt:function(e){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i;},{"../utils":32}],19:[function(e,t,r){var n=e("./Uint8ArrayReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){var n=e("./ArrayReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),o=e("./StringReader"),a=e("./NodeBufferReader"),f=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new f(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new o(e)};},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b";},{}],24:[function(e,t,r){var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e;}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta});},t.exports=s;},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0);}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e);},t.exports=s;},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0);}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length;}i.prototype.processChunk.call(this,e);},t.exports=s;},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat();},function(e){t.error(e);});}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null;},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0));},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return !1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t);}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s;},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null;}n.prototype={push:function(e){this.emit("data",e);},end:function(){if(this.isFinished)return !1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0;}catch(e){this.emit("error",e);}return !0},error:function(e){return !this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[];},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t);},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e);}),e.on("end",function(){t.end();}),e.on("error",function(e){t.error(e);}),this},pause:function(){return !this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return !1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e);},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(e)&&(this.streamInfo[e]=this.extraStreamInfo[e]);},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock();},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n;},{}],29:[function(e,t,r){var u=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),d=e("../base64"),n=e("../support"),o=e("../external"),a=null;if(n.nodestream)try{a=e("../nodejs/NodejsStreamOutputAdapter");}catch(e){}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string";}try{this._internalType=n,this._outputType=t,this._mimeType=r,u.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock();}catch(e){this._worker=new s("error"),this._worker.error(e);}}f.prototype={accumulate:function(e){return a=this,f=e,new o.Promise(function(t,r){var n=[],i=a._internalType,s=a._outputType,o=a._mimeType;a.on("data",function(e,t){n.push(e),f&&f(t);}).on("error",function(e){n=[],r(e);}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return u.newBlob(u.transformTo("arraybuffer",t),r);case"base64":return d.encode(t);default:return u.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),o);t(e);}catch(e){r(e);}n=[];}).resume();});var a,f;},on:function(e,t){var r=this;return "data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta);}):this._worker.on(e,function(){u.delay(t,arguments,r);}),this},resume:function(){return u.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(u.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new a(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f;},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else {var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size;}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size;}catch(e){r.blob=!1;}}}try{r.nodestream=!!e("readable-stream").Readable;}catch(e){r.nodestream=!1;}},{"readable-stream":16}],31:[function(e,t,s){for(var a=e("./utils"),f=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function o(){n.call(this,"utf-8 decode"),this.leftOver=null;}function d(){n.call(this,"utf-8 encode");}u[254]=u[254]=1,s.utf8encode=function(e){return f.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,o=e.length,a=0;for(i=0;i<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=f.uint8array?new Uint8Array(a):new Array(a),i=s=0;s<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return f.nodebuffer?a.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,o=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)o[r++]=n;else if(4<(i=u[n]))o[r++]=65533,t+=i-1;else {for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?o[r++]=65533:n<65536?o[r++]=n:(n-=65536,o[r++]=55296|n>>10&1023,o[r++]=56320|1023&n);}return o.length!==r&&(o.subarray?o=o.subarray(0,r):o.length=r),a.applyFromCharCode(o)}(e=a.transformTo(f.uint8array?"uint8array":"array",e))},a.inherits(o,n),o.prototype.processChunk=function(e){var t=a.transformTo(f.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(f.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length);}else t=this.leftOver.concat(t);this.leftOver=null;}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(f.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta});},o.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null);},s.Utf8DecodeWorker=o,a.inherits(d,n),d.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta});},s.Utf8EncodeWorker=d;},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){var f=e("./support"),u=e("./base64"),r=e("./nodejsUtils"),n=e("set-immediate-shim"),d=e("./external");function i(e){return e}function h(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var s={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return f.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return !1}}(),nodebuffer:function(){try{return f.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return !1}}()}};function o(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=s.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=s.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return s.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2);}return s.stringifyByChar(e)}function l(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=o;var c={};c.string={string:i,array:function(e){return h(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return h(e,new Uint8Array(e.length))},nodebuffer:function(e){return h(e,r.allocBuffer(e.length))}},c.array={string:o,array:i,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return o(new Uint8Array(e))},array:function(e){return l(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:i,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:o,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:i,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:o,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:i},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.getTypeOf=function(e){return "string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":f.nodebuffer&&r.isBuffer(e)?"nodebuffer":f.uint8array&&e instanceof Uint8Array?"uint8array":f.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!f[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){n(function(){e.apply(r||null,t||[]);});},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r;},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(n,e,i,s,o){return d.Promise.resolve(e).then(function(n){return f.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new d.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result);},e.onerror=function(e){r(e.target.error);},e.readAsArrayBuffer(n);}):n}).then(function(e){var t,r=a.getTypeOf(e);return r?("arraybuffer"===r?e=a.transformTo("uint8array",e):"string"===r&&(o?e=u.decode(e):i&&!0!==s&&(e=h(t=e,f.uint8array?new Uint8Array(t.length):new Array(t.length)))),e):d.Promise.reject(new Error("Can't read the data of '"+n+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})};},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(e,t,r){var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),o=e("./zipEntry"),a=(e("./utf8"),e("./support"));function f(e){this.files=[],this.loadOptions=e;}f.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r);},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r};},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes();},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new o({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral();}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e);},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles();}},t.exports=f;},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),o=e("./crc32"),a=e("./utf8"),f=e("./compressions"),u=e("./support");function d(e,t){this.options=e,this.loadOptions=t;}d.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in f)if(f.hasOwnProperty(t)&&f[t].magic===e)return f[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize));},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength);},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0);},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4));}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i);},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else {var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else {var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r);}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else {var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i);}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:o(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:o(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},t.exports=d;},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions};}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),o=e("./utf8"),a=e("./compressedObject"),f=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new o.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new o.Utf8DecodeWorker));}catch(e){(t=new f("error")).error(e);}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new o.Utf8EncodeWorker)),a.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof f?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],d=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<u.length;h++)n.prototype[u[h]]=d;t.exports=n;},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,d,t){(function(t){var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),o=t.document.createTextNode("");s.observe(o,{characterData:!0}),r=function(){o.data=i=++i%2;};}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null;},t.document.documentElement.appendChild(e);}:function(){setTimeout(u,0);};else {var a=new t.MessageChannel;a.port1.onmessage=u,r=function(){a.port2.postMessage(0);};}var f=[];function u(){var e,t;n=!0;for(var r=f.length;r;){for(t=f,f=[],e=-1;++e<r;)t[e]();r=f.length;}n=!1;}d.exports=function(e){1!==f.push(e)||n||r();};}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}],37:[function(e,t,r){var i=e("immediate");function u(){}var d={},s=["REJECTED"],o=["FULFILLED"],n=["PENDING"];function a(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&c(this,e);}function f(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected);}function h(t,r,n){i(function(){var e;try{e=r(n);}catch(e){return d.reject(t,e)}e===t?d.reject(t,new TypeError("Cannot resolve promise with itself")):d.resolve(t,e);});}function l(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments);}}function c(t,e){var r=!1;function n(e){r||(r=!0,d.reject(t,e));}function i(e){r||(r=!0,d.resolve(t,e));}var s=p(function(){e(i,n);});"error"===s.status&&n(s.value);}function p(e,t){var r={};try{r.value=e(t),r.status="success";}catch(e){r.status="error",r.value=e;}return r}(t.exports=a).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},a.prototype.catch=function(e){return this.then(null,e)},a.prototype.then=function(e,t){if("function"!=typeof e&&this.state===o||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);return this.state!==n?h(r,this.state===o?e:t,this.outcome):this.queue.push(new f(r,e,t)),r},f.prototype.callFulfilled=function(e){d.resolve(this.promise,e);},f.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e);},f.prototype.callRejected=function(e){d.reject(this.promise,e);},f.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e);},d.resolve=function(e,t){var r=p(l,t);if("error"===r.status)return d.reject(e,r.value);var n=r.value;if(n)c(e,n);else {e.state=o,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t);}return e},d.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},a.resolve=function(e){return e instanceof this?e:d.resolve(new this(u),e)},a.reject=function(e){var t=new this(u);return d.reject(t,e)},a.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);for(var s=new Array(n),o=0,t=-1,a=new this(u);++t<n;)f(e[t],t);return a;function f(e,t){r.resolve(e).then(function(e){s[t]=e,++o!==n||i||(i=!0,d.resolve(a,s));},function(e){i||(i=!0,d.reject(a,e));});}},a.race=function(e){if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var t=e.length,r=!1;if(!t)return this.resolve([]);for(var n,i=-1,s=new this(u);++i<t;)n=e[i],this.resolve(n).then(function(e){r||(r=!0,d.resolve(s,e));},function(e){r||(r=!0,d.reject(s,e));});return s};},{immediate:36}],38:[function(e,t,r){var n={};(0, e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n;},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){var o=e("./zlib/deflate"),a=e("./utils/common"),f=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,d=0,h=-1,l=0,c=8;function p(e){if(!(this instanceof p))return new p(e);this.options=a.assign({level:h,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:l,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=o.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==d)throw new Error(i[r]);if(t.header&&o.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?f.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=o.deflateSetDictionary(this.strm,n))!==d)throw new Error(i[r]);this._dict_set=!0;}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return !1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=f.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new a.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=o.deflate(i,n))&&r!==d)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(f.buf2binstring(a.shrinkBuf(i.output,i.next_out))):this.onData(a.shrinkBuf(i.output,i.next_out)));}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=o.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===d):2!==n||(this.onEnd(d),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e);},p.prototype.onEnd=function(e){e===d&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return (t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return (t=t||{}).gzip=!0,n(e,t)};},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){var l=e("./zlib/inflate"),c=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function o(e){if(!(this instanceof o))return new o(e);this.options=c.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=l.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,l.inflateGetHeader(this.strm,this.header);}function a(e,t){var r=new o(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}o.prototype.push=function(e,t){var r,n,i,s,o,a,f=this.strm,u=this.options.chunkSize,d=this.options.dictionary,h=!1;if(this.ended)return !1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?f.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?f.input=new Uint8Array(e):f.input=e,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new c.Buf8(u),f.next_out=0,f.avail_out=u),(r=l.inflate(f,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&d&&(a="string"==typeof d?p.string2buf(d):"[object ArrayBuffer]"===_.call(d)?new Uint8Array(d):d,r=l.inflateSetDictionary(this.strm,a)),r===m.Z_BUF_ERROR&&!0===h&&(r=m.Z_OK,h=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);f.next_out&&(0!==f.avail_out&&r!==m.Z_STREAM_END&&(0!==f.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(f.output,f.next_out),s=f.next_out-i,o=p.buf2string(f.output,i),f.next_out=s,f.avail_out=u-s,s&&c.arraySet(f.output,f.output,i,s,0),this.onData(o)):this.onData(c.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(h=!0);}while((0<f.avail_in||0===f.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=l.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(f.avail_out=0))},o.prototype.onData=function(e){this.chunks.push(e);},o.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},r.Inflate=o,r.inflate=a,r.inflateRaw=function(e,t){return (t=t||{}).raw=!0,a(e,t)},r.ungzip=a;},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n]);}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s];},flattenChunks:function(e){var t,r,n,i,s,o;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(o=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],o.set(s,i),i+=s.length;return o}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s];},flattenChunks:function(e){return [].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s));},r.setTyped(n);},{}],42:[function(e,t,r){var f=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0]);}catch(e){i=!1;}try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(e){s=!1;}for(var u=new f.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function d(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,f.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,o=e.length,a=0;for(i=0;i<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=new f.Buf8(a),i=s=0;s<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return d(e,e.length)},r.binstring2buf=function(e){for(var t=new f.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,o=t||e.length,a=new Array(2*o);for(r=n=0;r<o;)if((i=e[r++])<128)a[n++]=i;else if(4<(s=u[i]))a[n++]=65533,r+=s-1;else {for(i&=2===s?31:3===s?15:7;1<s&&r<o;)i=i<<6|63&e[r++],s--;1<s?a[n++]=65533:i<65536?a[n++]=i:(i-=65536,a[n++]=55296|i>>10&1023,a[n++]=56320|1023&i);}return d(a,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t};},{"./common":41}],43:[function(e,t,r){t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,o=0;0!==r;){for(r-=o=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--o;);i%=65521,s%=65521;}return i|s<<16|0};},{}],44:[function(e,t,r){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};},{}],45:[function(e,t,r){var a=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();t.exports=function(e,t,r,n){var i=a,s=n+r;e^=-1;for(var o=n;o<s;o++)e=e>>>8^i[255&(e^t[o])];return -1^e};},{}],46:[function(e,t,r){var f,l=e("../utils/common"),u=e("./trees"),c=e("./adler32"),p=e("./crc32"),n=e("./messages"),d=0,h=0,m=-2,i=2,_=8,s=286,o=30,a=19,w=2*s+1,v=15,g=3,y=258,b=y+g+1,k=42,x=113;function S(e,t){return e.msg=n[t],t}function E(e){return (e<<1)-(4<e?9:0)}function z(e){for(var t=e.length;0<=--t;)e[t]=0;}function C(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(l.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0));}function A(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,C(e.strm);}function O(e,t){e.pending_buf[e.pending++]=t;}function I(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t;}function D(e,t){var r,n,i=e.max_chain_length,s=e.strstart,o=e.prev_length,a=e.nice_match,f=e.strstart>e.w_size-b?e.strstart-(e.w_size-b):0,u=e.window,d=e.w_mask,h=e.prev,l=e.strstart+y,c=u[s+o-1],p=u[s+o];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(u[(r=t)+o]===p&&u[r+o-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<l);if(n=y-(l-s),s=l-y,o<n){if(e.match_start=t,a<=(o=n))break;c=u[s+o-1],p=u[s+o];}}}while((t=h[t&d])>f&&0!=--i);return o<=e.lookahead?o:e.lookahead}function B(e){var t,r,n,i,s,o,a,f,u,d,h=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=h+(h-b)){for(l.arraySet(e.window,e.window,h,h,0),e.match_start-=h,e.strstart-=h,e.block_start-=h,t=r=e.hash_size;n=e.head[--t],e.head[t]=h<=n?n-h:0,--r;);for(t=r=h;n=e.prev[--t],e.prev[t]=h<=n?n-h:0,--r;);i+=h;}if(0===e.strm.avail_in)break;if(o=e.strm,a=e.window,f=e.strstart+e.lookahead,d=void 0,(u=i)<(d=o.avail_in)&&(d=u),r=0===d?0:(o.avail_in-=d,l.arraySet(a,o.input,o.next_in,d,f),1===o.state.wrap?o.adler=c(o.adler,a,d,f):2===o.state.wrap&&(o.adler=p(o.adler,a,d,f)),o.next_in+=d,o.total_in+=d,d),e.lookahead+=r,e.lookahead+e.insert>=g)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+g-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<g)););}while(e.lookahead<b&&0!==e.strm.avail_in)}function T(e,t){for(var r,n;;){if(e.lookahead<b){if(B(e),e.lookahead<b&&t===d)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=g&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+g-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-b&&(e.match_length=D(e,r)),e.match_length>=g)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-g),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=g){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+g-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++;}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<g-1?e.strstart:g-1,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}function R(e,t){for(var r,n,i;;){if(e.lookahead<b){if(B(e),e.lookahead<b&&t===d)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=g&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+g-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=g-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-b&&(e.match_length=D(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===g&&4096<e.strstart-e.match_start)&&(e.match_length=g-1)),e.prev_length>=g&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-g,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-g),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+g-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=g-1,e.strstart++,n&&(A(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&A(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--;}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<g-1?e.strstart:g-1,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}function F(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i;}function N(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new l.Buf16(2*w),this.dyn_dtree=new l.Buf16(2*(2*o+1)),this.bl_tree=new l.Buf16(2*(2*a+1)),z(this.dyn_ltree),z(this.dyn_dtree),z(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new l.Buf16(v+1),this.heap=new l.Buf16(2*s+1),z(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new l.Buf16(2*s+1),z(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0;}function U(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?k:x,e.adler=2===t.wrap?0:1,t.last_flush=d,u._tr_init(t),h):S(e,m)}function L(e){var t,r=U(e);return r===h&&((t=e.state).window_size=2*t.w_size,z(t.head),t.max_lazy_match=f[t.level].max_lazy,t.good_match=f[t.level].good_length,t.nice_match=f[t.level].nice_length,t.max_chain_length=f[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=g-1,t.match_available=0,t.ins_h=0),r}function P(e,t,r,n,i,s){if(!e)return m;var o=1;if(-1===t&&(t=6),n<0?(o=0,n=-n):15<n&&(o=2,n-=16),i<1||9<i||r!==_||n<8||15<n||t<0||9<t||s<0||4<s)return S(e,m);8===n&&(n=9);var a=new N;return (e.state=a).strm=e,a.wrap=o,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=i+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+g-1)/g),a.window=new l.Buf8(2*a.w_size),a.head=new l.Buf16(a.hash_size),a.prev=new l.Buf16(a.w_size),a.lit_bufsize=1<<i+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new l.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=t,a.strategy=s,a.method=r,L(e)}f=[new F(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(B(e),0===e.lookahead&&t===d)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,A(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-b&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(A(e,!1),e.strm.avail_out),1)}),new F(4,4,8,4,T),new F(4,5,16,8,T),new F(4,6,32,32,T),new F(4,4,16,16,R),new F(8,16,32,32,R),new F(8,16,128,128,R),new F(8,32,128,256,R),new F(32,128,258,1024,R),new F(32,258,258,4096,R)],r.deflateInit=function(e,t){return P(e,t,_,15,8,0)},r.deflateInit2=P,r.deflateReset=L,r.deflateResetKeep=U,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,h):m},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?S(e,m):m;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&4!==t)return S(e,0===e.avail_out?-5:m);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===k)if(2===n.wrap)e.adler=0,O(n,31),O(n,139),O(n,8),n.gzhead?(O(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),O(n,255&n.gzhead.time),O(n,n.gzhead.time>>8&255),O(n,n.gzhead.time>>16&255),O(n,n.gzhead.time>>24&255),O(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),O(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(O(n,255&n.gzhead.extra.length),O(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(O(n,0),O(n,0),O(n,0),O(n,0),O(n,0),O(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),O(n,3),n.status=x);else {var o=_+(n.w_bits-8<<4)<<8;o|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(o|=32),o+=31-o%31,n.status=x,I(n,o),0!==n.strstart&&(I(n,e.adler>>>16),I(n,65535&e.adler)),e.adler=1;}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending!==n.pending_buf_size));)O(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73);}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,O(n,s);}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91);}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,O(n,s);}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103);}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&C(e),n.pending+2<=n.pending_buf_size&&(O(n,255&e.adler),O(n,e.adler>>8&255),e.adler=0,n.status=x)):n.status=x),0!==n.pending){if(C(e),0===e.avail_out)return n.last_flush=-1,h}else if(0===e.avail_in&&E(t)<=E(r)&&4!==t)return S(e,-5);if(666===n.status&&0!==e.avail_in)return S(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==d&&666!==n.status){var a=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(B(e),0===e.lookahead)){if(t===d)return 1;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,o=e.window;;){if(e.lookahead<=y){if(B(e),e.lookahead<=y&&t===d)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=g&&0<e.strstart&&(n=o[i=e.strstart-1])===o[++i]&&n===o[++i]&&n===o[++i]){s=e.strstart+y;do{}while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&i<s);e.match_length=y-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead);}if(e.match_length>=g?(r=u._tr_tally(e,1,e.match_length-g),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}(n,t):f[n.level].func(n,t);if(3!==a&&4!==a||(n.status=666),1===a||3===a)return 0===e.avail_out&&(n.last_flush=-1),h;if(2===a&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(z(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),C(e),0===e.avail_out))return n.last_flush=-1,h}return 4!==t?h:n.wrap<=0?1:(2===n.wrap?(O(n,255&e.adler),O(n,e.adler>>8&255),O(n,e.adler>>16&255),O(n,e.adler>>24&255),O(n,255&e.total_in),O(n,e.total_in>>8&255),O(n,e.total_in>>16&255),O(n,e.total_in>>24&255)):(I(n,e.adler>>>16),I(n,65535&e.adler)),C(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?h:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==k&&69!==t&&73!==t&&91!==t&&103!==t&&t!==x&&666!==t?S(e,m):(e.state=null,t===x?S(e,-3):h):m},r.deflateSetDictionary=function(e,t){var r,n,i,s,o,a,f,u,d=t.length;if(!e||!e.state)return m;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==k||r.lookahead)return m;for(1===s&&(e.adler=c(e.adler,t,d,0)),r.wrap=0,d>=r.w_size&&(0===s&&(z(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new l.Buf8(r.w_size),l.arraySet(u,t,d-r.w_size,r.w_size,0),t=u,d=r.w_size),o=e.avail_in,a=e.next_in,f=e.input,e.avail_in=d,e.next_in=0,e.input=t,B(r);r.lookahead>=g;){for(n=r.strstart,i=r.lookahead-(g-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+g-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=g-1,B(r);}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=g-1,r.match_available=0,e.next_in=a,e.input=f,e.avail_in=o,r.wrap=s,h},r.deflateInfo="pako deflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1;};},{}],48:[function(e,t,r){t.exports=function(e,t){var r,n,i,s,o,a,f,u,d,h,l,c,p,m,_,w,v,g,y,b,k,x,S,E,z;r=e.state,n=e.next_in,E=e.input,i=n+(e.avail_in-5),s=e.next_out,z=e.output,o=s-(t-e.avail_out),a=s+(e.avail_out-257),f=r.dmax,u=r.wsize,d=r.whave,h=r.wnext,l=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,w=(1<<r.lenbits)-1,v=(1<<r.distbits)-1;e:do{p<15&&(c+=E[n++]<<p,p+=8,c+=E[n++]<<p,p+=8),g=m[c&w];t:for(;;){if(c>>>=y=g>>>24,p-=y,0==(y=g>>>16&255))z[s++]=65535&g;else {if(!(16&y)){if(0==(64&y)){g=m[(65535&g)+(c&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}b=65535&g,(y&=15)&&(p<y&&(c+=E[n++]<<p,p+=8),b+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=E[n++]<<p,p+=8,c+=E[n++]<<p,p+=8),g=_[c&v];r:for(;;){if(c>>>=y=g>>>24,p-=y,!(16&(y=g>>>16&255))){if(0==(64&y)){g=_[(65535&g)+(c&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&g,p<(y&=15)&&(c+=E[n++]<<p,(p+=8)<y&&(c+=E[n++]<<p,p+=8)),f<(k+=c&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(c>>>=y,p-=y,(y=s-o)<k){if(d<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=l,(x=0)===h){if(x+=u-y,y<b){for(b-=y;z[s++]=l[x++],--y;);x=s-k,S=z;}}else if(h<y){if(x+=u+h-y,(y-=h)<b){for(b-=y;z[s++]=l[x++],--y;);if(x=0,h<b){for(b-=y=h;z[s++]=l[x++],--y;);x=s-k,S=z;}}}else if(x+=h-y,y<b){for(b-=y;z[s++]=l[x++],--y;);x=s-k,S=z;}for(;2<b;)z[s++]=S[x++],z[s++]=S[x++],z[s++]=S[x++],b-=3;b&&(z[s++]=S[x++],1<b&&(z[s++]=S[x++]));}else {for(x=s-k;z[s++]=z[x++],z[s++]=z[x++],z[s++]=z[x++],2<(b-=3););b&&(z[s++]=z[x++],1<b&&(z[s++]=z[x++]));}break}}break}}while(n<i&&s<a);n-=b=p>>3,c&=(1<<(p-=b<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<a?a-s+257:257-(s-a),r.hold=c,r.bits=p;};},{}],49:[function(e,t,r){var O=e("../utils/common"),I=e("./adler32"),D=e("./crc32"),B=e("./inffast"),T=e("./inftrees"),R=1,F=2,N=0,U=-2,L=1,n=852,i=592;function P(e){return (e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new O.Buf16(320),this.work=new O.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0;}function o(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=L,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new O.Buf32(n),t.distcode=t.distdyn=new O.Buf32(i),t.sane=1,t.back=-1,N):U}function a(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,o(e)):U}function f(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,a(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=f(e,t))!==N&&(e.state=null),r):U}var d,h,l=!0;function j(e){if(l){var t;for(d=new O.Buf32(512),h=new O.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(R,e.lens,0,288,d,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,h,0,e.work,{bits:5}),l=!1;}e.lencode=d,e.lenbits=9,e.distcode=h,e.distbits=5;}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new O.Buf8(s.wsize)),n>=s.wsize?(O.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),O.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(O.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=a,r.inflateReset2=f,r.inflateResetKeep=o,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,o,a,f,u,d,h,l,c,p,m,_,w,v,g,y,b,k,x,S,E,z=0,C=new O.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),o=e.next_out,i=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,u=r.hold,d=r.bits,h=a,l=f,x=N;e:for(;;)switch(r.mode){case L:if(0===r.wrap){r.mode=13;break}for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(2&r.wrap&&35615===u){C[r.check=0]=255&u,C[1]=u>>>8&255,r.check=D(r.check,C,2,0),d=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(d-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,d=u=0;break;case 2:for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(C[0]=255&u,C[1]=u>>>8&255,r.check=D(r.check,C,2,0)),d=u=0,r.mode=3;case 3:for(;d<32;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.head&&(r.head.time=u),512&r.flags&&(C[0]=255&u,C[1]=u>>>8&255,C[2]=u>>>16&255,C[3]=u>>>24&255,r.check=D(r.check,C,4,0)),d=u=0,r.mode=4;case 4:for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(C[0]=255&u,C[1]=u>>>8&255,r.check=D(r.check,C,2,0)),d=u=0,r.mode=5;case 5:if(1024&r.flags){for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(C[0]=255&u,C[1]=u>>>8&255,r.check=D(r.check,C,2,0)),d=u=0;}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(a<(c=r.length)&&(c=a),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),O.arraySet(r.head.extra,n,s,c,k)),512&r.flags&&(r.check=D(r.check,n,c,s)),a-=c,s+=c,r.length-=c),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===a)break e;for(c=0;k=n[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<a;);if(512&r.flags&&(r.check=D(r.check,n,c,s)),a-=c,s+=c,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===a)break e;for(c=0;k=n[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<a;);if(512&r.flags&&(r.check=D(r.check,n,c,s)),a-=c,s+=c,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}d=u=0;}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;d<32;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}e.adler=r.check=P(u),d=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=o,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=u,r.bits=d,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&d,d-=7&d,r.mode=27;break}for(;d<3;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}switch(r.last=1&u,d-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,d-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30;}u>>>=2,d-=2;break;case 14:for(u>>>=7&d,d-=7&d;d<32;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,d=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(c=r.length){if(a<c&&(c=a),f<c&&(c=f),0===c)break e;O.arraySet(i,n,s,c,o),a-=c,s+=c,f-=c,o+=c,r.length-=c;break}r.mode=12;break;case 17:for(;d<14;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(r.nlen=257+(31&u),u>>>=5,d-=5,r.ndist=1+(31&u),u>>>=5,d-=5,r.ncode=4+(15&u),u>>>=4,d-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;d<3;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.lens[A[r.have++]]=7&u,u>>>=3,d-=3;}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;w=(z=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,v=65535&z,!((_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(v<16)u>>>=_,d-=_,r.lens[r.have++]=v;else {if(16===v){for(E=_+2;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(u>>>=_,d-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,d-=2;}else if(17===v){for(E=_+3;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}d-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,d-=3;}else {for(E=_+7;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}d-=_,k=0,c=11+(127&(u>>>=_)),u>>>=7,d-=7;}if(r.have+c>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k;}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(R,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=a&&258<=f){e.next_out=o,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=u,r.bits=d,B(e,l),o=e.next_out,i=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,u=r.hold,d=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;w=(z=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,v=65535&z,!((_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(w&&0==(240&w)){for(g=_,y=w,b=v;w=(z=r.lencode[b+((u&(1<<g+y)-1)>>g)])>>>16&255,v=65535&z,!(g+(_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}u>>>=g,d-=g,r.back+=g;}if(u>>>=_,d-=_,r.back+=_,r.length=v,0===w){r.mode=26;break}if(32&w){r.back=-1,r.mode=12;break}if(64&w){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&w,r.mode=22;case 22:if(r.extra){for(E=r.extra;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,d-=r.extra,r.back+=r.extra;}r.was=r.length,r.mode=23;case 23:for(;w=(z=r.distcode[u&(1<<r.distbits)-1])>>>16&255,v=65535&z,!((_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(0==(240&w)){for(g=_,y=w,b=v;w=(z=r.distcode[b+((u&(1<<g+y)-1)>>g)])>>>16&255,v=65535&z,!(g+(_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}u>>>=g,d-=g,r.back+=g;}if(u>>>=_,d-=_,r.back+=_,64&w){e.msg="invalid distance code",r.mode=30;break}r.offset=v,r.extra=15&w,r.mode=24;case 24:if(r.extra){for(E=r.extra;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,d-=r.extra,r.back+=r.extra;}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===f)break e;if(c=l-f,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window;}else m=i,p=o-r.offset,c=r.length;for(f<c&&(c=f),f-=c,r.length-=c;i[o++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===f)break e;i[o++]=r.length,f--,r.mode=21;break;case 27:if(r.wrap){for(;d<32;){if(0===a)break e;a--,u|=n[s++]<<d,d+=8;}if(l-=f,e.total_out+=l,r.total+=l,l&&(e.adler=r.check=r.flags?D(r.check,i,l,o-l):I(r.check,i,l,o-l)),l=f,(r.flags?u:P(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}d=u=0;}r.mode=28;case 28:if(r.wrap&&r.flags){for(;d<32;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}d=u=0;}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return -4;case 32:default:return U}return e.next_out=o,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=u,r.bits=d,(r.wsize||l!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,l-e.avail_out)?(r.mode=31,-4):(h-=e.avail_in,l-=e.avail_out,e.total_in+=h,e.total_out+=l,r.total+=l,r.wrap&&l&&(e.adler=r.check=r.flags?D(r.check,i,l,e.next_out-l):I(r.check,i,l,e.next_out-l)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==h&&0===l||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&I(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){var R=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],L=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,o,a){var f,u,d,h,l,c,p,m,_,w=a.bits,v=0,g=0,y=0,b=0,k=0,x=0,S=0,E=0,z=0,C=0,A=null,O=0,I=new R.Buf16(16),D=new R.Buf16(16),B=null,T=0;for(v=0;v<=15;v++)I[v]=0;for(g=0;g<n;g++)I[t[r+g]]++;for(k=w,b=15;1<=b&&0===I[b];b--);if(b<k&&(k=b),0===b)return i[s++]=20971520,i[s++]=20971520,a.bits=1,0;for(y=1;y<b&&0===I[y];y++);for(k<y&&(k=y),v=E=1;v<=15;v++)if(E<<=1,(E-=I[v])<0)return -1;if(0<E&&(0===e||1!==b))return -1;for(D[1]=0,v=1;v<15;v++)D[v+1]=D[v]+I[v];for(g=0;g<n;g++)0!==t[r+g]&&(o[D[t[r+g]]++]=g);if(c=0===e?(A=B=o,19):1===e?(A=F,O-=257,B=N,T-=257,256):(A=U,B=L,-1),v=y,l=s,S=g=C=0,d=-1,h=(z=1<<(x=k))-1,1===e&&852<z||2===e&&592<z)return 1;for(;;){for(p=v-S,_=o[g]<c?(m=0,o[g]):o[g]>c?(m=B[T+o[g]],A[O+o[g]]):(m=96,0),f=1<<v-S,y=u=1<<x;i[l+(C>>S)+(u-=f)]=p<<24|m<<16|_|0,0!==u;);for(f=1<<v-1;C&f;)f>>=1;if(0!==f?(C&=f-1,C+=f):C=0,g++,0==--I[v]){if(v===b)break;v=t[r+o[g]];}if(k<v&&(C&h)!==d){for(0===S&&(S=k),l+=y,E=1<<(x=v-S);x+S<b&&!((E-=I[x+S])<=0);)x++,E<<=1;if(z+=1<<x,1===e&&852<z||2===e&&592<z)return 1;i[d=C&h]=k<<24|x<<16|l-s|0;}}return 0!==C&&(i[l+C]=v-S<<24|64<<16|0),a.bits=k,0};},{"../utils/common":41}],51:[function(e,t,r){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};},{}],52:[function(e,t,r){var a=e("../utils/common");function n(e){for(var t=e.length;0<=--t;)e[t]=0;}var _=15,i=16,f=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],d=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=new Array(576);n(h);var l=new Array(60);n(l);var c=new Array(512);n(c);var p=new Array(256);n(p);var m=new Array(29);n(m);var w,v,g,y=new Array(30);function b(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length;}function s(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t;}function k(e){return e<256?c[e]:c[256+(e>>>7)]}function x(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255;}function S(e,t,r){e.bi_valid>i-r?(e.bi_buf|=t<<e.bi_valid&65535,x(e,e.bi_buf),e.bi_buf=t>>i-e.bi_valid,e.bi_valid+=r-i):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r);}function E(e,t,r){S(e,r[2*t],r[2*t+1]);}function z(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function C(e,t,r){var n,i,s=new Array(_+1),o=0;for(n=1;n<=_;n++)s[n]=o=o+r[n-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=z(s[a]++,a));}}function A(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0;}function O(e){8<e.bi_valid?x(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0;}function I(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function D(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&I(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!I(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n;}function B(e,t,r){var n,i,s,o,a=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],i=e.pending_buf[e.l_buf+a],a++,0===n?E(e,i,t):(E(e,(s=p[i])+256+1,t),0!==(o=f[s])&&S(e,i-=m[s],o),E(e,s=k(--n),r),0!==(o=u[s])&&S(e,n-=y[s],o)),a<e.last_lit;);E(e,256,t);}function T(e,t){var r,n,i,s=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,f=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=573,r=0;r<f;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=o[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)D(e,s,r);for(i=f;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],D(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,D(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,o,a,f=t.dyn_tree,u=t.max_code,d=t.stat_desc.static_tree,h=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,c=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=_;s++)e.bl_count[s]=0;for(f[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<573;r++)p<(s=f[2*f[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),f[2*n+1]=s,u<n||(e.bl_count[s]++,o=0,c<=n&&(o=l[n-c]),a=f[2*n],e.opt_len+=a*(s+o),h&&(e.static_len+=a*(d[2*n+1]+o)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2;}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(f[2*i+1]!==s&&(e.opt_len+=(s-f[2*i+1])*f[2*i],f[2*i+1]=s),n--);}}(e,t),C(s,u,e.bl_count);}function R(e,t,r){var n,i,s=-1,o=t[1],a=0,f=7,u=4;for(0===o&&(f=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=o,o=t[2*(n+1)+1],++a<f&&i===o||(a<u?e.bl_tree[2*i]+=a:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=i,u=(a=0)===o?(f=138,3):i===o?(f=6,3):(f=7,4));}function F(e,t,r){var n,i,s=-1,o=t[1],a=0,f=7,u=4;for(0===o&&(f=138,u=3),n=0;n<=r;n++)if(i=o,o=t[2*(n+1)+1],!(++a<f&&i===o)){if(a<u)for(;E(e,i,e.bl_tree),0!=--a;);else 0!==i?(i!==s&&(E(e,i,e.bl_tree),a--),E(e,16,e.bl_tree),S(e,a-3,2)):a<=10?(E(e,17,e.bl_tree),S(e,a-3,3)):(E(e,18,e.bl_tree),S(e,a-11,7));s=i,u=(a=0)===o?(f=138,3):i===o?(f=6,3):(f=7,4);}}n(y);var N=!1;function U(e,t,r,n){var i,s,o;S(e,0+(n?1:0),3),s=t,o=r,O(i=e),x(i,o),x(i,~o),a.arraySet(i.pending_buf,i.window,s,o,i.pending),i.pending+=o;}r._tr_init=function(e){N||(function(){var e,t,r,n,i,s=new Array(_+1);for(n=r=0;n<28;n++)for(m[n]=r,e=0;e<1<<f[n];e++)p[r++]=n;for(p[r-1]=n,n=i=0;n<16;n++)for(y[n]=i,e=0;e<1<<u[n];e++)c[i++]=n;for(i>>=7;n<30;n++)for(y[n]=i<<7,e=0;e<1<<u[n]-7;e++)c[256+i++]=n;for(t=0;t<=_;t++)s[t]=0;for(e=0;e<=143;)h[2*e+1]=8,e++,s[8]++;for(;e<=255;)h[2*e+1]=9,e++,s[9]++;for(;e<=279;)h[2*e+1]=7,e++,s[7]++;for(;e<=287;)h[2*e+1]=8,e++,s[8]++;for(C(h,287,s),e=0;e<30;e++)l[2*e+1]=5,l[2*e]=z(e,5);w=new b(h,f,257,286,_),v=new b(l,u,0,30,_),g=new b(new Array(0),o,0,19,7);}(),N=!0),e.l_desc=new s(e.dyn_ltree,w),e.d_desc=new s(e.dyn_dtree,v),e.bl_desc=new s(e.bl_tree,g),e.bi_buf=0,e.bi_valid=0,A(e);},r._tr_stored_block=U,r._tr_flush_block=function(e,t,r,n){var i,s,o=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),T(e,e.l_desc),T(e,e.d_desc),o=function(e){var t;for(R(e,e.dyn_ltree,e.l_desc.max_code),R(e,e.dyn_dtree,e.d_desc.max_code),T(e,e.bl_desc),t=18;3<=t&&0===e.bl_tree[2*d[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?U(e,t,r,n):4===e.strategy||s===i?(S(e,2+(n?1:0),3),B(e,h,l)):(S(e,4+(n?1:0),3),function(e,t,r,n){var i;for(S(e,t-257,5),S(e,r-1,5),S(e,n-4,4),i=0;i<n;i++)S(e,e.bl_tree[2*d[i]+1],3);F(e,e.dyn_ltree,t-1),F(e,e.dyn_dtree,r-1);}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),B(e,e.dyn_ltree,e.dyn_dtree)),A(e),n&&O(e);},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(p[r]+256+1)]++,e.dyn_dtree[2*k(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){var t;S(e,2,3),E(e,256,h),16===(t=e).bi_valid?(x(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8);};},{"../utils/common":41}],53:[function(e,t,r){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0;};},{}],54:[function(e,t,r){t.exports="function"==typeof setImmediate?setImmediate:function(){var e=[].slice.apply(arguments);e.splice(1,0,0),setTimeout.apply(null,e);};},{}]},{},[10])(10)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});
25985
+ });
25986
+
25987
+ /*!
25988
+ * @esri/arcgis-html-sanitizer - v2.8.0 - Tue Oct 19 2021 10:15:21 GMT-0400 (Eastern Daylight Time)
25989
+ * Copyright (c) 2021 - Environmental Systems Research Institute, Inc.
25990
+ * Apache-2.0
25991
+ *
25992
+ * js-xss
25993
+ * Copyright (c) 2012-2017 Zongmin Lei(雷宗民) <leizongmin@gmail.com>
25994
+ * http://ucdok.com
25995
+ * MIT License, see https://github.com/leizongmin/js-xss/blob/master/LICENSE for details
25996
+ *
25997
+ * Lodash/isPlainObject
25998
+ * Copyright (c) JS Foundation and other contributors <https://js.foundation/>
25999
+ * MIT License, see https://raw.githubusercontent.com/lodash/lodash/4.17.10-npm/LICENSE for details
26000
+ */
26001
+
26002
+ /** Used for built-in method references. */
26003
+ var funcProto = Function.prototype;
26004
+
26005
+ /** Used to resolve the decompiled source of functions. */
26006
+ var funcToString = funcProto.toString;
26007
+
26008
+ /** Used to infer the `Object` constructor. */
26009
+ funcToString.call(Object);
26010
+
26011
+ var lib$1 = {exports: {}};
26012
+
26013
+ var _default$1 = {};
26014
+
26015
+ var lib = {exports: {}};
26016
+
26017
+ var _default = {};
26018
+
26019
+ /**
26020
+ * cssfilter
26021
+ *
26022
+ * @author 老雷<leizongmin@gmail.com>
26023
+ */
26024
+
26025
+ function getDefaultWhiteList$1 () {
26026
+ // 白名单值说明:
26027
+ // true: 允许该属性
26028
+ // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许
26029
+ // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许
26030
+ // 除上面列出的值外均表示不允许
26031
+ var whiteList = {};
26032
+
26033
+ whiteList['align-content'] = false; // default: auto
26034
+ whiteList['align-items'] = false; // default: auto
26035
+ whiteList['align-self'] = false; // default: auto
26036
+ whiteList['alignment-adjust'] = false; // default: auto
26037
+ whiteList['alignment-baseline'] = false; // default: baseline
26038
+ whiteList['all'] = false; // default: depending on individual properties
26039
+ whiteList['anchor-point'] = false; // default: none
26040
+ whiteList['animation'] = false; // default: depending on individual properties
26041
+ whiteList['animation-delay'] = false; // default: 0
26042
+ whiteList['animation-direction'] = false; // default: normal
26043
+ whiteList['animation-duration'] = false; // default: 0
26044
+ whiteList['animation-fill-mode'] = false; // default: none
26045
+ whiteList['animation-iteration-count'] = false; // default: 1
26046
+ whiteList['animation-name'] = false; // default: none
26047
+ whiteList['animation-play-state'] = false; // default: running
26048
+ whiteList['animation-timing-function'] = false; // default: ease
26049
+ whiteList['azimuth'] = false; // default: center
26050
+ whiteList['backface-visibility'] = false; // default: visible
26051
+ whiteList['background'] = true; // default: depending on individual properties
26052
+ whiteList['background-attachment'] = true; // default: scroll
26053
+ whiteList['background-clip'] = true; // default: border-box
26054
+ whiteList['background-color'] = true; // default: transparent
26055
+ whiteList['background-image'] = true; // default: none
26056
+ whiteList['background-origin'] = true; // default: padding-box
26057
+ whiteList['background-position'] = true; // default: 0% 0%
26058
+ whiteList['background-repeat'] = true; // default: repeat
26059
+ whiteList['background-size'] = true; // default: auto
26060
+ whiteList['baseline-shift'] = false; // default: baseline
26061
+ whiteList['binding'] = false; // default: none
26062
+ whiteList['bleed'] = false; // default: 6pt
26063
+ whiteList['bookmark-label'] = false; // default: content()
26064
+ whiteList['bookmark-level'] = false; // default: none
26065
+ whiteList['bookmark-state'] = false; // default: open
26066
+ whiteList['border'] = true; // default: depending on individual properties
26067
+ whiteList['border-bottom'] = true; // default: depending on individual properties
26068
+ whiteList['border-bottom-color'] = true; // default: current color
26069
+ whiteList['border-bottom-left-radius'] = true; // default: 0
26070
+ whiteList['border-bottom-right-radius'] = true; // default: 0
26071
+ whiteList['border-bottom-style'] = true; // default: none
26072
+ whiteList['border-bottom-width'] = true; // default: medium
26073
+ whiteList['border-collapse'] = true; // default: separate
26074
+ whiteList['border-color'] = true; // default: depending on individual properties
26075
+ whiteList['border-image'] = true; // default: none
26076
+ whiteList['border-image-outset'] = true; // default: 0
26077
+ whiteList['border-image-repeat'] = true; // default: stretch
26078
+ whiteList['border-image-slice'] = true; // default: 100%
26079
+ whiteList['border-image-source'] = true; // default: none
26080
+ whiteList['border-image-width'] = true; // default: 1
26081
+ whiteList['border-left'] = true; // default: depending on individual properties
26082
+ whiteList['border-left-color'] = true; // default: current color
26083
+ whiteList['border-left-style'] = true; // default: none
26084
+ whiteList['border-left-width'] = true; // default: medium
26085
+ whiteList['border-radius'] = true; // default: 0
26086
+ whiteList['border-right'] = true; // default: depending on individual properties
26087
+ whiteList['border-right-color'] = true; // default: current color
26088
+ whiteList['border-right-style'] = true; // default: none
26089
+ whiteList['border-right-width'] = true; // default: medium
26090
+ whiteList['border-spacing'] = true; // default: 0
26091
+ whiteList['border-style'] = true; // default: depending on individual properties
26092
+ whiteList['border-top'] = true; // default: depending on individual properties
26093
+ whiteList['border-top-color'] = true; // default: current color
26094
+ whiteList['border-top-left-radius'] = true; // default: 0
26095
+ whiteList['border-top-right-radius'] = true; // default: 0
26096
+ whiteList['border-top-style'] = true; // default: none
26097
+ whiteList['border-top-width'] = true; // default: medium
26098
+ whiteList['border-width'] = true; // default: depending on individual properties
26099
+ whiteList['bottom'] = false; // default: auto
26100
+ whiteList['box-decoration-break'] = true; // default: slice
26101
+ whiteList['box-shadow'] = true; // default: none
26102
+ whiteList['box-sizing'] = true; // default: content-box
26103
+ whiteList['box-snap'] = true; // default: none
26104
+ whiteList['box-suppress'] = true; // default: show
26105
+ whiteList['break-after'] = true; // default: auto
26106
+ whiteList['break-before'] = true; // default: auto
26107
+ whiteList['break-inside'] = true; // default: auto
26108
+ whiteList['caption-side'] = false; // default: top
26109
+ whiteList['chains'] = false; // default: none
26110
+ whiteList['clear'] = true; // default: none
26111
+ whiteList['clip'] = false; // default: auto
26112
+ whiteList['clip-path'] = false; // default: none
26113
+ whiteList['clip-rule'] = false; // default: nonzero
26114
+ whiteList['color'] = true; // default: implementation dependent
26115
+ whiteList['color-interpolation-filters'] = true; // default: auto
26116
+ whiteList['column-count'] = false; // default: auto
26117
+ whiteList['column-fill'] = false; // default: balance
26118
+ whiteList['column-gap'] = false; // default: normal
26119
+ whiteList['column-rule'] = false; // default: depending on individual properties
26120
+ whiteList['column-rule-color'] = false; // default: current color
26121
+ whiteList['column-rule-style'] = false; // default: medium
26122
+ whiteList['column-rule-width'] = false; // default: medium
26123
+ whiteList['column-span'] = false; // default: none
26124
+ whiteList['column-width'] = false; // default: auto
26125
+ whiteList['columns'] = false; // default: depending on individual properties
26126
+ whiteList['contain'] = false; // default: none
26127
+ whiteList['content'] = false; // default: normal
26128
+ whiteList['counter-increment'] = false; // default: none
26129
+ whiteList['counter-reset'] = false; // default: none
26130
+ whiteList['counter-set'] = false; // default: none
26131
+ whiteList['crop'] = false; // default: auto
26132
+ whiteList['cue'] = false; // default: depending on individual properties
26133
+ whiteList['cue-after'] = false; // default: none
26134
+ whiteList['cue-before'] = false; // default: none
26135
+ whiteList['cursor'] = false; // default: auto
26136
+ whiteList['direction'] = false; // default: ltr
26137
+ whiteList['display'] = true; // default: depending on individual properties
26138
+ whiteList['display-inside'] = true; // default: auto
26139
+ whiteList['display-list'] = true; // default: none
26140
+ whiteList['display-outside'] = true; // default: inline-level
26141
+ whiteList['dominant-baseline'] = false; // default: auto
26142
+ whiteList['elevation'] = false; // default: level
26143
+ whiteList['empty-cells'] = false; // default: show
26144
+ whiteList['filter'] = false; // default: none
26145
+ whiteList['flex'] = false; // default: depending on individual properties
26146
+ whiteList['flex-basis'] = false; // default: auto
26147
+ whiteList['flex-direction'] = false; // default: row
26148
+ whiteList['flex-flow'] = false; // default: depending on individual properties
26149
+ whiteList['flex-grow'] = false; // default: 0
26150
+ whiteList['flex-shrink'] = false; // default: 1
26151
+ whiteList['flex-wrap'] = false; // default: nowrap
26152
+ whiteList['float'] = false; // default: none
26153
+ whiteList['float-offset'] = false; // default: 0 0
26154
+ whiteList['flood-color'] = false; // default: black
26155
+ whiteList['flood-opacity'] = false; // default: 1
26156
+ whiteList['flow-from'] = false; // default: none
26157
+ whiteList['flow-into'] = false; // default: none
26158
+ whiteList['font'] = true; // default: depending on individual properties
26159
+ whiteList['font-family'] = true; // default: implementation dependent
26160
+ whiteList['font-feature-settings'] = true; // default: normal
26161
+ whiteList['font-kerning'] = true; // default: auto
26162
+ whiteList['font-language-override'] = true; // default: normal
26163
+ whiteList['font-size'] = true; // default: medium
26164
+ whiteList['font-size-adjust'] = true; // default: none
26165
+ whiteList['font-stretch'] = true; // default: normal
26166
+ whiteList['font-style'] = true; // default: normal
26167
+ whiteList['font-synthesis'] = true; // default: weight style
26168
+ whiteList['font-variant'] = true; // default: normal
26169
+ whiteList['font-variant-alternates'] = true; // default: normal
26170
+ whiteList['font-variant-caps'] = true; // default: normal
26171
+ whiteList['font-variant-east-asian'] = true; // default: normal
26172
+ whiteList['font-variant-ligatures'] = true; // default: normal
26173
+ whiteList['font-variant-numeric'] = true; // default: normal
26174
+ whiteList['font-variant-position'] = true; // default: normal
26175
+ whiteList['font-weight'] = true; // default: normal
26176
+ whiteList['grid'] = false; // default: depending on individual properties
26177
+ whiteList['grid-area'] = false; // default: depending on individual properties
26178
+ whiteList['grid-auto-columns'] = false; // default: auto
26179
+ whiteList['grid-auto-flow'] = false; // default: none
26180
+ whiteList['grid-auto-rows'] = false; // default: auto
26181
+ whiteList['grid-column'] = false; // default: depending on individual properties
26182
+ whiteList['grid-column-end'] = false; // default: auto
26183
+ whiteList['grid-column-start'] = false; // default: auto
26184
+ whiteList['grid-row'] = false; // default: depending on individual properties
26185
+ whiteList['grid-row-end'] = false; // default: auto
26186
+ whiteList['grid-row-start'] = false; // default: auto
26187
+ whiteList['grid-template'] = false; // default: depending on individual properties
26188
+ whiteList['grid-template-areas'] = false; // default: none
26189
+ whiteList['grid-template-columns'] = false; // default: none
26190
+ whiteList['grid-template-rows'] = false; // default: none
26191
+ whiteList['hanging-punctuation'] = false; // default: none
26192
+ whiteList['height'] = true; // default: auto
26193
+ whiteList['hyphens'] = false; // default: manual
26194
+ whiteList['icon'] = false; // default: auto
26195
+ whiteList['image-orientation'] = false; // default: auto
26196
+ whiteList['image-resolution'] = false; // default: normal
26197
+ whiteList['ime-mode'] = false; // default: auto
26198
+ whiteList['initial-letters'] = false; // default: normal
26199
+ whiteList['inline-box-align'] = false; // default: last
26200
+ whiteList['justify-content'] = false; // default: auto
26201
+ whiteList['justify-items'] = false; // default: auto
26202
+ whiteList['justify-self'] = false; // default: auto
26203
+ whiteList['left'] = false; // default: auto
26204
+ whiteList['letter-spacing'] = true; // default: normal
26205
+ whiteList['lighting-color'] = true; // default: white
26206
+ whiteList['line-box-contain'] = false; // default: block inline replaced
26207
+ whiteList['line-break'] = false; // default: auto
26208
+ whiteList['line-grid'] = false; // default: match-parent
26209
+ whiteList['line-height'] = false; // default: normal
26210
+ whiteList['line-snap'] = false; // default: none
26211
+ whiteList['line-stacking'] = false; // default: depending on individual properties
26212
+ whiteList['line-stacking-ruby'] = false; // default: exclude-ruby
26213
+ whiteList['line-stacking-shift'] = false; // default: consider-shifts
26214
+ whiteList['line-stacking-strategy'] = false; // default: inline-line-height
26215
+ whiteList['list-style'] = true; // default: depending on individual properties
26216
+ whiteList['list-style-image'] = true; // default: none
26217
+ whiteList['list-style-position'] = true; // default: outside
26218
+ whiteList['list-style-type'] = true; // default: disc
26219
+ whiteList['margin'] = true; // default: depending on individual properties
26220
+ whiteList['margin-bottom'] = true; // default: 0
26221
+ whiteList['margin-left'] = true; // default: 0
26222
+ whiteList['margin-right'] = true; // default: 0
26223
+ whiteList['margin-top'] = true; // default: 0
26224
+ whiteList['marker-offset'] = false; // default: auto
26225
+ whiteList['marker-side'] = false; // default: list-item
26226
+ whiteList['marks'] = false; // default: none
26227
+ whiteList['mask'] = false; // default: border-box
26228
+ whiteList['mask-box'] = false; // default: see individual properties
26229
+ whiteList['mask-box-outset'] = false; // default: 0
26230
+ whiteList['mask-box-repeat'] = false; // default: stretch
26231
+ whiteList['mask-box-slice'] = false; // default: 0 fill
26232
+ whiteList['mask-box-source'] = false; // default: none
26233
+ whiteList['mask-box-width'] = false; // default: auto
26234
+ whiteList['mask-clip'] = false; // default: border-box
26235
+ whiteList['mask-image'] = false; // default: none
26236
+ whiteList['mask-origin'] = false; // default: border-box
26237
+ whiteList['mask-position'] = false; // default: center
26238
+ whiteList['mask-repeat'] = false; // default: no-repeat
26239
+ whiteList['mask-size'] = false; // default: border-box
26240
+ whiteList['mask-source-type'] = false; // default: auto
26241
+ whiteList['mask-type'] = false; // default: luminance
26242
+ whiteList['max-height'] = true; // default: none
26243
+ whiteList['max-lines'] = false; // default: none
26244
+ whiteList['max-width'] = true; // default: none
26245
+ whiteList['min-height'] = true; // default: 0
26246
+ whiteList['min-width'] = true; // default: 0
26247
+ whiteList['move-to'] = false; // default: normal
26248
+ whiteList['nav-down'] = false; // default: auto
26249
+ whiteList['nav-index'] = false; // default: auto
26250
+ whiteList['nav-left'] = false; // default: auto
26251
+ whiteList['nav-right'] = false; // default: auto
26252
+ whiteList['nav-up'] = false; // default: auto
26253
+ whiteList['object-fit'] = false; // default: fill
26254
+ whiteList['object-position'] = false; // default: 50% 50%
26255
+ whiteList['opacity'] = false; // default: 1
26256
+ whiteList['order'] = false; // default: 0
26257
+ whiteList['orphans'] = false; // default: 2
26258
+ whiteList['outline'] = false; // default: depending on individual properties
26259
+ whiteList['outline-color'] = false; // default: invert
26260
+ whiteList['outline-offset'] = false; // default: 0
26261
+ whiteList['outline-style'] = false; // default: none
26262
+ whiteList['outline-width'] = false; // default: medium
26263
+ whiteList['overflow'] = false; // default: depending on individual properties
26264
+ whiteList['overflow-wrap'] = false; // default: normal
26265
+ whiteList['overflow-x'] = false; // default: visible
26266
+ whiteList['overflow-y'] = false; // default: visible
26267
+ whiteList['padding'] = true; // default: depending on individual properties
26268
+ whiteList['padding-bottom'] = true; // default: 0
26269
+ whiteList['padding-left'] = true; // default: 0
26270
+ whiteList['padding-right'] = true; // default: 0
26271
+ whiteList['padding-top'] = true; // default: 0
26272
+ whiteList['page'] = false; // default: auto
26273
+ whiteList['page-break-after'] = false; // default: auto
26274
+ whiteList['page-break-before'] = false; // default: auto
26275
+ whiteList['page-break-inside'] = false; // default: auto
26276
+ whiteList['page-policy'] = false; // default: start
26277
+ whiteList['pause'] = false; // default: implementation dependent
26278
+ whiteList['pause-after'] = false; // default: implementation dependent
26279
+ whiteList['pause-before'] = false; // default: implementation dependent
26280
+ whiteList['perspective'] = false; // default: none
26281
+ whiteList['perspective-origin'] = false; // default: 50% 50%
26282
+ whiteList['pitch'] = false; // default: medium
26283
+ whiteList['pitch-range'] = false; // default: 50
26284
+ whiteList['play-during'] = false; // default: auto
26285
+ whiteList['position'] = false; // default: static
26286
+ whiteList['presentation-level'] = false; // default: 0
26287
+ whiteList['quotes'] = false; // default: text
26288
+ whiteList['region-fragment'] = false; // default: auto
26289
+ whiteList['resize'] = false; // default: none
26290
+ whiteList['rest'] = false; // default: depending on individual properties
26291
+ whiteList['rest-after'] = false; // default: none
26292
+ whiteList['rest-before'] = false; // default: none
26293
+ whiteList['richness'] = false; // default: 50
26294
+ whiteList['right'] = false; // default: auto
26295
+ whiteList['rotation'] = false; // default: 0
26296
+ whiteList['rotation-point'] = false; // default: 50% 50%
26297
+ whiteList['ruby-align'] = false; // default: auto
26298
+ whiteList['ruby-merge'] = false; // default: separate
26299
+ whiteList['ruby-position'] = false; // default: before
26300
+ whiteList['shape-image-threshold'] = false; // default: 0.0
26301
+ whiteList['shape-outside'] = false; // default: none
26302
+ whiteList['shape-margin'] = false; // default: 0
26303
+ whiteList['size'] = false; // default: auto
26304
+ whiteList['speak'] = false; // default: auto
26305
+ whiteList['speak-as'] = false; // default: normal
26306
+ whiteList['speak-header'] = false; // default: once
26307
+ whiteList['speak-numeral'] = false; // default: continuous
26308
+ whiteList['speak-punctuation'] = false; // default: none
26309
+ whiteList['speech-rate'] = false; // default: medium
26310
+ whiteList['stress'] = false; // default: 50
26311
+ whiteList['string-set'] = false; // default: none
26312
+ whiteList['tab-size'] = false; // default: 8
26313
+ whiteList['table-layout'] = false; // default: auto
26314
+ whiteList['text-align'] = true; // default: start
26315
+ whiteList['text-align-last'] = true; // default: auto
26316
+ whiteList['text-combine-upright'] = true; // default: none
26317
+ whiteList['text-decoration'] = true; // default: none
26318
+ whiteList['text-decoration-color'] = true; // default: currentColor
26319
+ whiteList['text-decoration-line'] = true; // default: none
26320
+ whiteList['text-decoration-skip'] = true; // default: objects
26321
+ whiteList['text-decoration-style'] = true; // default: solid
26322
+ whiteList['text-emphasis'] = true; // default: depending on individual properties
26323
+ whiteList['text-emphasis-color'] = true; // default: currentColor
26324
+ whiteList['text-emphasis-position'] = true; // default: over right
26325
+ whiteList['text-emphasis-style'] = true; // default: none
26326
+ whiteList['text-height'] = true; // default: auto
26327
+ whiteList['text-indent'] = true; // default: 0
26328
+ whiteList['text-justify'] = true; // default: auto
26329
+ whiteList['text-orientation'] = true; // default: mixed
26330
+ whiteList['text-overflow'] = true; // default: clip
26331
+ whiteList['text-shadow'] = true; // default: none
26332
+ whiteList['text-space-collapse'] = true; // default: collapse
26333
+ whiteList['text-transform'] = true; // default: none
26334
+ whiteList['text-underline-position'] = true; // default: auto
26335
+ whiteList['text-wrap'] = true; // default: normal
26336
+ whiteList['top'] = false; // default: auto
26337
+ whiteList['transform'] = false; // default: none
26338
+ whiteList['transform-origin'] = false; // default: 50% 50% 0
26339
+ whiteList['transform-style'] = false; // default: flat
26340
+ whiteList['transition'] = false; // default: depending on individual properties
26341
+ whiteList['transition-delay'] = false; // default: 0s
26342
+ whiteList['transition-duration'] = false; // default: 0s
26343
+ whiteList['transition-property'] = false; // default: all
26344
+ whiteList['transition-timing-function'] = false; // default: ease
26345
+ whiteList['unicode-bidi'] = false; // default: normal
26346
+ whiteList['vertical-align'] = false; // default: baseline
26347
+ whiteList['visibility'] = false; // default: visible
26348
+ whiteList['voice-balance'] = false; // default: center
26349
+ whiteList['voice-duration'] = false; // default: auto
26350
+ whiteList['voice-family'] = false; // default: implementation dependent
26351
+ whiteList['voice-pitch'] = false; // default: medium
26352
+ whiteList['voice-range'] = false; // default: medium
26353
+ whiteList['voice-rate'] = false; // default: normal
26354
+ whiteList['voice-stress'] = false; // default: normal
26355
+ whiteList['voice-volume'] = false; // default: medium
26356
+ whiteList['volume'] = false; // default: medium
26357
+ whiteList['white-space'] = false; // default: normal
26358
+ whiteList['widows'] = false; // default: 2
26359
+ whiteList['width'] = true; // default: auto
26360
+ whiteList['will-change'] = false; // default: auto
26361
+ whiteList['word-break'] = true; // default: normal
26362
+ whiteList['word-spacing'] = true; // default: normal
26363
+ whiteList['word-wrap'] = true; // default: normal
26364
+ whiteList['wrap-flow'] = false; // default: auto
26365
+ whiteList['wrap-through'] = false; // default: wrap
26366
+ whiteList['writing-mode'] = false; // default: horizontal-tb
26367
+ whiteList['z-index'] = false; // default: auto
26368
+
26369
+ return whiteList;
26370
+ }
26371
+
26372
+
26373
+ /**
26374
+ * 匹配到白名单上的一个属性时
26375
+ *
26376
+ * @param {String} name
26377
+ * @param {String} value
26378
+ * @param {Object} options
26379
+ * @return {String}
26380
+ */
26381
+ function onAttr (name, value, options) {
26382
+ // do nothing
26383
+ }
26384
+
26385
+ /**
26386
+ * 匹配到不在白名单上的一个属性时
26387
+ *
26388
+ * @param {String} name
26389
+ * @param {String} value
26390
+ * @param {Object} options
26391
+ * @return {String}
26392
+ */
26393
+ function onIgnoreAttr (name, value, options) {
26394
+ // do nothing
26395
+ }
26396
+
26397
+ var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/img;
26398
+
26399
+ /**
26400
+ * 过滤属性值
26401
+ *
26402
+ * @param {String} name
26403
+ * @param {String} value
26404
+ * @return {String}
26405
+ */
26406
+ function safeAttrValue$1(name, value) {
26407
+ if (REGEXP_URL_JAVASCRIPT.test(value)) return '';
26408
+ return value;
26409
+ }
26410
+
26411
+
26412
+ _default.whiteList = getDefaultWhiteList$1();
26413
+ _default.getDefaultWhiteList = getDefaultWhiteList$1;
26414
+ _default.onAttr = onAttr;
26415
+ _default.onIgnoreAttr = onIgnoreAttr;
26416
+ _default.safeAttrValue = safeAttrValue$1;
26417
+
26418
+ var util$1 = {
26419
+ indexOf: function (arr, item) {
26420
+ var i, j;
26421
+ if (Array.prototype.indexOf) {
26422
+ return arr.indexOf(item);
26423
+ }
26424
+ for (i = 0, j = arr.length; i < j; i++) {
26425
+ if (arr[i] === item) {
26426
+ return i;
26427
+ }
26428
+ }
26429
+ return -1;
26430
+ },
26431
+ forEach: function (arr, fn, scope) {
26432
+ var i, j;
26433
+ if (Array.prototype.forEach) {
26434
+ return arr.forEach(fn, scope);
26435
+ }
26436
+ for (i = 0, j = arr.length; i < j; i++) {
26437
+ fn.call(scope, arr[i], i, arr);
26438
+ }
26439
+ },
26440
+ trim: function (str) {
26441
+ if (String.prototype.trim) {
26442
+ return str.trim();
26443
+ }
26444
+ return str.replace(/(^\s*)|(\s*$)/g, '');
26445
+ },
26446
+ trimRight: function (str) {
26447
+ if (String.prototype.trimRight) {
26448
+ return str.trimRight();
26449
+ }
26450
+ return str.replace(/(\s*$)/g, '');
26451
+ }
26452
+ };
26453
+
26454
+ /**
26455
+ * cssfilter
26456
+ *
26457
+ * @author 老雷<leizongmin@gmail.com>
26458
+ */
26459
+
26460
+ var _$3 = util$1;
26461
+
26462
+
26463
+ /**
26464
+ * 解析style
26465
+ *
26466
+ * @param {String} css
26467
+ * @param {Function} onAttr 处理属性的函数
26468
+ * 参数格式: function (sourcePosition, position, name, value, source)
26469
+ * @return {String}
26470
+ */
26471
+ function parseStyle$1 (css, onAttr) {
26472
+ css = _$3.trimRight(css);
26473
+ if (css[css.length - 1] !== ';') css += ';';
26474
+ var cssLength = css.length;
26475
+ var isParenthesisOpen = false;
26476
+ var lastPos = 0;
26477
+ var i = 0;
26478
+ var retCSS = '';
26479
+
26480
+ function addNewAttr () {
26481
+ // 如果没有正常的闭合圆括号,则直接忽略当前属性
26482
+ if (!isParenthesisOpen) {
26483
+ var source = _$3.trim(css.slice(lastPos, i));
26484
+ var j = source.indexOf(':');
26485
+ if (j !== -1) {
26486
+ var name = _$3.trim(source.slice(0, j));
26487
+ var value = _$3.trim(source.slice(j + 1));
26488
+ // 必须有属性名称
26489
+ if (name) {
26490
+ var ret = onAttr(lastPos, retCSS.length, name, value, source);
26491
+ if (ret) retCSS += ret + '; ';
26492
+ }
26493
+ }
26494
+ }
26495
+ lastPos = i + 1;
26496
+ }
26497
+
26498
+ for (; i < cssLength; i++) {
26499
+ var c = css[i];
26500
+ if (c === '/' && css[i + 1] === '*') {
26501
+ // 备注开始
26502
+ var j = css.indexOf('*/', i + 2);
26503
+ // 如果没有正常的备注结束,则后面的部分全部跳过
26504
+ if (j === -1) break;
26505
+ // 直接将当前位置调到备注结尾,并且初始化状态
26506
+ i = j + 1;
26507
+ lastPos = i + 1;
26508
+ isParenthesisOpen = false;
26509
+ } else if (c === '(') {
26510
+ isParenthesisOpen = true;
26511
+ } else if (c === ')') {
26512
+ isParenthesisOpen = false;
26513
+ } else if (c === ';') {
26514
+ if (isParenthesisOpen) ; else {
26515
+ addNewAttr();
26516
+ }
26517
+ } else if (c === '\n') {
26518
+ addNewAttr();
26519
+ }
26520
+ }
26521
+
26522
+ return _$3.trim(retCSS);
26523
+ }
26524
+
26525
+ var parser$2 = parseStyle$1;
26526
+
26527
+ /**
26528
+ * cssfilter
26529
+ *
26530
+ * @author 老雷<leizongmin@gmail.com>
26531
+ */
26532
+
26533
+ var DEFAULT$1 = _default;
26534
+ var parseStyle = parser$2;
26535
+
26536
+
26537
+ /**
26538
+ * 返回值是否为空
26539
+ *
26540
+ * @param {Object} obj
26541
+ * @return {Boolean}
26542
+ */
26543
+ function isNull$1 (obj) {
26544
+ return (obj === undefined || obj === null);
26545
+ }
26546
+
26547
+ /**
26548
+ * 浅拷贝对象
26549
+ *
26550
+ * @param {Object} obj
26551
+ * @return {Object}
26552
+ */
26553
+ function shallowCopyObject$1 (obj) {
26554
+ var ret = {};
26555
+ for (var i in obj) {
26556
+ ret[i] = obj[i];
26557
+ }
26558
+ return ret;
26559
+ }
26560
+
26561
+ /**
26562
+ * 创建CSS过滤器
26563
+ *
26564
+ * @param {Object} options
26565
+ * - {Object} whiteList
26566
+ * - {Function} onAttr
26567
+ * - {Function} onIgnoreAttr
26568
+ * - {Function} safeAttrValue
26569
+ */
26570
+ function FilterCSS$2 (options) {
26571
+ options = shallowCopyObject$1(options || {});
26572
+ options.whiteList = options.whiteList || DEFAULT$1.whiteList;
26573
+ options.onAttr = options.onAttr || DEFAULT$1.onAttr;
26574
+ options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT$1.onIgnoreAttr;
26575
+ options.safeAttrValue = options.safeAttrValue || DEFAULT$1.safeAttrValue;
26576
+ this.options = options;
26577
+ }
26578
+
26579
+ FilterCSS$2.prototype.process = function (css) {
26580
+ // 兼容各种奇葩输入
26581
+ css = css || '';
26582
+ css = css.toString();
26583
+ if (!css) return '';
26584
+
26585
+ var me = this;
26586
+ var options = me.options;
26587
+ var whiteList = options.whiteList;
26588
+ var onAttr = options.onAttr;
26589
+ var onIgnoreAttr = options.onIgnoreAttr;
26590
+ var safeAttrValue = options.safeAttrValue;
26591
+
26592
+ var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {
26593
+
26594
+ var check = whiteList[name];
26595
+ var isWhite = false;
26596
+ if (check === true) isWhite = check;
26597
+ else if (typeof check === 'function') isWhite = check(value);
26598
+ else if (check instanceof RegExp) isWhite = check.test(value);
26599
+ if (isWhite !== true) isWhite = false;
26600
+
26601
+ // 如果过滤后 value 为空则直接忽略
26602
+ value = safeAttrValue(name, value);
26603
+ if (!value) return;
26604
+
26605
+ var opts = {
26606
+ position: position,
26607
+ sourcePosition: sourcePosition,
26608
+ source: source,
26609
+ isWhite: isWhite
26610
+ };
26611
+
26612
+ if (isWhite) {
26613
+
26614
+ var ret = onAttr(name, value, opts);
26615
+ if (isNull$1(ret)) {
26616
+ return name + ':' + value;
26617
+ } else {
26618
+ return ret;
26619
+ }
26620
+
26621
+ } else {
26622
+
26623
+ var ret = onIgnoreAttr(name, value, opts);
26624
+ if (!isNull$1(ret)) {
26625
+ return ret;
26626
+ }
26627
+
26628
+ }
26629
+ });
26630
+
26631
+ return retCSS;
26632
+ };
26633
+
26634
+
26635
+ var css = FilterCSS$2;
26636
+
26637
+ /**
26638
+ * cssfilter
26639
+ *
26640
+ * @author 老雷<leizongmin@gmail.com>
26641
+ */
26642
+
26643
+ (function (module, exports) {
26644
+ var DEFAULT = _default;
26645
+ var FilterCSS = css;
26646
+
26647
+
26648
+ /**
26649
+ * XSS过滤
26650
+ *
26651
+ * @param {String} css 要过滤的CSS代码
26652
+ * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr
26653
+ * @return {String}
26654
+ */
26655
+ function filterCSS (html, options) {
26656
+ var xss = new FilterCSS(options);
26657
+ return xss.process(html);
26658
+ }
26659
+
26660
+
26661
+ // 输出
26662
+ exports = module.exports = filterCSS;
26663
+ exports.FilterCSS = FilterCSS;
26664
+ for (var i in DEFAULT) exports[i] = DEFAULT[i];
26665
+ }(lib, lib.exports));
26666
+
26667
+ var util = {
26668
+ indexOf: function (arr, item) {
26669
+ var i, j;
26670
+ if (Array.prototype.indexOf) {
26671
+ return arr.indexOf(item);
26672
+ }
26673
+ for (i = 0, j = arr.length; i < j; i++) {
26674
+ if (arr[i] === item) {
26675
+ return i;
26676
+ }
26677
+ }
26678
+ return -1;
26679
+ },
26680
+ forEach: function (arr, fn, scope) {
26681
+ var i, j;
26682
+ if (Array.prototype.forEach) {
26683
+ return arr.forEach(fn, scope);
26684
+ }
26685
+ for (i = 0, j = arr.length; i < j; i++) {
26686
+ fn.call(scope, arr[i], i, arr);
26687
+ }
26688
+ },
26689
+ trim: function (str) {
26690
+ if (String.prototype.trim) {
26691
+ return str.trim();
26692
+ }
26693
+ return str.replace(/(^\s*)|(\s*$)/g, "");
26694
+ },
26695
+ spaceIndex: function (str) {
26696
+ var reg = /\s|\n|\t/;
26697
+ var match = reg.exec(str);
26698
+ return match ? match.index : -1;
26699
+ },
26700
+ };
26701
+
26702
+ /**
26703
+ * default settings
26704
+ *
26705
+ * @author Zongmin Lei<leizongmin@gmail.com>
26706
+ */
26707
+
26708
+ var FilterCSS$1 = lib.exports.FilterCSS;
26709
+ var getDefaultCSSWhiteList = lib.exports.getDefaultWhiteList;
26710
+ var _$2 = util;
26711
+
26712
+ function getDefaultWhiteList() {
26713
+ return {
26714
+ a: ["target", "href", "title"],
26715
+ abbr: ["title"],
26716
+ address: [],
26717
+ area: ["shape", "coords", "href", "alt"],
26718
+ article: [],
26719
+ aside: [],
26720
+ audio: [
26721
+ "autoplay",
26722
+ "controls",
26723
+ "crossorigin",
26724
+ "loop",
26725
+ "muted",
26726
+ "preload",
26727
+ "src",
26728
+ ],
26729
+ b: [],
26730
+ bdi: ["dir"],
26731
+ bdo: ["dir"],
26732
+ big: [],
26733
+ blockquote: ["cite"],
26734
+ br: [],
26735
+ caption: [],
26736
+ center: [],
26737
+ cite: [],
26738
+ code: [],
26739
+ col: ["align", "valign", "span", "width"],
26740
+ colgroup: ["align", "valign", "span", "width"],
26741
+ dd: [],
26742
+ del: ["datetime"],
26743
+ details: ["open"],
26744
+ div: [],
26745
+ dl: [],
26746
+ dt: [],
26747
+ em: [],
26748
+ figcaption: [],
26749
+ figure: [],
26750
+ font: ["color", "size", "face"],
26751
+ footer: [],
26752
+ h1: [],
26753
+ h2: [],
26754
+ h3: [],
26755
+ h4: [],
26756
+ h5: [],
26757
+ h6: [],
26758
+ header: [],
26759
+ hr: [],
26760
+ i: [],
26761
+ img: ["src", "alt", "title", "width", "height"],
26762
+ ins: ["datetime"],
26763
+ li: [],
26764
+ mark: [],
26765
+ nav: [],
26766
+ ol: [],
26767
+ p: [],
26768
+ pre: [],
26769
+ s: [],
26770
+ section: [],
26771
+ small: [],
26772
+ span: [],
26773
+ sub: [],
26774
+ summary: [],
26775
+ sup: [],
26776
+ strong: [],
26777
+ strike: [],
26778
+ table: ["width", "border", "align", "valign"],
26779
+ tbody: ["align", "valign"],
26780
+ td: ["width", "rowspan", "colspan", "align", "valign"],
26781
+ tfoot: ["align", "valign"],
26782
+ th: ["width", "rowspan", "colspan", "align", "valign"],
26783
+ thead: ["align", "valign"],
26784
+ tr: ["rowspan", "align", "valign"],
26785
+ tt: [],
26786
+ u: [],
26787
+ ul: [],
26788
+ video: [
26789
+ "autoplay",
26790
+ "controls",
26791
+ "crossorigin",
26792
+ "loop",
26793
+ "muted",
26794
+ "playsinline",
26795
+ "poster",
26796
+ "preload",
26797
+ "src",
26798
+ "height",
26799
+ "width",
26800
+ ],
26801
+ };
26802
+ }
26803
+
26804
+ var defaultCSSFilter = new FilterCSS$1();
26805
+
26806
+ /**
26807
+ * default onTag function
26808
+ *
26809
+ * @param {String} tag
26810
+ * @param {String} html
26811
+ * @param {Object} options
26812
+ * @return {String}
26813
+ */
26814
+ function onTag(tag, html, options) {
26815
+ // do nothing
26816
+ }
26817
+
26818
+ /**
26819
+ * default onIgnoreTag function
26820
+ *
26821
+ * @param {String} tag
26822
+ * @param {String} html
26823
+ * @param {Object} options
26824
+ * @return {String}
26825
+ */
26826
+ function onIgnoreTag(tag, html, options) {
26827
+ // do nothing
26828
+ }
26829
+
26830
+ /**
26831
+ * default onTagAttr function
26832
+ *
26833
+ * @param {String} tag
26834
+ * @param {String} name
26835
+ * @param {String} value
26836
+ * @return {String}
26837
+ */
26838
+ function onTagAttr(tag, name, value) {
26839
+ // do nothing
26840
+ }
26841
+
26842
+ /**
26843
+ * default onIgnoreTagAttr function
26844
+ *
26845
+ * @param {String} tag
26846
+ * @param {String} name
26847
+ * @param {String} value
26848
+ * @return {String}
26849
+ */
26850
+ function onIgnoreTagAttr(tag, name, value) {
26851
+ // do nothing
26852
+ }
26853
+
26854
+ /**
26855
+ * default escapeHtml function
26856
+ *
26857
+ * @param {String} html
26858
+ */
26859
+ function escapeHtml(html) {
26860
+ return html.replace(REGEXP_LT, "&lt;").replace(REGEXP_GT, "&gt;");
26861
+ }
26862
+
26863
+ /**
26864
+ * default safeAttrValue function
26865
+ *
26866
+ * @param {String} tag
26867
+ * @param {String} name
26868
+ * @param {String} value
26869
+ * @param {Object} cssFilter
26870
+ * @return {String}
26871
+ */
26872
+ function safeAttrValue(tag, name, value, cssFilter) {
26873
+ // unescape attribute value firstly
26874
+ value = friendlyAttrValue(value);
26875
+
26876
+ if (name === "href" || name === "src") {
26877
+ // filter `href` and `src` attribute
26878
+ // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`
26879
+ value = _$2.trim(value);
26880
+ if (value === "#") return "#";
26881
+ if (
26882
+ !(
26883
+ value.substr(0, 7) === "http://" ||
26884
+ value.substr(0, 8) === "https://" ||
26885
+ value.substr(0, 7) === "mailto:" ||
26886
+ value.substr(0, 4) === "tel:" ||
26887
+ value.substr(0, 11) === "data:image/" ||
26888
+ value.substr(0, 6) === "ftp://" ||
26889
+ value.substr(0, 2) === "./" ||
26890
+ value.substr(0, 3) === "../" ||
26891
+ value[0] === "#" ||
26892
+ value[0] === "/"
26893
+ )
26894
+ ) {
26895
+ return "";
26896
+ }
26897
+ } else if (name === "background") {
26898
+ // filter `background` attribute (maybe no use)
26899
+ // `javascript:`
26900
+ REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
26901
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
26902
+ return "";
26903
+ }
26904
+ } else if (name === "style") {
26905
+ // `expression()`
26906
+ REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;
26907
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {
26908
+ return "";
26909
+ }
26910
+ // `url()`
26911
+ REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;
26912
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {
26913
+ REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
26914
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
26915
+ return "";
26916
+ }
26917
+ }
26918
+ if (cssFilter !== false) {
26919
+ cssFilter = cssFilter || defaultCSSFilter;
26920
+ value = cssFilter.process(value);
26921
+ }
26922
+ }
26923
+
26924
+ // escape `<>"` before returns
26925
+ value = escapeAttrValue(value);
26926
+ return value;
26927
+ }
26928
+
26929
+ // RegExp list
26930
+ var REGEXP_LT = /</g;
26931
+ var REGEXP_GT = />/g;
26932
+ var REGEXP_QUOTE = /"/g;
26933
+ var REGEXP_QUOTE_2 = /&quot;/g;
26934
+ var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
26935
+ var REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;
26936
+ var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
26937
+ var REGEXP_DEFAULT_ON_TAG_ATTR_4 =
26938
+ /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi;
26939
+ var REGEXP_DEFAULT_ON_TAG_ATTR_7 =
26940
+ /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
26941
+ var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
26942
+
26943
+ /**
26944
+ * escape double quote
26945
+ *
26946
+ * @param {String} str
26947
+ * @return {String} str
26948
+ */
26949
+ function escapeQuote(str) {
26950
+ return str.replace(REGEXP_QUOTE, "&quot;");
26951
+ }
26952
+
26953
+ /**
26954
+ * unescape double quote
26955
+ *
26956
+ * @param {String} str
26957
+ * @return {String} str
26958
+ */
26959
+ function unescapeQuote(str) {
26960
+ return str.replace(REGEXP_QUOTE_2, '"');
26961
+ }
26962
+
26963
+ /**
26964
+ * escape html entities
26965
+ *
26966
+ * @param {String} str
26967
+ * @return {String}
26968
+ */
26969
+ function escapeHtmlEntities(str) {
26970
+ return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {
26971
+ return code[0] === "x" || code[0] === "X"
26972
+ ? String.fromCharCode(parseInt(code.substr(1), 16))
26973
+ : String.fromCharCode(parseInt(code, 10));
26974
+ });
26975
+ }
26976
+
26977
+ /**
26978
+ * escape html5 new danger entities
26979
+ *
26980
+ * @param {String} str
26981
+ * @return {String}
26982
+ */
26983
+ function escapeDangerHtml5Entities(str) {
26984
+ return str
26985
+ .replace(REGEXP_ATTR_VALUE_COLON, ":")
26986
+ .replace(REGEXP_ATTR_VALUE_NEWLINE, " ");
26987
+ }
26988
+
26989
+ /**
26990
+ * clear nonprintable characters
26991
+ *
26992
+ * @param {String} str
26993
+ * @return {String}
26994
+ */
26995
+ function clearNonPrintableCharacter(str) {
26996
+ var str2 = "";
26997
+ for (var i = 0, len = str.length; i < len; i++) {
26998
+ str2 += str.charCodeAt(i) < 32 ? " " : str.charAt(i);
26999
+ }
27000
+ return _$2.trim(str2);
27001
+ }
27002
+
27003
+ /**
27004
+ * get friendly attribute value
27005
+ *
27006
+ * @param {String} str
27007
+ * @return {String}
27008
+ */
27009
+ function friendlyAttrValue(str) {
27010
+ str = unescapeQuote(str);
27011
+ str = escapeHtmlEntities(str);
27012
+ str = escapeDangerHtml5Entities(str);
27013
+ str = clearNonPrintableCharacter(str);
27014
+ return str;
27015
+ }
27016
+
27017
+ /**
27018
+ * unescape attribute value
27019
+ *
27020
+ * @param {String} str
27021
+ * @return {String}
27022
+ */
27023
+ function escapeAttrValue(str) {
27024
+ str = escapeQuote(str);
27025
+ str = escapeHtml(str);
27026
+ return str;
27027
+ }
27028
+
27029
+ /**
27030
+ * `onIgnoreTag` function for removing all the tags that are not in whitelist
27031
+ */
27032
+ function onIgnoreTagStripAll() {
27033
+ return "";
27034
+ }
27035
+
27036
+ /**
27037
+ * remove tag body
27038
+ * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)
27039
+ *
27040
+ * @param {array} tags
27041
+ * @param {function} next
27042
+ */
27043
+ function StripTagBody(tags, next) {
27044
+ if (typeof next !== "function") {
27045
+ next = function () {};
27046
+ }
27047
+
27048
+ var isRemoveAllTag = !Array.isArray(tags);
27049
+ function isRemoveTag(tag) {
27050
+ if (isRemoveAllTag) return true;
27051
+ return _$2.indexOf(tags, tag) !== -1;
27052
+ }
27053
+
27054
+ var removeList = [];
27055
+ var posStart = false;
27056
+
27057
+ return {
27058
+ onIgnoreTag: function (tag, html, options) {
27059
+ if (isRemoveTag(tag)) {
27060
+ if (options.isClosing) {
27061
+ var ret = "[/removed]";
27062
+ var end = options.position + ret.length;
27063
+ removeList.push([
27064
+ posStart !== false ? posStart : options.position,
27065
+ end,
27066
+ ]);
27067
+ posStart = false;
27068
+ return ret;
27069
+ } else {
27070
+ if (!posStart) {
27071
+ posStart = options.position;
27072
+ }
27073
+ return "[removed]";
27074
+ }
27075
+ } else {
27076
+ return next(tag, html, options);
27077
+ }
27078
+ },
27079
+ remove: function (html) {
27080
+ var rethtml = "";
27081
+ var lastPos = 0;
27082
+ _$2.forEach(removeList, function (pos) {
27083
+ rethtml += html.slice(lastPos, pos[0]);
27084
+ lastPos = pos[1];
27085
+ });
27086
+ rethtml += html.slice(lastPos);
27087
+ return rethtml;
27088
+ },
27089
+ };
27090
+ }
27091
+
27092
+ /**
27093
+ * remove html comments
27094
+ *
27095
+ * @param {String} html
27096
+ * @return {String}
27097
+ */
27098
+ function stripCommentTag(html) {
27099
+ var retHtml = "";
27100
+ var lastPos = 0;
27101
+ while (lastPos < html.length) {
27102
+ var i = html.indexOf("<!--", lastPos);
27103
+ if (i === -1) {
27104
+ retHtml += html.slice(lastPos);
27105
+ break;
27106
+ }
27107
+ retHtml += html.slice(lastPos, i);
27108
+ var j = html.indexOf("-->", i);
27109
+ if (j === -1) {
27110
+ break;
27111
+ }
27112
+ lastPos = j + 3;
27113
+ }
27114
+ return retHtml;
27115
+ }
27116
+
27117
+ /**
27118
+ * remove invisible characters
27119
+ *
27120
+ * @param {String} html
27121
+ * @return {String}
27122
+ */
27123
+ function stripBlankChar(html) {
27124
+ var chars = html.split("");
27125
+ chars = chars.filter(function (char) {
27126
+ var c = char.charCodeAt(0);
27127
+ if (c === 127) return false;
27128
+ if (c <= 31) {
27129
+ if (c === 10 || c === 13) return true;
27130
+ return false;
27131
+ }
27132
+ return true;
27133
+ });
27134
+ return chars.join("");
27135
+ }
27136
+
27137
+ _default$1.whiteList = getDefaultWhiteList();
27138
+ _default$1.getDefaultWhiteList = getDefaultWhiteList;
27139
+ _default$1.onTag = onTag;
27140
+ _default$1.onIgnoreTag = onIgnoreTag;
27141
+ _default$1.onTagAttr = onTagAttr;
27142
+ _default$1.onIgnoreTagAttr = onIgnoreTagAttr;
27143
+ _default$1.safeAttrValue = safeAttrValue;
27144
+ _default$1.escapeHtml = escapeHtml;
27145
+ _default$1.escapeQuote = escapeQuote;
27146
+ _default$1.unescapeQuote = unescapeQuote;
27147
+ _default$1.escapeHtmlEntities = escapeHtmlEntities;
27148
+ _default$1.escapeDangerHtml5Entities = escapeDangerHtml5Entities;
27149
+ _default$1.clearNonPrintableCharacter = clearNonPrintableCharacter;
27150
+ _default$1.friendlyAttrValue = friendlyAttrValue;
27151
+ _default$1.escapeAttrValue = escapeAttrValue;
27152
+ _default$1.onIgnoreTagStripAll = onIgnoreTagStripAll;
27153
+ _default$1.StripTagBody = StripTagBody;
27154
+ _default$1.stripCommentTag = stripCommentTag;
27155
+ _default$1.stripBlankChar = stripBlankChar;
27156
+ _default$1.cssFilter = defaultCSSFilter;
27157
+ _default$1.getDefaultCSSWhiteList = getDefaultCSSWhiteList;
27158
+
27159
+ var parser$1 = {};
27160
+
27161
+ /**
27162
+ * Simple HTML Parser
27163
+ *
27164
+ * @author Zongmin Lei<leizongmin@gmail.com>
27165
+ */
27166
+
27167
+ var _$1 = util;
27168
+
27169
+ /**
27170
+ * get tag name
27171
+ *
27172
+ * @param {String} html e.g. '<a hef="#">'
27173
+ * @return {String}
27174
+ */
27175
+ function getTagName(html) {
27176
+ var i = _$1.spaceIndex(html);
27177
+ if (i === -1) {
27178
+ var tagName = html.slice(1, -1);
27179
+ } else {
27180
+ var tagName = html.slice(1, i + 1);
27181
+ }
27182
+ tagName = _$1.trim(tagName).toLowerCase();
27183
+ if (tagName.slice(0, 1) === "/") tagName = tagName.slice(1);
27184
+ if (tagName.slice(-1) === "/") tagName = tagName.slice(0, -1);
27185
+ return tagName;
27186
+ }
27187
+
27188
+ /**
27189
+ * is close tag?
27190
+ *
27191
+ * @param {String} html 如:'<a hef="#">'
27192
+ * @return {Boolean}
27193
+ */
27194
+ function isClosing(html) {
27195
+ return html.slice(0, 2) === "</";
27196
+ }
27197
+
27198
+ /**
27199
+ * parse input html and returns processed html
27200
+ *
27201
+ * @param {String} html
27202
+ * @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)
27203
+ * @param {Function} escapeHtml
27204
+ * @return {String}
27205
+ */
27206
+ function parseTag$1(html, onTag, escapeHtml) {
27207
+
27208
+ var rethtml = "";
27209
+ var lastPos = 0;
27210
+ var tagStart = false;
27211
+ var quoteStart = false;
27212
+ var currentPos = 0;
27213
+ var len = html.length;
27214
+ var currentTagName = "";
27215
+ var currentHtml = "";
27216
+
27217
+ chariterator: for (currentPos = 0; currentPos < len; currentPos++) {
27218
+ var c = html.charAt(currentPos);
27219
+ if (tagStart === false) {
27220
+ if (c === "<") {
27221
+ tagStart = currentPos;
27222
+ continue;
27223
+ }
27224
+ } else {
27225
+ if (quoteStart === false) {
27226
+ if (c === "<") {
27227
+ rethtml += escapeHtml(html.slice(lastPos, currentPos));
27228
+ tagStart = currentPos;
27229
+ lastPos = currentPos;
27230
+ continue;
27231
+ }
27232
+ if (c === ">") {
27233
+ rethtml += escapeHtml(html.slice(lastPos, tagStart));
27234
+ currentHtml = html.slice(tagStart, currentPos + 1);
27235
+ currentTagName = getTagName(currentHtml);
27236
+ rethtml += onTag(
27237
+ tagStart,
27238
+ rethtml.length,
27239
+ currentTagName,
27240
+ currentHtml,
27241
+ isClosing(currentHtml)
27242
+ );
27243
+ lastPos = currentPos + 1;
27244
+ tagStart = false;
27245
+ continue;
27246
+ }
27247
+ if (c === '"' || c === "'") {
27248
+ var i = 1;
27249
+ var ic = html.charAt(currentPos - i);
27250
+
27251
+ while (ic.trim() === "" || ic === "=") {
27252
+ if (ic === "=") {
27253
+ quoteStart = c;
27254
+ continue chariterator;
27255
+ }
27256
+ ic = html.charAt(currentPos - ++i);
27257
+ }
27258
+ }
27259
+ } else {
27260
+ if (c === quoteStart) {
27261
+ quoteStart = false;
27262
+ continue;
27263
+ }
27264
+ }
27265
+ }
27266
+ }
27267
+ if (lastPos < html.length) {
27268
+ rethtml += escapeHtml(html.substr(lastPos));
27269
+ }
27270
+
27271
+ return rethtml;
27272
+ }
27273
+
27274
+ var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\.\-]/gim;
27275
+
27276
+ /**
27277
+ * parse input attributes and returns processed attributes
27278
+ *
27279
+ * @param {String} html e.g. `href="#" target="_blank"`
27280
+ * @param {Function} onAttr e.g. `function (name, value)`
27281
+ * @return {String}
27282
+ */
27283
+ function parseAttr$1(html, onAttr) {
27284
+
27285
+ var lastPos = 0;
27286
+ var retAttrs = [];
27287
+ var tmpName = false;
27288
+ var len = html.length;
27289
+
27290
+ function addAttr(name, value) {
27291
+ name = _$1.trim(name);
27292
+ name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
27293
+ if (name.length < 1) return;
27294
+ var ret = onAttr(name, value || "");
27295
+ if (ret) retAttrs.push(ret);
27296
+ }
27297
+
27298
+ // 逐个分析字符
27299
+ for (var i = 0; i < len; i++) {
27300
+ var c = html.charAt(i);
27301
+ var v, j;
27302
+ if (tmpName === false && c === "=") {
27303
+ tmpName = html.slice(lastPos, i);
27304
+ lastPos = i + 1;
27305
+ continue;
27306
+ }
27307
+ if (tmpName !== false) {
27308
+ if (
27309
+ i === lastPos &&
27310
+ (c === '"' || c === "'") &&
27311
+ html.charAt(i - 1) === "="
27312
+ ) {
27313
+ j = html.indexOf(c, i + 1);
27314
+ if (j === -1) {
27315
+ break;
27316
+ } else {
27317
+ v = _$1.trim(html.slice(lastPos + 1, j));
27318
+ addAttr(tmpName, v);
27319
+ tmpName = false;
27320
+ i = j;
27321
+ lastPos = i + 1;
27322
+ continue;
27323
+ }
27324
+ }
27325
+ }
27326
+ if (/\s|\n|\t/.test(c)) {
27327
+ html = html.replace(/\s|\n|\t/g, " ");
27328
+ if (tmpName === false) {
27329
+ j = findNextEqual(html, i);
27330
+ if (j === -1) {
27331
+ v = _$1.trim(html.slice(lastPos, i));
27332
+ addAttr(v);
27333
+ tmpName = false;
27334
+ lastPos = i + 1;
27335
+ continue;
27336
+ } else {
27337
+ i = j - 1;
27338
+ continue;
27339
+ }
27340
+ } else {
27341
+ j = findBeforeEqual(html, i - 1);
27342
+ if (j === -1) {
27343
+ v = _$1.trim(html.slice(lastPos, i));
27344
+ v = stripQuoteWrap(v);
27345
+ addAttr(tmpName, v);
27346
+ tmpName = false;
27347
+ lastPos = i + 1;
27348
+ continue;
27349
+ } else {
27350
+ continue;
27351
+ }
27352
+ }
27353
+ }
27354
+ }
27355
+
27356
+ if (lastPos < html.length) {
27357
+ if (tmpName === false) {
27358
+ addAttr(html.slice(lastPos));
27359
+ } else {
27360
+ addAttr(tmpName, stripQuoteWrap(_$1.trim(html.slice(lastPos))));
27361
+ }
27362
+ }
27363
+
27364
+ return _$1.trim(retAttrs.join(" "));
27365
+ }
27366
+
27367
+ function findNextEqual(str, i) {
27368
+ for (; i < str.length; i++) {
27369
+ var c = str[i];
27370
+ if (c === " ") continue;
27371
+ if (c === "=") return i;
27372
+ return -1;
27373
+ }
27374
+ }
27375
+
27376
+ function findBeforeEqual(str, i) {
27377
+ for (; i > 0; i--) {
27378
+ var c = str[i];
27379
+ if (c === " ") continue;
27380
+ if (c === "=") return i;
27381
+ return -1;
27382
+ }
27383
+ }
27384
+
27385
+ function isQuoteWrapString(text) {
27386
+ if (
27387
+ (text[0] === '"' && text[text.length - 1] === '"') ||
27388
+ (text[0] === "'" && text[text.length - 1] === "'")
27389
+ ) {
27390
+ return true;
27391
+ } else {
27392
+ return false;
27393
+ }
27394
+ }
27395
+
27396
+ function stripQuoteWrap(text) {
27397
+ if (isQuoteWrapString(text)) {
27398
+ return text.substr(1, text.length - 2);
27399
+ } else {
27400
+ return text;
27401
+ }
27402
+ }
27403
+
27404
+ parser$1.parseTag = parseTag$1;
27405
+ parser$1.parseAttr = parseAttr$1;
27406
+
27407
+ /**
27408
+ * filter xss
27409
+ *
27410
+ * @author Zongmin Lei<leizongmin@gmail.com>
27411
+ */
27412
+
27413
+ var FilterCSS = lib.exports.FilterCSS;
27414
+ var DEFAULT = _default$1;
27415
+ var parser = parser$1;
27416
+ var parseTag = parser.parseTag;
27417
+ var parseAttr = parser.parseAttr;
27418
+ var _ = util;
27419
+
27420
+ /**
27421
+ * returns `true` if the input value is `undefined` or `null`
27422
+ *
27423
+ * @param {Object} obj
27424
+ * @return {Boolean}
27425
+ */
27426
+ function isNull(obj) {
27427
+ return obj === undefined || obj === null;
27428
+ }
27429
+
27430
+ /**
27431
+ * get attributes for a tag
27432
+ *
27433
+ * @param {String} html
27434
+ * @return {Object}
27435
+ * - {String} html
27436
+ * - {Boolean} closing
27437
+ */
27438
+ function getAttrs(html) {
27439
+ var i = _.spaceIndex(html);
27440
+ if (i === -1) {
27441
+ return {
27442
+ html: "",
27443
+ closing: html[html.length - 2] === "/",
27444
+ };
27445
+ }
27446
+ html = _.trim(html.slice(i + 1, -1));
27447
+ var isClosing = html[html.length - 1] === "/";
27448
+ if (isClosing) html = _.trim(html.slice(0, -1));
27449
+ return {
27450
+ html: html,
27451
+ closing: isClosing,
27452
+ };
27453
+ }
27454
+
27455
+ /**
27456
+ * shallow copy
27457
+ *
27458
+ * @param {Object} obj
27459
+ * @return {Object}
27460
+ */
27461
+ function shallowCopyObject(obj) {
27462
+ var ret = {};
27463
+ for (var i in obj) {
27464
+ ret[i] = obj[i];
27465
+ }
27466
+ return ret;
27467
+ }
27468
+
27469
+ /**
27470
+ * FilterXSS class
27471
+ *
27472
+ * @param {Object} options
27473
+ * whiteList, onTag, onTagAttr, onIgnoreTag,
27474
+ * onIgnoreTagAttr, safeAttrValue, escapeHtml
27475
+ * stripIgnoreTagBody, allowCommentTag, stripBlankChar
27476
+ * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`
27477
+ */
27478
+ function FilterXSS(options) {
27479
+ options = shallowCopyObject(options || {});
27480
+
27481
+ if (options.stripIgnoreTag) {
27482
+ if (options.onIgnoreTag) {
27483
+ console.error(
27484
+ 'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'
27485
+ );
27486
+ }
27487
+ options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;
27488
+ }
27489
+
27490
+ options.whiteList = options.whiteList || DEFAULT.whiteList;
27491
+ options.onTag = options.onTag || DEFAULT.onTag;
27492
+ options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;
27493
+ options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;
27494
+ options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;
27495
+ options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;
27496
+ options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;
27497
+ this.options = options;
27498
+
27499
+ if (options.css === false) {
27500
+ this.cssFilter = false;
27501
+ } else {
27502
+ options.css = options.css || {};
27503
+ this.cssFilter = new FilterCSS(options.css);
27504
+ }
27505
+ }
27506
+
27507
+ /**
27508
+ * start process and returns result
27509
+ *
27510
+ * @param {String} html
27511
+ * @return {String}
27512
+ */
27513
+ FilterXSS.prototype.process = function (html) {
27514
+ // compatible with the input
27515
+ html = html || "";
27516
+ html = html.toString();
27517
+ if (!html) return "";
27518
+
27519
+ var me = this;
27520
+ var options = me.options;
27521
+ var whiteList = options.whiteList;
27522
+ var onTag = options.onTag;
27523
+ var onIgnoreTag = options.onIgnoreTag;
27524
+ var onTagAttr = options.onTagAttr;
27525
+ var onIgnoreTagAttr = options.onIgnoreTagAttr;
27526
+ var safeAttrValue = options.safeAttrValue;
27527
+ var escapeHtml = options.escapeHtml;
27528
+ var cssFilter = me.cssFilter;
27529
+
27530
+ // remove invisible characters
27531
+ if (options.stripBlankChar) {
27532
+ html = DEFAULT.stripBlankChar(html);
27533
+ }
27534
+
27535
+ // remove html comments
27536
+ if (!options.allowCommentTag) {
27537
+ html = DEFAULT.stripCommentTag(html);
27538
+ }
27539
+
27540
+ // if enable stripIgnoreTagBody
27541
+ var stripIgnoreTagBody = false;
27542
+ if (options.stripIgnoreTagBody) {
27543
+ var stripIgnoreTagBody = DEFAULT.StripTagBody(
27544
+ options.stripIgnoreTagBody,
27545
+ onIgnoreTag
27546
+ );
27547
+ onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;
27548
+ }
27549
+
27550
+ var retHtml = parseTag(
27551
+ html,
27552
+ function (sourcePosition, position, tag, html, isClosing) {
27553
+ var info = {
27554
+ sourcePosition: sourcePosition,
27555
+ position: position,
27556
+ isClosing: isClosing,
27557
+ isWhite: whiteList.hasOwnProperty(tag),
27558
+ };
27559
+
27560
+ // call `onTag()`
27561
+ var ret = onTag(tag, html, info);
27562
+ if (!isNull(ret)) return ret;
27563
+
27564
+ if (info.isWhite) {
27565
+ if (info.isClosing) {
27566
+ return "</" + tag + ">";
27567
+ }
27568
+
27569
+ var attrs = getAttrs(html);
27570
+ var whiteAttrList = whiteList[tag];
27571
+ var attrsHtml = parseAttr(attrs.html, function (name, value) {
27572
+ // call `onTagAttr()`
27573
+ var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;
27574
+ var ret = onTagAttr(tag, name, value, isWhiteAttr);
27575
+ if (!isNull(ret)) return ret;
27576
+
27577
+ if (isWhiteAttr) {
27578
+ // call `safeAttrValue()`
27579
+ value = safeAttrValue(tag, name, value, cssFilter);
27580
+ if (value) {
27581
+ return name + '="' + value + '"';
27582
+ } else {
27583
+ return name;
27584
+ }
27585
+ } else {
27586
+ // call `onIgnoreTagAttr()`
27587
+ var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);
27588
+ if (!isNull(ret)) return ret;
27589
+ return;
27590
+ }
27591
+ });
27592
+
27593
+ // build new tag html
27594
+ var html = "<" + tag;
27595
+ if (attrsHtml) html += " " + attrsHtml;
27596
+ if (attrs.closing) html += " /";
27597
+ html += ">";
27598
+ return html;
27599
+ } else {
27600
+ // call `onIgnoreTag()`
27601
+ var ret = onIgnoreTag(tag, html, info);
27602
+ if (!isNull(ret)) return ret;
27603
+ return escapeHtml(html);
27604
+ }
27605
+ },
27606
+ escapeHtml
27607
+ );
27608
+
27609
+ // if enable stripIgnoreTagBody
27610
+ if (stripIgnoreTagBody) {
27611
+ retHtml = stripIgnoreTagBody.remove(retHtml);
27612
+ }
27613
+
27614
+ return retHtml;
27615
+ };
27616
+
27617
+ var xss = FilterXSS;
27618
+
27619
+ /**
27620
+ * xss
27621
+ *
27622
+ * @author Zongmin Lei<leizongmin@gmail.com>
27623
+ */
27624
+
27625
+ (function (module, exports) {
27626
+ var DEFAULT = _default$1;
27627
+ var parser = parser$1;
27628
+ var FilterXSS = xss;
27629
+
27630
+ /**
27631
+ * filter xss function
27632
+ *
27633
+ * @param {String} html
27634
+ * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }
27635
+ * @return {String}
27636
+ */
27637
+ function filterXSS(html, options) {
27638
+ var xss = new FilterXSS(options);
27639
+ return xss.process(html);
27640
+ }
27641
+
27642
+ exports = module.exports = filterXSS;
27643
+ exports.filterXSS = filterXSS;
27644
+ exports.FilterXSS = FilterXSS;
27645
+ for (var i in DEFAULT) exports[i] = DEFAULT[i];
27646
+ for (var i in parser) exports[i] = parser[i];
27647
+
27648
+ // using `xss` on the WebWorker, output `filterXSS` to the globals
27649
+ function isWorkerEnv() {
27650
+ return (
27651
+ typeof self !== "undefined" &&
27652
+ typeof DedicatedWorkerGlobalScope !== "undefined" &&
27653
+ self instanceof DedicatedWorkerGlobalScope
27654
+ );
27655
+ }
27656
+ if (isWorkerEnv()) {
27657
+ self.filterXSS = module.exports;
27658
+ }
27659
+ }(lib$1, lib$1.exports));
27660
+
25310
27661
  /** @license
25311
- * Copyright 2021 Esri
27662
+ * Copyright 2018 Esri
25312
27663
  *
25313
27664
  * Licensed under the Apache License, Version 2.0 (the "License");
25314
27665
  * you may not use this file except in compliance with the License.
@@ -25322,9 +27673,83 @@ onChange('models', () => {
25322
27673
  * See the License for the specific language governing permissions and
25323
27674
  * limitations under the License.
25324
27675
  */
25325
- /*
25326
- | Helper functions from solutions-common
25327
- */
27676
+ /**
27677
+ * Extracts JSON from a Blob.
27678
+ *
27679
+ * @param blob Blob to use as source
27680
+ * @return A promise that will resolve with JSON or null
27681
+ */
27682
+ function blobToJson(blob) {
27683
+ return new Promise(resolve => {
27684
+ blobToText(blob).then(blobContents => {
27685
+ try {
27686
+ resolve(JSON.parse(blobContents));
27687
+ }
27688
+ catch (err) {
27689
+ resolve(null);
27690
+ }
27691
+ }, () => resolve(null));
27692
+ });
27693
+ }
27694
+ /**
27695
+ * Extracts text from a Blob.
27696
+ *
27697
+ * @param blob Blob to use as source
27698
+ * @return A promise that will resolve with text read from blob
27699
+ */
27700
+ function blobToText(blob) {
27701
+ return new Promise(resolve => {
27702
+ const reader = new FileReader();
27703
+ reader.onload = function (evt) {
27704
+ // Disable needed because Node requires cast
27705
+ // tslint:disable-next-line: no-unnecessary-type-assertion
27706
+ const blobContents = evt.target.result;
27707
+ resolve(blobContents ? blobContents : ""); // not handling ArrayContents variant
27708
+ };
27709
+ reader.readAsText(blob);
27710
+ });
27711
+ }
27712
+ /**
27713
+ * Makes a deep clone, including arrays but not functions.
27714
+ *
27715
+ * @param obj Object to be cloned
27716
+ * @return Clone of obj
27717
+ * @example
27718
+ * ```js
27719
+ * import { cloneObject } from "utils/object-helpers";
27720
+ * const original = { foo: "bar" }
27721
+ * const copy = cloneObject(original)
27722
+ * copy.foo // "bar"
27723
+ * copy === original // false
27724
+ * ```
27725
+ */
27726
+ function cloneObject(obj) {
27727
+ let clone = {};
27728
+ // first check array
27729
+ if (Array.isArray(obj)) {
27730
+ clone = obj.map(cloneObject);
27731
+ }
27732
+ else if (typeof obj === "object") {
27733
+ if (obj instanceof File) {
27734
+ const fileOptions = obj.type ? { type: obj.type } : undefined;
27735
+ clone = new File([obj], obj.name, fileOptions);
27736
+ }
27737
+ else {
27738
+ for (const i in obj) {
27739
+ if (obj[i] != null && typeof obj[i] === "object") {
27740
+ clone[i] = cloneObject(obj[i]);
27741
+ }
27742
+ else {
27743
+ clone[i] = obj[i];
27744
+ }
27745
+ }
27746
+ }
27747
+ }
27748
+ else {
27749
+ clone = obj;
27750
+ }
27751
+ return clone;
27752
+ }
25328
27753
  /**
25329
27754
  * Gets a property out of a deeply nested object.
25330
27755
  * Does not handle anything but nested object graph
@@ -25335,20 +27760,384 @@ onChange('models', () => {
25335
27760
  * @return Value at end of path
25336
27761
  */
25337
27762
  function getProp(obj, path) {
25338
- return path.split(".").reduce(function (prev, curr) {
25339
- /* istanbul ignore next no need to test undefined scenario */
25340
- return prev ? prev[curr] : undefined;
25341
- }, obj);
27763
+ return path.split(".").reduce(function (prev, curr) {
27764
+ /* istanbul ignore next no need to test undefined scenario */
27765
+ return prev ? prev[curr] : undefined;
27766
+ }, obj);
25342
27767
  }
25343
27768
  /**
25344
- * Get an array from a list of nodes
27769
+ * Sets a deeply nested property of an object.
27770
+ * Creates the full path if it does not exist.
25345
27771
  *
25346
- * @param nodeList list of nodes
27772
+ * @param obj Object to set value of
27773
+ * @param path Path into an object, e.g., "data.values.webmap", where "data" is a top-level property in obj
27774
+ * @param value The value to set at the end of the path
25347
27775
  */
25348
- function nodeListToArray(nodeList) {
25349
- return Array.isArray(nodeList) ? nodeList : Array.from(nodeList);
27776
+ function setCreateProp(obj, path, value) {
27777
+ const pathParts = path.split(".");
27778
+ pathParts.reduce((a, b, c) => {
27779
+ if (c === pathParts.length - 1) {
27780
+ a[b] = value;
27781
+ return value;
27782
+ }
27783
+ else {
27784
+ if (!a[b]) {
27785
+ a[b] = {};
27786
+ }
27787
+ return a[b];
27788
+ }
27789
+ }, obj);
27790
+ }
27791
+ /**
27792
+ * Sets a deeply nested property of an object.
27793
+ * Does nothing if the full path does not exist.
27794
+ *
27795
+ * @param obj Object to set value of
27796
+ * @param path Path into an object, e.g., "data.values.webmap", where "data" is a top-level property in obj
27797
+ * @param value The value to set at the end of the path
27798
+ */
27799
+ function setProp(obj, path, value) {
27800
+ if (getProp(obj, path)) {
27801
+ const pathParts = path.split(".");
27802
+ pathParts.reduce((a, b, c) => {
27803
+ if (c === pathParts.length - 1) {
27804
+ a[b] = value;
27805
+ return value;
27806
+ }
27807
+ else {
27808
+ return a[b];
27809
+ }
27810
+ }, obj);
27811
+ }
27812
+ }
27813
+
27814
+ /**
27815
+ * Gets a Blob from a web site.
27816
+ *
27817
+ * @param url Address of Blob
27818
+ * @param authentication Credentials for the request
27819
+ * @param requestOptions - Options for the request, including parameters relevant to the endpoint.
27820
+ * @return Promise that will resolve with Blob or an AGO-style JSON failure response
27821
+ */
27822
+ function getBlob(url, authentication, requestOptions = {}) {
27823
+ if (!url) {
27824
+ return Promise.reject("Url must be provided");
27825
+ }
27826
+ const blobRequestOptions = {
27827
+ authentication: authentication,
27828
+ rawResponse: true,
27829
+ ...requestOptions
27830
+ };
27831
+ return request(url, blobRequestOptions).then(response => {
27832
+ return response.blob();
27833
+ });
27834
+ }
27835
+
27836
+ /** @license
27837
+ * Copyright 2018 Esri
27838
+ *
27839
+ * Licensed under the Apache License, Version 2.0 (the "License");
27840
+ * you may not use this file except in compliance with the License.
27841
+ * You may obtain a copy of the License at
27842
+ *
27843
+ * http://www.apache.org/licenses/LICENSE-2.0
27844
+ *
27845
+ * Unless required by applicable law or agreed to in writing, software
27846
+ * distributed under the License is distributed on an "AS IS" BASIS,
27847
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27848
+ * See the License for the specific language governing permissions and
27849
+ * limitations under the License.
27850
+ */
27851
+ // ------------------------------------------------------------------------------------------------------------------ //
27852
+ const ZIP_FILE_HEADER_SIGNATURE = "PK";
27853
+ /**
27854
+ * Gets a Blob from a web site and checks for a JSON error packet in the Blob.
27855
+ *
27856
+ * @param url Address of Blob
27857
+ * @param authentication Credentials for the request
27858
+ * @param ignoreErrors List of HTTP error codes that should be ignored
27859
+ * @return Promise that will resolve with Blob or an AGO-REST JSON failure response
27860
+ */
27861
+ function getBlobCheckForError(url, authentication, ignoreErrors = []) {
27862
+ return new Promise((resolve, reject) => {
27863
+ // Get the blob from the URL
27864
+ getBlob(url, authentication).then(blob => {
27865
+ // Reclassify text/plain blobs as needed
27866
+ _fixTextBlobType(blob).then(adjustedBlob => {
27867
+ if (adjustedBlob.type === "application/json") {
27868
+ // Blob may be an error
27869
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
27870
+ blobToJson(adjustedBlob).then((json) => {
27871
+ // Check for valid JSON with an error
27872
+ if (json?.error) {
27873
+ const code = json.error.code;
27874
+ if (code !== undefined && ignoreErrors.indexOf(code) >= 0) {
27875
+ resolve(null); // Error, but ignored
27876
+ }
27877
+ else {
27878
+ reject(json); // Other error; fail with error
27879
+ }
27880
+ }
27881
+ else {
27882
+ resolve(adjustedBlob);
27883
+ }
27884
+ });
27885
+ }
27886
+ else {
27887
+ resolve(adjustedBlob);
27888
+ }
27889
+ }, reject);
27890
+ }, reject);
27891
+ });
27892
+ }
27893
+ /**
27894
+ * Gets the data information of an AGO item in its JSON form.
27895
+ *
27896
+ * @param itemId Id of an item whose data information is sought
27897
+ * @param filename Name to use for file
27898
+ * @param authentication Credentials for the request to AGO
27899
+ * @return Promise that will resolve with JSON, or an AGO-style JSON failure response
27900
+ */
27901
+ function getItemDataAsJson(itemId, authentication) {
27902
+ return new Promise(resolve => {
27903
+ getItemDataBlob(itemId, authentication).then(blob => resolve(blobToJson(blob)), () => resolve(null));
27904
+ });
27905
+ }
27906
+ /**
27907
+ * Gets the data information of an AGO item in its raw (Blob) form.
27908
+ *
27909
+ * @param itemId Id of an item whose data information is sought
27910
+ * @param authentication Credentials for the request to AGO
27911
+ * @return A promise that will resolve with the data Blob or null if the item doesn't have a data section
27912
+ */
27913
+ function getItemDataBlob(itemId, authentication) {
27914
+ return new Promise(resolve => {
27915
+ const url = getItemDataBlobUrl(itemId, authentication);
27916
+ getBlobCheckForError(url, authentication, [400, 500]).then(blob => resolve(_fixTextBlobType(blob)), () => resolve(null));
27917
+ });
27918
+ }
27919
+ /**
27920
+ * Gets the URL to the data information of an AGO item in its raw (Blob) form.
27921
+ *
27922
+ * @param itemId Id of an item whose data information is sought
27923
+ * @param authentication Credentials for the request to AGO
27924
+ * @return URL string
27925
+ */
27926
+ function getItemDataBlobUrl(itemId, authentication) {
27927
+ return `${getPortalSharingUrlFromAuth(authentication)}/content/items/${itemId}/data`;
27928
+ }
27929
+ /**
27930
+ * Extracts the portal sharing url from a supplied authentication.
27931
+ *
27932
+ * @param authentication Credentials for the request to AGO
27933
+ * @returns Portal sharing url to be used in API requests, defaulting to `https://www.arcgis.com/sharing/rest`
27934
+ */
27935
+ function getPortalSharingUrlFromAuth(authentication) {
27936
+ // If auth was passed, use that portal
27937
+ return getProp(authentication, "portal");
27938
+ }
27939
+ // ------------------------------------------------------------------------------------------------------------------ //
27940
+ /**
27941
+ * Fixes the types of Blobs incorrectly typed as text/plain.
27942
+ *
27943
+ * @param blob Blob to check
27944
+ * @return Promise resolving to original Blob, unless it's originally typed as text/plain but is
27945
+ * really JSON, ZIP, or XML
27946
+ * @protected
27947
+ */
27948
+ function _fixTextBlobType(blob) {
27949
+ return new Promise((resolve, reject) => {
27950
+ if (blob &&
27951
+ blob.size > 0 &&
27952
+ (blob.type.startsWith("text/plain") ||
27953
+ blob.type.startsWith("application/json"))) {
27954
+ blobToText(blob).then(blobText => {
27955
+ // Convertible to JSON?
27956
+ try {
27957
+ JSON.parse(blobText);
27958
+ // Yes; reclassify as JSON
27959
+ resolve(new Blob([blob], { type: "application/json" }));
27960
+ }
27961
+ catch (ignored) {
27962
+ // Nope; test for ZIP file
27963
+ if (blobText.length > 4 &&
27964
+ blobText.substr(0, 4) === ZIP_FILE_HEADER_SIGNATURE) {
27965
+ // Yes; reclassify as ZIP
27966
+ resolve(new Blob([blob], { type: "application/zip" }));
27967
+ }
27968
+ else if (blobText.startsWith("<")) {
27969
+ // Reclassify as XML; since the blob started out as text/plain, it's more likely that is
27970
+ // meant to be human-readable, so we'll use text/xml instead of application/xml
27971
+ resolve(new Blob([blob], { type: "text/xml" }));
27972
+ }
27973
+ else {
27974
+ // Leave as text
27975
+ resolve(blob);
27976
+ }
27977
+ }
27978
+ },
27979
+ // Faulty blob
27980
+ reject);
27981
+ }
27982
+ else {
27983
+ // Empty or not typed as plain text, so simply return
27984
+ if (blob) {
27985
+ resolve(blob);
27986
+ }
27987
+ else {
27988
+ reject();
27989
+ }
27990
+ }
27991
+ });
25350
27992
  }
25351
27993
 
27994
+ /** @license
27995
+ * Copyright 2018 Esri
27996
+ *
27997
+ * Licensed under the Apache License, Version 2.0 (the "License");
27998
+ * you may not use this file except in compliance with the License.
27999
+ * You may obtain a copy of the License at
28000
+ *
28001
+ * http://www.apache.org/licenses/LICENSE-2.0
28002
+ *
28003
+ * Unless required by applicable law or agreed to in writing, software
28004
+ * distributed under the License is distributed on an "AS IS" BASIS,
28005
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28006
+ * See the License for the specific language governing permissions and
28007
+ * limitations under the License.
28008
+ */
28009
+ /**
28010
+ * Updates an item.
28011
+ *
28012
+ * @param itemInfo The base info of an item; note that this content will be serialized, which doesn't work
28013
+ * for binary content
28014
+ * @param authentication Credentials for request
28015
+ * @param folderId Item's folder
28016
+ * @param additionalParams Updates that are put under the `params` property, which is not serialized
28017
+ * @return
28018
+ */
28019
+ function updateItem(itemInfo, authentication, folderId, additionalParams) {
28020
+ return new Promise((resolve, reject) => {
28021
+ const updateOptions = {
28022
+ item: itemInfo,
28023
+ folderId: folderId,
28024
+ authentication: authentication,
28025
+ params: {
28026
+ ...(additionalParams ?? {})
28027
+ }
28028
+ };
28029
+ updateItem$1(updateOptions).then(response => (response.success ? resolve(response) : reject(response)), err => reject(err));
28030
+ });
28031
+ }
28032
+
28033
+ /** @license
28034
+ * Copyright 2018 Esri
28035
+ *
28036
+ * Licensed under the Apache License, Version 2.0 (the "License");
28037
+ * you may not use this file except in compliance with the License.
28038
+ * You may obtain a copy of the License at
28039
+ *
28040
+ * http://www.apache.org/licenses/LICENSE-2.0
28041
+ *
28042
+ * Unless required by applicable law or agreed to in writing, software
28043
+ * distributed under the License is distributed on an "AS IS" BASIS,
28044
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28045
+ * See the License for the specific language governing permissions and
28046
+ * limitations under the License.
28047
+ */
28048
+ /**
28049
+ * A visit flag used in the topological sort algorithm.
28050
+ *
28051
+ * @protected
28052
+ */
28053
+ var ESortVisitState;
28054
+ (function (ESortVisitState) {
28055
+ /** not yet visited */
28056
+ ESortVisitState[ESortVisitState["NotYetVisited"] = 0] = "NotYetVisited";
28057
+ /** visited, in progress */
28058
+ ESortVisitState[ESortVisitState["InProgress"] = 1] = "InProgress";
28059
+ /** finished */
28060
+ ESortVisitState[ESortVisitState["Finished"] = 2] = "Finished"; // BLACK
28061
+ })(ESortVisitState || (ESortVisitState = {}));
28062
+
28063
+ /** @license
28064
+ * Copyright 2018 Esri
28065
+ *
28066
+ * Licensed under the Apache License, Version 2.0 (the "License");
28067
+ * you may not use this file except in compliance with the License.
28068
+ * You may obtain a copy of the License at
28069
+ *
28070
+ * http://www.apache.org/licenses/LICENSE-2.0
28071
+ *
28072
+ * Unless required by applicable law or agreed to in writing, software
28073
+ * distributed under the License is distributed on an "AS IS" BASIS,
28074
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28075
+ * See the License for the specific language governing permissions and
28076
+ * limitations under the License.
28077
+ */
28078
+ //#region Enums ------------------------------------------------------------------------------------------------------//
28079
+ /**
28080
+ * Flag for storing an item's binary resources.
28081
+ */
28082
+ var EFileType;
28083
+ (function (EFileType) {
28084
+ EFileType[EFileType["Data"] = 0] = "Data";
28085
+ EFileType[EFileType["Info"] = 1] = "Info";
28086
+ EFileType[EFileType["Metadata"] = 2] = "Metadata";
28087
+ EFileType[EFileType["Resource"] = 3] = "Resource";
28088
+ EFileType[EFileType["Thumbnail"] = 4] = "Thumbnail";
28089
+ })(EFileType || (EFileType = {}));
28090
+ var SFileType;
28091
+ (function (SFileType) {
28092
+ SFileType[SFileType["Data"] = 0] = "Data";
28093
+ SFileType[SFileType["Info"] = 1] = "Info";
28094
+ SFileType[SFileType["Metadata"] = 2] = "Metadata";
28095
+ SFileType[SFileType["Resource"] = 3] = "Resource";
28096
+ SFileType[SFileType["Thumbnail"] = 4] = "Thumbnail";
28097
+ })(SFileType || (SFileType = {}));
28098
+ /**
28099
+ * Flags for reporting the status of creating or deploying an item.
28100
+ */
28101
+ var EItemProgressStatus;
28102
+ (function (EItemProgressStatus) {
28103
+ EItemProgressStatus[EItemProgressStatus["Started"] = 0] = "Started";
28104
+ EItemProgressStatus[EItemProgressStatus["Created"] = 1] = "Created";
28105
+ EItemProgressStatus[EItemProgressStatus["Cancelled"] = 2] = "Cancelled";
28106
+ EItemProgressStatus[EItemProgressStatus["Finished"] = 3] = "Finished";
28107
+ EItemProgressStatus[EItemProgressStatus["Ignored"] = 4] = "Ignored";
28108
+ EItemProgressStatus[EItemProgressStatus["Failed"] = 5] = "Failed";
28109
+ EItemProgressStatus[EItemProgressStatus["Unknown"] = 6] = "Unknown";
28110
+ })(EItemProgressStatus || (EItemProgressStatus = {}));
28111
+ //#endregion ---------------------------------------------------------------------------------------------------------//
28112
+
28113
+ /** @license
28114
+ * Copyright 2020 Esri
28115
+ *
28116
+ * Licensed under the Apache License, Version 2.0 (the "License");
28117
+ * you may not use this file except in compliance with the License.
28118
+ * You may obtain a copy of the License at
28119
+ *
28120
+ * http://www.apache.org/licenses/LICENSE-2.0
28121
+ *
28122
+ * Unless required by applicable law or agreed to in writing, software
28123
+ * distributed under the License is distributed on an "AS IS" BASIS,
28124
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28125
+ * See the License for the specific language governing permissions and
28126
+ * limitations under the License.
28127
+ */
28128
+ /**
28129
+ * Denotes type information for a SolutionResource
28130
+ */
28131
+ var SolutionResourceType;
28132
+ (function (SolutionResourceType) {
28133
+ SolutionResourceType[SolutionResourceType["thumbnail"] = 0] = "thumbnail";
28134
+ SolutionResourceType[SolutionResourceType["metadata"] = 1] = "metadata";
28135
+ SolutionResourceType[SolutionResourceType["resource"] = 2] = "resource";
28136
+ SolutionResourceType[SolutionResourceType["data"] = 3] = "data";
28137
+ SolutionResourceType[SolutionResourceType["fakezip"] = 4] = "fakezip";
28138
+ SolutionResourceType[SolutionResourceType["info"] = 5] = "info";
28139
+ })(SolutionResourceType || (SolutionResourceType = {}));
28140
+
25352
28141
  const jsonEditorCss = ":host{display:block}.editor-container{position:relative;height:100%}.editor-controls{height:44px;background-color:#F4F4F4}.editor-buttons{float:right}html[dir=\"rtl\"] .editor-buttons{float:left;padding-right:.25rem}.edit-button{padding:.25rem 0 0 .5rem}html[dir=\"rtl\"] .edit-button{padding:.25rem .5rem 0 0}.editor-text{overflow-y:auto;background-color:white;width:100%}.edit-width{width:100%}.edit-parent{width:100%;height:calc(100% - 46px);box-sizing:border-box}.json-edit-container{width:100%;height:100%;border:1px solid grey}.padding-right{padding-right:2px}html[dir=\"rtl\"] .padding-right{padding-left:2px}.btn-container{width:20%;height:calc(100vh - 16px);margin:0px;padding:0px;float:right}.btn{height:25px;width:120px;display:flex;margin-bottom:1rem;justify-content:center}.select-ctrl{margin-bottom:1rem}.all-edits{margin-top:4rem}.not-visible{display:none}.json-editor-position{position:absolute;left:0;top:0;width:100%;height:100%;max-height:100% !important;margin:0;padding:0;overflow:hidden}";
25353
28142
 
25354
28143
  let JsonEditor$1 = class extends HTMLElement$1 {
@@ -25456,6 +28245,11 @@ let JsonEditor$1 = class extends HTMLElement$1 {
25456
28245
  this._saveCurrentModel(this.value);
25457
28246
  }
25458
28247
  }
28248
+ featureServiceSpatialReferenceChange(event) {
28249
+ if (this.instanceid === "props" && state.models[this.value].title === event.detail.name) {
28250
+ this._setFeatureServiceWkid(event.detail.enabled);
28251
+ }
28252
+ }
25459
28253
  //--------------------------------------------------------------------------
25460
28254
  //
25461
28255
  // Events
@@ -25786,6 +28580,34 @@ let JsonEditor$1 = class extends HTMLElement$1 {
25786
28580
  const srEnabled = getProp(state, 'spatialReferenceInfo.enabled');
25787
28581
  return (serviceActive && srEnabled && !this._isData()) ? m.propsDiffOriginValue : this.original;
25788
28582
  }
28583
+ /**
28584
+ * Update the current feature service models wkid
28585
+ *
28586
+ * This functions responds to events fired from the spatial reference control.
28587
+ *
28588
+ * @param enabled does the given service support the wkid variable (true) or the current wkid (false)
28589
+ *
28590
+ * @protected
28591
+ */
28592
+ _setFeatureServiceWkid(enabled) {
28593
+ const editor = this._getEditor();
28594
+ const m = editor.getModel();
28595
+ const model = this._useDiffEditor ? m.modified : m;
28596
+ const matches = model.findMatches(/["]wkid["].*[,]/, false, true, true, null, true);
28597
+ if (matches.length > 0) {
28598
+ const range = matches[0].range;
28599
+ const currentText = model.getValueInRange(range);
28600
+ const endsWith = currentText.indexOf(",") > -1 ? "," : "";
28601
+ const wkid = /[0-9]+/.exec(currentText);
28602
+ const wkidVar = enabled ? `"{{params.wkid||${wkid}}}"` : wkid;
28603
+ const text = `"wkid": ${wkidVar}${endsWith}`;
28604
+ model.pushEditOperations([], [{
28605
+ forceMoveMarkers: true,
28606
+ text,
28607
+ range
28608
+ }]);
28609
+ }
28610
+ }
25789
28611
  static get assetsDirs() { return ["assets"]; }
25790
28612
  get el() { return this; }
25791
28613
  static get style() { return jsonEditorCss; }
@@ -25925,20 +28747,22 @@ function getFeatureServices(templates) {
25925
28747
  if (cur.type === "Feature Service" &&
25926
28748
  cur.item.typeKeywords.indexOf("View Service") < 0 &&
25927
28749
  prev.indexOf(name) < 0) {
25928
- prev.push(name);
28750
+ const wkid = getProp(cur, "properties.service.spatialReference.wkid");
28751
+ prev.push({ name, enabled: wkid.toString().startsWith("{{params.wkid||") });
25929
28752
  }
25930
28753
  return prev;
25931
28754
  }, []);
25932
28755
  }
25933
- function getSpatialReferenceInfo(services) {
28756
+ function getSpatialReferenceInfo(services, data) {
25934
28757
  const defaultServices = {};
25935
28758
  services.forEach(service => {
25936
- defaultServices[service] = true;
28759
+ defaultServices[service.name] = service.enabled;
25937
28760
  });
28761
+ const wkid = getProp(data, "params.wkid.default");
25938
28762
  return {
25939
- enabled: false,
28763
+ enabled: wkid !== undefined && wkid !== "",
25940
28764
  services: defaultServices,
25941
- spatialReference: undefined
28765
+ spatialReference: wkid ? { wkid } : undefined
25942
28766
  };
25943
28767
  }
25944
28768
  function _getItemFromTemplate(t, templates) {
@@ -26013,6 +28837,54 @@ function _getTopLevelItemIds(templates) {
26013
28837
  return topLevelItemCandidateIds;
26014
28838
  }
26015
28839
 
28840
+ /** @license
28841
+ * Copyright 2021 Esri
28842
+ *
28843
+ * Licensed under the Apache License, Version 2.0 (the "License");
28844
+ * you may not use this file except in compliance with the License.
28845
+ * You may obtain a copy of the License at
28846
+ *
28847
+ * http://www.apache.org/licenses/LICENSE-2.0
28848
+ *
28849
+ * Unless required by applicable law or agreed to in writing, software
28850
+ * distributed under the License is distributed on an "AS IS" BASIS,
28851
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28852
+ * See the License for the specific language governing permissions and
28853
+ * limitations under the License.
28854
+ */
28855
+ /**
28856
+ * Get an array from a list of nodes
28857
+ *
28858
+ * @param nodeList list of nodes
28859
+ */
28860
+ function nodeListToArray(nodeList) {
28861
+ return Array.isArray(nodeList) ? nodeList : Array.from(nodeList);
28862
+ }
28863
+ /**
28864
+ * Saves any updated templates to the current solution item
28865
+ *
28866
+ * @param templates the updated templates array
28867
+ * @param thumbnailurl url for the items thumbnail
28868
+ * @param id for the solution item
28869
+ * @param data the current solution items data
28870
+ * @param authentication credentials for the request
28871
+ * @param translations translated strings for messages
28872
+ */
28873
+ async function save(id, data, authentication, translations, thumbnailurl) {
28874
+ const itemInfo = { id };
28875
+ const params = {
28876
+ text: data
28877
+ };
28878
+ if (thumbnailurl) {
28879
+ params.thumbnail = thumbnailurl;
28880
+ }
28881
+ const updateResults = await updateItem(itemInfo, authentication, undefined, params);
28882
+ return {
28883
+ success: updateResults.success,
28884
+ message: updateResults.success ? translations.editsSaved : translations.saveFailed
28885
+ };
28886
+ }
28887
+
26016
28888
  const solutionConfigurationCss = ".configuration-container{position:relative;width:100%;height:100%}.configuration{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;padding:8px;border:1px gray solid}.config-tabs{width:100%}.config-tab{width:100%}.config-solution{position:absolute;top:56px;right:-1px;bottom:-1px;left:-1px;display:flex;padding:8px}.config-inventory{display:inline;flex-grow:0;overflow-y:auto;max-width:min-content}.config-inventory-hide{display:none;flex-grow:0;overflow-y:auto;max-width:min-content}.config-item{display:inline;margin-left:8px;flex-grow:1;overflow-y:auto;position:relative}html[dir=\"rtl\"] .config-item{margin-left:0;margin-right:8px}solution-contents{height:100%;position:relative}solution-item{height:100%;position:relative}solution-spatial-ref{width:100%;height:100%;position:relative;overflow-y:auto}";
26017
28889
 
26018
28890
  let SolutionConfiguration$1 = class extends HTMLElement$1 {
@@ -26046,10 +28918,18 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26046
28918
  properties: {},
26047
28919
  type: ""
26048
28920
  };
28921
+ /**
28922
+ * Contains the current solution item id
28923
+ */
28924
+ this.itemid = "";
26049
28925
  /**
26050
28926
  * Used to show/hide the content tree
26051
28927
  */
26052
28928
  this.treeOpen = true;
28929
+ /**
28930
+ * Contains the current solution item id
28931
+ */
28932
+ this.sourceItemData = {};
26053
28933
  }
26054
28934
  //--------------------------------------------------------------------------
26055
28935
  //
@@ -26057,10 +28937,11 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26057
28937
  //
26058
28938
  //--------------------------------------------------------------------------
26059
28939
  connectedCallback() {
26060
- this._initTemplatesObserver();
28940
+ this._initObserver();
26061
28941
  }
26062
28942
  render() {
26063
- return (h(Host, null, h("div", { class: "configuration-container" }, h("div", { class: "configuration" }, h("calcite-tabs", { class: "config-tabs" }, h("calcite-tab-nav", { slot: "tab-nav" }, h("calcite-tab-title", null, this.translations.definitionTab), h("calcite-tab-title", null, this.translations.spatialReferenceTab)), h("calcite-tab", { active: true, class: "config-tab" }, h("div", { class: "config-solution" }, h("div", { class: this.treeOpen ? "config-inventory" : "config-inventory-hide" }, h("solution-contents", { id: "configInventory", key: `${this.solutionItemId}-contents`, translations: this.translations, value: this.value.contents })), h("calcite-button", { appearance: "transparent", class: "collapse-btn", "icon-start": this.treeOpen ? "chevrons-left" : "chevrons-right", id: "collapse-vars", onClick: () => this._toggleTree(), scale: "s", title: this.translations.cancelEdits }), h("div", { class: "config-item" }, h("solution-item", { key: `${this.solutionItemId}-item`, organizationVariables: this._organizationVariables, solutionVariables: this._solutionVariables, translations: this.translations, value: this.item })))), h("calcite-tab", { class: "config-tab" }, h("div", { class: "config-solution" }, h("solution-spatial-ref", { id: "configure-solution-spatial-ref", key: `${this.solutionItemId}-spatial-ref`, services: state.featureServices, translations: this.translations }))))))));
28943
+ const wkid = getProp(state.spatialReferenceInfo, "spatialReference.wkid");
28944
+ return (h(Host, null, h("div", { class: "configuration-container" }, h("div", { class: "configuration" }, h("calcite-tabs", { class: "config-tabs" }, h("calcite-tab-nav", { slot: "tab-nav" }, h("calcite-tab-title", null, this.translations.definitionTab), h("calcite-tab-title", null, this.translations.spatialReferenceTab)), h("calcite-tab", { active: true, class: "config-tab" }, h("div", { class: "config-solution" }, h("div", { class: this.treeOpen ? "config-inventory" : "config-inventory-hide" }, h("solution-contents", { id: "configInventory", key: `${this.itemid}-contents`, translations: this.translations, value: this.value.contents })), h("calcite-button", { appearance: "transparent", class: "collapse-btn", "icon-start": this.treeOpen ? "chevrons-left" : "chevrons-right", id: "collapse-vars", onClick: () => this._toggleTree(), scale: "s", title: this.translations.cancelEdits }), h("div", { class: "config-item" }, h("solution-item", { key: `${this.itemid}-item`, organizationVariables: this._organizationVariables, solutionVariables: this._solutionVariables, translations: this.translations, value: this.item })))), h("calcite-tab", { class: "config-tab" }, h("div", { class: "config-solution" }, h("solution-spatial-ref", { defaultWkid: wkid, id: "configure-solution-spatial-ref", key: `${this.itemid}-spatial-ref`, locked: !wkid, services: state.featureServices.map(fs => fs.name), translations: this.translations }))))))));
26064
28945
  }
26065
28946
  //--------------------------------------------------------------------------
26066
28947
  //
@@ -26086,22 +28967,32 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26086
28967
  async getSpatialReferenceInfo() {
26087
28968
  return Promise.resolve(state.spatialReferenceInfo);
26088
28969
  }
28970
+ async getSourceTemplates() {
28971
+ return Promise.resolve(this.templates);
28972
+ }
28973
+ async save() {
28974
+ return Promise.resolve(this._save());
28975
+ }
26089
28976
  //--------------------------------------------------------------------------
26090
28977
  //
26091
28978
  // Private Methods
26092
28979
  //
26093
28980
  //--------------------------------------------------------------------------
26094
28981
  /**
26095
- * Observe changes to the templates prop
28982
+ * Observe changes to the props
26096
28983
  */
26097
- _initTemplatesObserver() {
28984
+ _initObserver() {
26098
28985
  this._templatesObserver = new MutationObserver(ml => {
26099
28986
  ml.some(mutation => {
26100
- if (mutation.type === 'attributes' && mutation.attributeName === "templates" &&
26101
- mutation.target[mutation.attributeName] !== mutation.oldValue) {
26102
- const v = JSON.parse(mutation.target[mutation.attributeName]);
26103
- this._initProps(v);
26104
- this._initState(v);
28987
+ const v = mutation.target[mutation.attributeName];
28988
+ if (mutation.type === 'attributes' && mutation.attributeName === "itemid" && v && v !== mutation.oldValue) {
28989
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
28990
+ getItemDataAsJson(v, this.authentication).then(data => {
28991
+ this.sourceItemData = data;
28992
+ this.templates = data.templates;
28993
+ this._initProps(this.templates);
28994
+ this._initState(this.templates);
28995
+ });
26105
28996
  return true;
26106
28997
  }
26107
28998
  });
@@ -26114,7 +29005,7 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26114
29005
  _initState(v) {
26115
29006
  state.models = getModels(v);
26116
29007
  state.featureServices = getFeatureServices(v);
26117
- state.spatialReferenceInfo = getSpatialReferenceInfo(state.featureServices);
29008
+ state.spatialReferenceInfo = getSpatialReferenceInfo(state.featureServices, this.sourceItemData);
26118
29009
  this.modelsSet = true;
26119
29010
  }
26120
29011
  /**
@@ -26139,6 +29030,143 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26139
29030
  _toggleTree() {
26140
29031
  this.treeOpen = !this.treeOpen;
26141
29032
  }
29033
+ /**
29034
+ * Save all edits from the current configuration
29035
+ *
29036
+ * @returns a response that will indicate success or failure and any associated messages
29037
+ */
29038
+ async _save() {
29039
+ const templateUpdates = await this._updateTemplates();
29040
+ const data = this._setSrInfo(templateUpdates.templates);
29041
+ return templateUpdates.errors.length === 0 ? save(this.itemid, data, this.authentication, this.translations, "") : {
29042
+ success: false,
29043
+ message: `The following templates have errors: ${templateUpdates.errors.join(", ")}`
29044
+ };
29045
+ }
29046
+ /**
29047
+ * Update the solutions templates based on the stored changes
29048
+ *
29049
+ * @returns an object that contains the updated templates as well as any errors that were found
29050
+ */
29051
+ async _updateTemplates() {
29052
+ const errors = [];
29053
+ const models = await this.getEditModels();
29054
+ let templates = cloneObject(this.templates);
29055
+ Object.keys(models).forEach(k => {
29056
+ const m = models[k];
29057
+ templates = templates.map(t => {
29058
+ if (t.itemId === m.itemId) {
29059
+ this._setItem(t, m);
29060
+ const hasDataError = this._setData(t, m);
29061
+ const hasPropError = this._setProps(t, m);
29062
+ if (hasDataError || hasPropError) {
29063
+ errors.push(m.itemId);
29064
+ }
29065
+ }
29066
+ return t;
29067
+ });
29068
+ });
29069
+ errors.concat(window.monaco.editor.getModelMarkers({}));
29070
+ return Promise.resolve({
29071
+ templates,
29072
+ errors
29073
+ });
29074
+ }
29075
+ /**
29076
+ * Set a templates data property with changes from the models
29077
+ *
29078
+ * @param template the current template to update
29079
+ * @param model the corresponding model for the current template (stores any user changes)
29080
+ *
29081
+ * @returns a boolean that indicates if any errors were detected
29082
+ */
29083
+ _setData(template, model) {
29084
+ return this._setTemplateProp(template, model.dataOriginValue, model.dataModel.getValue(), "data");
29085
+ }
29086
+ /**
29087
+ * Set a templates properties property with changes from the models
29088
+ *
29089
+ * @param template the current template to update
29090
+ * @param model the corresponding model for the current template (stores any user changes)
29091
+ *
29092
+ * @returns a boolean that indicates if any errors were detected
29093
+ */
29094
+ _setProps(template, model) {
29095
+ return this._setTemplateProp(template, model.propsOriginValue, model.propsModel.getValue(), "properties");
29096
+ }
29097
+ /**
29098
+ * Generic function used to set properties or data property on a given template
29099
+ *
29100
+ * @param template the current template to update
29101
+ * @param originValue the original value from the solution template
29102
+ * @param modelValue the current value from the model (will contain any edits that have been made)
29103
+ * @param path the path to the property we should update if any changes are found
29104
+ *
29105
+ * @returns a boolean that indicates if any errors were detected
29106
+ */
29107
+ _setTemplateProp(template, originValue, modelValue, path) {
29108
+ let hasError = false;
29109
+ try {
29110
+ const _originValue = JSON.parse(originValue);
29111
+ const _modelValue = JSON.parse(modelValue);
29112
+ if (_originValue && _modelValue && (JSON.stringify(_originValue) !== JSON.stringify(_modelValue))) {
29113
+ setProp(template, path, _modelValue);
29114
+ }
29115
+ }
29116
+ catch (e) {
29117
+ console.error(e);
29118
+ hasError = true;
29119
+ }
29120
+ return hasError;
29121
+ }
29122
+ /**
29123
+ * Set a templates item property with changes from the models
29124
+ *
29125
+ * @param template the current template to update
29126
+ * @param model the corresponding model for the current template (stores any user changes)
29127
+ *
29128
+ * This function will update the template argument when edits are found
29129
+ */
29130
+ _setItem(template, model) {
29131
+ if (model.updateItemValues && Object.keys(model.updateItemValues).length > 0) {
29132
+ Object.keys(model.updateItemValues).forEach(k => {
29133
+ template.item[k] = model.updateItemValues[k];
29134
+ });
29135
+ }
29136
+ }
29137
+ /**
29138
+ * Set spatial reference info in the solutions data
29139
+ *
29140
+ * @returns a cloned copy of the solutions data that has been updated with spatial reference info
29141
+ *
29142
+ */
29143
+ _setSrInfo(templates) {
29144
+ const srInfo = state.spatialReferenceInfo;
29145
+ const serviceEnabled = typeof (srInfo === null || srInfo === void 0 ? void 0 : srInfo.services) === 'undefined' ?
29146
+ false : Object.keys(srInfo.services).some(k => srInfo.services[k]);
29147
+ const data = cloneObject(this.sourceItemData);
29148
+ data.templates = templates;
29149
+ if (srInfo && srInfo.enabled && serviceEnabled) {
29150
+ const wkid = srInfo.spatialReference.wkid.toString();
29151
+ const wkidParam = {
29152
+ "label": "Spatial Reference",
29153
+ "default": wkid,
29154
+ "valueType": "spatialReference",
29155
+ "attributes": {
29156
+ "required": "true"
29157
+ }
29158
+ };
29159
+ const params = getProp(data, "params");
29160
+ const hasWkid = params && params.wkid;
29161
+ setCreateProp(data, hasWkid ? "params.wkid.default" : "params.wkid", hasWkid ? wkid : params ? wkidParam : wkid);
29162
+ }
29163
+ else if (!srInfo.enabled) {
29164
+ if (getProp(data, "params.wkid")) {
29165
+ delete (data.params.wkid);
29166
+ }
29167
+ }
29168
+ return data;
29169
+ }
26142
29170
  get el() { return this; }
26143
29171
  static get style() { return solutionConfigurationCss; }
26144
29172
  };
@@ -26164,6 +29192,11 @@ let SolutionContents$1 = class extends HTMLElement$1 {
26164
29192
  */
26165
29193
  this.value = [];
26166
29194
  }
29195
+ valueWatchHandler(v, oldV) {
29196
+ if (v && v !== oldV && Array.isArray(v) && v.length > 0) {
29197
+ this._treeItemSelected(v[0].solutionItem);
29198
+ }
29199
+ }
26167
29200
  //--------------------------------------------------------------------------
26168
29201
  //
26169
29202
  // Lifecycle
@@ -26201,10 +29234,13 @@ let SolutionContents$1 = class extends HTMLElement$1 {
26201
29234
  }
26202
29235
  static get assetsDirs() { return ["item-type-icons"]; }
26203
29236
  get el() { return this; }
29237
+ static get watchers() { return {
29238
+ "value": ["valueWatchHandler"]
29239
+ }; }
26204
29240
  static get style() { return solutionContentsCss; }
26205
29241
  };
26206
29242
 
26207
- const solutionItemCss = ".configuration-container{position:relative;width:100%;height:100%}.configuration{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;padding:8px;border:1px gray solid}.config-tabs{width:100%}.config-tab{width:100%;overflow-y:auto}";
29243
+ const solutionItemCss = ".configuration-container{position:relative;width:100%;height:100%}.configuration{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;padding:8px;border:1px gray solid}.config-tabs{width:100%}.config-tab{width:100%;overflow-y:auto;height:inherit}";
26208
29244
 
26209
29245
  let SolutionItem$1 = class extends HTMLElement$1 {
26210
29246
  constructor() {
@@ -26380,6 +29416,7 @@ let SolutionItemDetails$1 = class extends HTMLElement$1 {
26380
29416
  const reader = new FileReader();
26381
29417
  reader.onloadend = () => {
26382
29418
  this.thumbnail.src = reader.result;
29419
+ this._updateStore("thumbnail", this.thumbnail.src);
26383
29420
  };
26384
29421
  reader.readAsDataURL(files[0]);
26385
29422
  }
@@ -48068,6 +51105,7 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48068
51105
  constructor() {
48069
51106
  super();
48070
51107
  this.__registerHost();
51108
+ this.featureServiceSpatialReferenceChange = createEvent(this, "featureServiceSpatialReferenceChange", 7);
48071
51109
  //--------------------------------------------------------------------------
48072
51110
  //
48073
51111
  // Properties (public)
@@ -48078,6 +51116,11 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48078
51116
  */
48079
51117
  this.defaultWkid = 102100;
48080
51118
  /**
51119
+ * Indicates if the control has been enabled.
51120
+ * The first time Spatial Reference has been enabled it should enable all feature services.
51121
+ */
51122
+ this.loaded = false;
51123
+ /**
48081
51124
  * When true, all but the main switch are disabled to prevent interaction.
48082
51125
  */
48083
51126
  this.locked = true;
@@ -48105,16 +51148,6 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48105
51148
  }
48106
51149
  //--------------------------------------------------------------------------
48107
51150
  //
48108
- // Event Listeners
48109
- //
48110
- //--------------------------------------------------------------------------
48111
- //--------------------------------------------------------------------------
48112
- //
48113
- // Events
48114
- //
48115
- //--------------------------------------------------------------------------
48116
- //--------------------------------------------------------------------------
48117
- //
48118
51151
  // Public Methods (async)
48119
51152
  //
48120
51153
  //--------------------------------------------------------------------------
@@ -48188,8 +51221,28 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48188
51221
  _updateLocked(event) {
48189
51222
  this.locked = !event.detail.switched;
48190
51223
  this._updateStore();
51224
+ if (!this.loaded) {
51225
+ // when this is switched on when loading we have reloaded a solution that
51226
+ // has a custom wkid param and we should honor the settings they already have in the templates
51227
+ if (event.detail.switched) {
51228
+ // By default enable all Feature Services on first load
51229
+ this._setFeatureServiceDefaults(this.services);
51230
+ }
51231
+ this.loaded = true;
51232
+ }
48191
51233
  }
48192
51234
  ;
51235
+ /**
51236
+ * Enable spatial reference variable for all feature services.
51237
+ *
51238
+ * @param services list of service names
51239
+ */
51240
+ _setFeatureServiceDefaults(services) {
51241
+ // switch all spatial-ref-item-switch
51242
+ const fsNodes = nodeListToArray(this.el.getElementsByClassName("spatial-ref-item-switch"));
51243
+ fsNodes.forEach((node) => node.checked = true);
51244
+ services.forEach(name => this._updateEnabledServices({ detail: { switched: true } }, name));
51245
+ }
48193
51246
  /**
48194
51247
  * Stores the wkid as the components value.
48195
51248
  */
@@ -48223,67 +51276,17 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48223
51276
  _updateStore() {
48224
51277
  state.spatialReferenceInfo["enabled"] = !this.locked;
48225
51278
  state.spatialReferenceInfo["spatialReference"] = this.spatialRef;
48226
- this._updateEditModels();
48227
51279
  }
48228
51280
  /**
48229
51281
  * Updates the enabled/disabled state of the service in spatialReferenceInfo.
48230
51282
  */
48231
51283
  _updateEnabledServices(event, name) {
48232
51284
  state.spatialReferenceInfo["services"][name] = event.detail.switched;
48233
- this._updateEditModels(name);
48234
- }
48235
- /**
48236
- * When the spatial reference param is enabled/disabled..we need to handle all feature services that
48237
- * are listed in state.services.
48238
- * When an individual service is enabled/disabled we only need to handle it.
48239
- *
48240
- * @param services List of feature services
48241
- */
48242
- _updateEditModels(name) {
48243
- Object.keys(state.models || {}).forEach(k => {
48244
- var _a;
48245
- const m = state.models[k];
48246
- const nameMatch = name && name === m.name;
48247
- const serviceMatch = name === undefined &&
48248
- Object.keys(state.spatialReferenceInfo["services"]).indexOf(m.name) > -1;
48249
- if (nameMatch || serviceMatch) {
48250
- const updateModel = (_a = m.propsModel) === null || _a === void 0 ? void 0 : _a.getValue();
48251
- if (updateModel) {
48252
- const active = getProp(state, `spatialReferenceInfo.services.${m === null || m === void 0 ? void 0 : m.name}`) || false;
48253
- const enabled = getProp(state, 'spatialReferenceInfo.enabled') || false;
48254
- m.propsModel.setValue(JSON.stringify(this._updateData(updateModel, enabled, active, m.spatialReference), null, '\t'));
48255
- m.propsDiffOriginValue = JSON.stringify(this._updateData(m.propsDiffOriginValue, enabled, active, m.spatialReference));
48256
- }
48257
- }
51285
+ this.featureServiceSpatialReferenceChange.emit({
51286
+ name,
51287
+ enabled: event.detail.switched
48258
51288
  });
48259
51289
  }
48260
- /**
48261
- * Updates the services spatial reference by setting the wkid param value and removing latestWkid when enabled and active
48262
- * OR
48263
- * Sets the spatial reference back to the original spatialReference when disabled
48264
- *
48265
- * @param updateModel The model to update
48266
- * @param enabled Is the param enabled
48267
- * @param active Is the service enabled
48268
- * @param spatialReference The original source spatial reference
48269
- */
48270
- _updateData(updateModel, enabled, active, spatialReference) {
48271
- var _a;
48272
- const data = typeof (updateModel) === "string" ? JSON.parse(updateModel) : updateModel;
48273
- if (enabled && active) {
48274
- const wkid = this.spatialRef.wkid;
48275
- if (wkid) {
48276
- data.service.spatialReference.wkid = `{{params.wkid||${wkid}}}`;
48277
- if (data.service.spatialReference.latestWkid) {
48278
- delete (data.service.spatialReference.latestWkid);
48279
- }
48280
- }
48281
- }
48282
- else if ((_a = data.service) === null || _a === void 0 ? void 0 : _a.spatialReference) {
48283
- data.service.spatialReference = spatialReference;
48284
- }
48285
- return data;
48286
- }
48287
51290
  /**
48288
51291
  * Select the first child on Enter key click
48289
51292
  * OR
@@ -48548,6 +51551,10 @@ let StoreManager$1 = class extends HTMLElement$1 {
48548
51551
  *
48549
51552
  */
48550
51553
  this.value = "";
51554
+ /**
51555
+ * Templates for the current solution
51556
+ */
51557
+ this.templates = [];
48551
51558
  }
48552
51559
  //--------------------------------------------------------------------------
48553
51560
  //
@@ -48567,10 +51574,14 @@ let StoreManager$1 = class extends HTMLElement$1 {
48567
51574
  if (mutation.type === 'attributes' && mutation.attributeName === "value" &&
48568
51575
  newValue !== mutation.oldValue && newValue !== "") {
48569
51576
  const v = JSON.parse(newValue);
48570
- state.models = getModels(Array.isArray(v) ? v : [v]);
48571
- state.featureServices = getFeatureServices(Array.isArray(v) ? v : [v]);
48572
- state.spatialReferenceInfo = getSpatialReferenceInfo(state.featureServices);
48573
- this.stateLoaded.emit(state);
51577
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
51578
+ getItemDataAsJson(v, this.authentication).then(data => {
51579
+ state.models = getModels(Array.isArray(v) ? v : [v]);
51580
+ state.featureServices = getFeatureServices(Array.isArray(v) ? v : [v]);
51581
+ state.spatialReferenceInfo = getSpatialReferenceInfo(state.featureServices, data);
51582
+ this.templates = v;
51583
+ this.stateLoaded.emit(state);
51584
+ });
48574
51585
  return true;
48575
51586
  }
48576
51587
  });
@@ -48671,8 +51682,8 @@ const CalciteTree = /*@__PURE__*/proxyCustomElement(CalciteTree$1, [1,"calcite-t
48671
51682
  const CalciteTreeItem = /*@__PURE__*/proxyCustomElement(CalciteTreeItem$1, [1,"calcite-tree-item",{"selected":[1540],"expanded":[1540],"parentExpanded":[4,"parent-expanded"],"depth":[1538],"hasChildren":[1540,"has-children"],"lines":[1540],"inputEnabled":[4,"input-enabled"],"scale":[1537],"indeterminate":[516],"selectionMode":[1025,"selection-mode"]},[[0,"click","onClick"],[0,"keydown","keyDownHandler"]]]);
48672
51683
  const CalciteValueList = /*@__PURE__*/proxyCustomElement(CalciteValueList$1, [1,"calcite-value-list",{"disabled":[516],"dragEnabled":[516,"drag-enabled"],"filterEnabled":[516,"filter-enabled"],"filterPlaceholder":[513,"filter-placeholder"],"group":[1],"loading":[516],"multiple":[516],"selectionFollowsFocus":[4,"selection-follows-focus"],"selectedValues":[32],"dataForFilter":[32]},[[0,"calciteListItemRemove","calciteListItemRemoveHandler"],[0,"calciteListItemChange","calciteListItemChangeHandler"],[0,"calciteListItemPropsChange","calciteListItemPropsChangeHandler"],[0,"calciteListItemValueChange","calciteListItemValueChangeHandler"]]]);
48673
51684
  const CalciteValueListItem = /*@__PURE__*/proxyCustomElement(CalciteValueListItem$1, [1,"calcite-value-list-item",{"description":[513],"disabled":[516],"disableDeselect":[4,"disable-deselect"],"nonInteractive":[516,"non-interactive"],"handleActivated":[1028,"handle-activated"],"icon":[513],"label":[513],"metadata":[16],"removable":[516],"selected":[1540],"value":[8]},[[0,"calciteListItemChange","calciteListItemChangeHandler"]]]);
48674
- const JsonEditor = /*@__PURE__*/proxyCustomElement(JsonEditor$1, [0,"json-editor",{"original":[1032],"translations":[1032],"value":[1544],"model":[1544],"instanceid":[1544],"hasErrors":[1540,"has-errors"]},[[8,"organizationVariableSelected","organizationVariableSelected"],[8,"solutionVariableSelected","solutionVariableSelected"],[8,"modelsChanged","_modelsChanged"],[8,"solutionItemSelected","_solutionItemSelected"]]]);
48675
- const SolutionConfiguration = /*@__PURE__*/proxyCustomElement(SolutionConfiguration$1, [0,"solution-configuration",{"translations":[1032],"value":[1040],"templates":[1537],"item":[1040],"solutionItemId":[1025,"solution-item-id"],"treeOpen":[1028,"tree-open"],"modelsSet":[32]},[[8,"solutionItemSelected","_solutionItemSelected"]]]);
51685
+ const JsonEditor = /*@__PURE__*/proxyCustomElement(JsonEditor$1, [0,"json-editor",{"original":[1032],"translations":[1032],"value":[1544],"model":[1544],"instanceid":[1544],"hasErrors":[1540,"has-errors"]},[[8,"organizationVariableSelected","organizationVariableSelected"],[8,"solutionVariableSelected","solutionVariableSelected"],[8,"modelsChanged","_modelsChanged"],[8,"solutionItemSelected","_solutionItemSelected"],[8,"featureServiceSpatialReferenceChange","featureServiceSpatialReferenceChange"]]]);
51686
+ const SolutionConfiguration = /*@__PURE__*/proxyCustomElement(SolutionConfiguration$1, [0,"solution-configuration",{"authentication":[1040],"translations":[1032],"value":[1040],"templates":[1040],"item":[1040],"itemid":[1537],"treeOpen":[1028,"tree-open"],"sourceItemData":[1032,"source-item-data"],"modelsSet":[32]},[[8,"solutionItemSelected","_solutionItemSelected"]]]);
48676
51687
  const SolutionContents = /*@__PURE__*/proxyCustomElement(SolutionContents$1, [0,"solution-contents",{"translations":[1032],"value":[16]}]);
48677
51688
  const SolutionItem = /*@__PURE__*/proxyCustomElement(SolutionItem$1, [0,"solution-item",{"translations":[1032],"value":[1040],"solutionVariables":[1040],"organizationVariables":[1040]}]);
48678
51689
  const SolutionItemDetails = /*@__PURE__*/proxyCustomElement(SolutionItemDetails$1, [0,"solution-item-details",{"translations":[1032],"value":[1040],"type":[1537]},[[0,"calciteInputInput","inputReceivedHandler"]]]);
@@ -48680,10 +51691,10 @@ const SolutionItemIcon = /*@__PURE__*/proxyCustomElement(SolutionItemIcon$1, [0,
48680
51691
  const SolutionItemSharing = /*@__PURE__*/proxyCustomElement(SolutionItemSharing$1, [1,"solution-item-sharing",{"translations":[1032],"value":[1040],"groupId":[1537,"group-id"]}]);
48681
51692
  const SolutionOrganizationVariables = /*@__PURE__*/proxyCustomElement(SolutionOrganizationVariables$1, [1,"solution-organization-variables",{"translations":[1032],"value":[1040]}]);
48682
51693
  const SolutionResourceItem = /*@__PURE__*/proxyCustomElement(SolutionResourceItem$1, [1,"solution-resource-item",{"translations":[1032],"value":[1040],"fileName":[32]}]);
48683
- const SolutionSpatialRef = /*@__PURE__*/proxyCustomElement(SolutionSpatialRef$1, [0,"solution-spatial-ref",{"defaultWkid":[1538,"default-wkid"],"locked":[1540],"translations":[1032],"value":[1537],"services":[1040],"spatialRef":[32],"_srSearchText":[32]}]);
51694
+ const SolutionSpatialRef = /*@__PURE__*/proxyCustomElement(SolutionSpatialRef$1, [0,"solution-spatial-ref",{"defaultWkid":[1538,"default-wkid"],"loaded":[1540],"locked":[1540],"translations":[1032],"value":[1537],"services":[1040],"spatialRef":[32],"_srSearchText":[32]}]);
48684
51695
  const SolutionTemplateData = /*@__PURE__*/proxyCustomElement(SolutionTemplateData$1, [0,"solution-template-data",{"translations":[1032],"value":[1040],"isResource":[1028,"is-resource"],"instanceid":[1537],"itemid":[1537],"solutionVariables":[1040],"organizationVariables":[1040],"varsOpen":[1540,"vars-open"]}]);
48685
51696
  const SolutionVariables = /*@__PURE__*/proxyCustomElement(SolutionVariables$1, [1,"solution-variables",{"translations":[1032],"value":[1040]}]);
48686
- const StoreManager = /*@__PURE__*/proxyCustomElement(StoreManager$1, [0,"store-manager",{"value":[1537]}]);
51697
+ const StoreManager = /*@__PURE__*/proxyCustomElement(StoreManager$1, [0,"store-manager",{"value":[1537],"templates":[1040],"authentication":[1040]}]);
48687
51698
  const defineCustomElements = (opts) => {
48688
51699
  if (typeof customElements !== 'undefined') {
48689
51700
  [
@@ -48800,5 +51811,3 @@ const defineCustomElements = (opts) => {
48800
51811
  };
48801
51812
 
48802
51813
  export { CalciteAccordion, CalciteAccordionItem, CalciteAction, CalciteActionBar, CalciteActionGroup, CalciteActionMenu, CalciteActionPad, CalciteAlert, CalciteAvatar, CalciteBlock, CalciteBlockSection, CalciteButton, CalciteCard, CalciteCheckbox, CalciteChip, CalciteColorPicker, CalciteColorPickerHexInput, CalciteColorPickerSwatch, CalciteCombobox, CalciteComboboxItem, CalciteComboboxItemGroup, CalciteDatePicker, CalciteDatePickerDay, CalciteDatePickerMonth, CalciteDatePickerMonthHeader, CalciteDropdown, CalciteDropdownGroup, CalciteDropdownItem, CalciteFab, CalciteFilter, CalciteFlow, CalciteGraph, CalciteHandle, CalciteIcon, CalciteInlineEditable, CalciteInput, CalciteInputDatePicker, CalciteInputMessage, CalciteInputTimePicker, CalciteLabel, CalciteLink, CalciteList, CalciteListItem, CalciteListItemGroup, CalciteLoader, CalciteModal, CalciteNotice, CalciteOption, CalciteOptionGroup, CalcitePagination, CalcitePanel, CalcitePickList, CalcitePickListGroup, CalcitePickListItem, CalcitePopover, CalcitePopoverManager, CalciteProgress, CalciteRadio, CalciteRadioButton, CalciteRadioButtonGroup, CalciteRadioGroup, CalciteRadioGroupItem, CalciteRating, CalciteScrim, CalciteSelect, CalciteShell, CalciteShellCenterRow, CalciteShellPanel, CalciteSlider, CalciteSortableList, CalciteSplitButton, CalciteStepper, CalciteStepperItem, CalciteSwitch, CalciteTab, CalciteTabNav, CalciteTabTitle, CalciteTabs, CalciteTile, CalciteTileSelect, CalciteTileSelectGroup, CalciteTimePicker, CalciteTip, CalciteTipGroup, CalciteTipManager, CalciteTooltip, CalciteTooltipManager, CalciteTree, CalciteTreeItem, CalciteValueList, CalciteValueListItem, JsonEditor, SolutionConfiguration, SolutionContents, SolutionItem, SolutionItemDetails, SolutionItemIcon, SolutionItemSharing, SolutionOrganizationVariables, SolutionResourceItem, SolutionSpatialRef, SolutionTemplateData, SolutionVariables, StoreManager, defineCustomElements };
48803
-
48804
- //# sourceMappingURL=index.js.map