js-dos 7.5.0 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.github/workflows/build.yml +51 -0
  2. package/.gitmodules +4 -0
  3. package/README.deployment.md +11 -0
  4. package/README.md +29 -89
  5. package/index.html +106 -0
  6. package/package.json +46 -71
  7. package/postcss.config.cjs +8 -0
  8. package/src/app.css +14 -0
  9. package/src/base.css +10 -0
  10. package/src/components/checkbox.tsx +41 -0
  11. package/src/components/close-button.tsx +17 -0
  12. package/src/components/components.css +28 -0
  13. package/src/components/dos-option-checkbox.tsx +94 -0
  14. package/src/components/dos-option-select.tsx +108 -0
  15. package/src/components/dos-option-slider.tsx +35 -0
  16. package/src/components/error.tsx +16 -0
  17. package/src/components/loading.tsx +26 -0
  18. package/src/components/lock.tsx +10 -0
  19. package/src/components/select.tsx +33 -0
  20. package/src/components/slider.tsx +69 -0
  21. package/src/download-file.ts +18 -0
  22. package/src/frame/account-frame.tsx +156 -0
  23. package/src/frame/editor/defaults.ts +419 -0
  24. package/src/frame/editor/editor-conf-frame.tsx +226 -0
  25. package/src/frame/editor/editor-frame.css +55 -0
  26. package/src/frame/editor/editor-fs-frame.tsx +314 -0
  27. package/src/frame/fat-drives-frame.tsx +135 -0
  28. package/src/frame/frame.css +119 -0
  29. package/src/frame/frame.tsx +34 -0
  30. package/src/frame/image-rendering-frame.tsx +8 -0
  31. package/src/frame/network-frame.tsx +157 -0
  32. package/src/frame/quick-save-frame.tsx +96 -0
  33. package/src/frame/settings-frame.tsx +14 -0
  34. package/src/frame/stats-frame.tsx +87 -0
  35. package/src/host/bundle-storage.ts +91 -0
  36. package/src/host/fullscreen.ts +35 -0
  37. package/src/host/lcache.ts +203 -0
  38. package/src/host/lstorage.ts +156 -0
  39. package/src/i18n.ts +179 -0
  40. package/src/index.css +7 -0
  41. package/src/load.ts +132 -0
  42. package/src/login/login.css +9 -0
  43. package/src/login/login.tsx +77 -0
  44. package/src/main.tsx +197 -0
  45. package/src/public/types.ts +41 -0
  46. package/src/sidebar/account-button.tsx +33 -0
  47. package/src/sidebar/cloud-save-button.tsx +89 -0
  48. package/src/sidebar/diskette-icon.tsx +14 -0
  49. package/src/sidebar/fullscreen-button.tsx +44 -0
  50. package/src/sidebar/network-button.tsx +39 -0
  51. package/src/sidebar/sidebar-button.tsx +244 -0
  52. package/src/sidebar/sidebar.css +47 -0
  53. package/src/sidebar/sidebar.tsx +30 -0
  54. package/src/sockdrive/LICENSE +674 -0
  55. package/src/sockdrive/README.md +45 -0
  56. package/src/sockdrive/include/sockdrive.h +23 -0
  57. package/src/sockdrive/js/.eslintrc.json +43 -0
  58. package/src/sockdrive/js/package.json +29 -0
  59. package/src/sockdrive/js/src/fatfs/chains.js +318 -0
  60. package/src/sockdrive/js/src/fatfs/dir.js +385 -0
  61. package/src/sockdrive/js/src/fatfs/helpers.js +210 -0
  62. package/src/sockdrive/js/src/fatfs/index.js +606 -0
  63. package/src/sockdrive/js/src/fatfs/structs.js +255 -0
  64. package/src/sockdrive/js/src/fatfs/vol.js +166 -0
  65. package/src/sockdrive/js/src/sockdrive/cache.ts +133 -0
  66. package/src/sockdrive/js/src/sockdrive/drive.ts +457 -0
  67. package/src/sockdrive/js/src/sockdrive/lru.ts +221 -0
  68. package/src/sockdrive/js/src/sockdrive/types.ts +14 -0
  69. package/src/sockdrive/js/src/sockdrive-fat.d.ts +64 -0
  70. package/src/sockdrive/js/src/sockdrive-fat.ts +226 -0
  71. package/src/sockdrive/js/src/sockdrive-native.ts +100 -0
  72. package/src/sockdrive/js/src/test/test.ts +288 -0
  73. package/src/sockdrive/js/tsconfig.json +11 -0
  74. package/src/sockdrive/js/webpack.config.js +68 -0
  75. package/src/sockdrive/js/yarn.lock +1808 -0
  76. package/src/store/auth.ts +115 -0
  77. package/src/store/dos.ts +305 -0
  78. package/src/store/editor.ts +61 -0
  79. package/src/store/init.ts +48 -0
  80. package/src/store/storage.ts +32 -0
  81. package/src/store/ui.ts +186 -0
  82. package/src/store.tsx +108 -0
  83. package/src/ui.tsx +104 -0
  84. package/src/v8/changes.ts +56 -0
  85. package/src/v8/config.ts +18 -0
  86. package/src/v8/subscriptions.ts +62 -0
  87. package/src/vite-env.d.ts +2 -0
  88. package/src/window/dos/controls/keyboard.ts +32 -0
  89. package/src/window/dos/controls/keys.ts +331 -0
  90. package/src/window/dos/controls/mouse/mount.ts +99 -0
  91. package/src/window/dos/controls/mouse/mouse-locked.ts +51 -0
  92. package/src/window/dos/controls/mouse/mouse-not-locked.ts +84 -0
  93. package/src/window/dos/controls/mouse/mouse-swipe.ts +57 -0
  94. package/src/window/dos/controls/mouse/pointer.ts +85 -0
  95. package/src/window/dos/controls/mouse.ts +21 -0
  96. package/src/window/dos/dos-dhry2.tsx +191 -0
  97. package/src/window/dos/dos-runtime.tsx +214 -0
  98. package/src/window/dos/dos-window.tsx +84 -0
  99. package/src/window/dos/render/canvas.ts +65 -0
  100. package/src/window/dos/render/resize.ts +31 -0
  101. package/src/window/dos/render/webgl.ts +173 -0
  102. package/src/window/dos/sound/audio-node.ts +148 -0
  103. package/src/window/error-window.tsx +9 -0
  104. package/src/window/loading-window.tsx +54 -0
  105. package/src/window/prerun-window.tsx +123 -0
  106. package/src/window/select-window.tsx +118 -0
  107. package/src/window/window.css +78 -0
  108. package/src/window/window.tsx +49 -0
  109. package/src/ws/ws-sockdrive.ts +101 -0
  110. package/src/ws/ws-transport-layer.ts +455 -0
  111. package/tailwind.config.cjs +48 -0
  112. package/tsconfig.json +32 -0
  113. package/tsconfig.node.json +9 -0
  114. package/vite.config.ts +22 -0
  115. package/LICENSE +0 -339
  116. package/dist/emulators-ui-loader.png +0 -0
  117. package/dist/js-dos.css +0 -1690
  118. package/dist/js-dos.js +0 -17
  119. package/dist/js-dos.js.map +0 -1
  120. package/dist/types/src/backend/v7/latency.d.ts +0 -8
  121. package/dist/types/src/backend/v7/personal.d.ts +0 -2
  122. package/dist/types/src/backend/v7/v7-config.d.ts +0 -16
  123. package/dist/types/src/components/action-bar.d.ts +0 -2
  124. package/dist/types/src/components/action-hide.d.ts +0 -4
  125. package/dist/types/src/components/action-save-or-exit.d.ts +0 -4
  126. package/dist/types/src/components/client.d.ts +0 -6
  127. package/dist/types/src/components/controls.d.ts +0 -8
  128. package/dist/types/src/components/cpu-control.d.ts +0 -2
  129. package/dist/types/src/components/horizontal-slider.d.ts +0 -13
  130. package/dist/types/src/components/region.d.ts +0 -6
  131. package/dist/types/src/components/scale-control.d.ts +0 -3
  132. package/dist/types/src/components/sensitivity-control.d.ts +0 -3
  133. package/dist/types/src/components/sidebar/latency-info.d.ts +0 -7
  134. package/dist/types/src/components/sidebar/main.d.ts +0 -2
  135. package/dist/types/src/components/sidebar/networking.d.ts +0 -2
  136. package/dist/types/src/components/sidebar/token/token-add-time.d.ts +0 -2
  137. package/dist/types/src/components/sidebar/token/token-select.d.ts +0 -2
  138. package/dist/types/src/components/sidebar/token/token.d.ts +0 -17
  139. package/dist/types/src/components/sidebar.d.ts +0 -2
  140. package/dist/types/src/components/sync-control.d.ts +0 -2
  141. package/dist/types/src/components/tip.d.ts +0 -2
  142. package/dist/types/src/components/vertical-slider.d.ts +0 -12
  143. package/dist/types/src/components/volume-control.d.ts +0 -3
  144. package/dist/types/src/dom.d.ts +0 -8
  145. package/dist/types/src/hardware-transport-layer.d.ts +0 -18
  146. package/dist/types/src/icons.d.ts +0 -95
  147. package/dist/types/src/player-app.d.ts +0 -50
  148. package/dist/types/src/player.d.ts +0 -29
  149. package/dist/types/src/request.d.ts +0 -1
  150. package/dist/types/src/xhr.d.ts +0 -6
  151. package/dist/types/v7-services/src/personal.d.ts +0 -3
  152. package/dist/wdosbox.js +0 -55
  153. package/dist/wdosbox.js.symbols +0 -3174
  154. package/dist/wdosbox.wasm +0 -0
  155. package/examples/digger/index.html +0 -71
@@ -1 +0,0 @@
1
- {"version":3,"sources":["node_modules/browser-pack/_prelude.js","node_modules/batch-processor/src/batch-processor.js","emulators-ui.js","node_modules/batch-processor/src/utils.js","node_modules/element-resize-detector/src/browser-detector.js","node_modules/element-resize-detector/src/collection-utils.js","node_modules/element-resize-detector/src/detection-strategy/object.js","node_modules/element-resize-detector/src/detection-strategy/scroll.js","node_modules/element-resize-detector/src/element-resize-detector.js","node_modules/element-resize-detector/src/element-utils.js","node_modules/element-resize-detector/src/id-generator.js","node_modules/element-resize-detector/src/id-handler.js","node_modules/element-resize-detector/src/listener-handler.js","node_modules/element-resize-detector/src/reporter.js","node_modules/element-resize-detector/src/state-handler.js","node_modules/nipplejs/dist/nipplejs.js","node_modules/notyf/notyf.js","node_modules/simple-keyboard/build/index.js","src/build.ts","src/controls/button.ts","src/controls/grid.ts","src/controls/keyboard.ts","src/controls/layers-config.ts","src/controls/layers-control.ts","src/controls/legacy-layers-control.ts","src/controls/mouse/mouse-common.ts","src/controls/mouse/mouse-locked.ts","src/controls/mouse/mouse-not-locked.ts","src/controls/mouse/mouse-swipe.ts","src/controls/nipple.ts","src/controls/null-layers-control.ts","src/controls/options.ts","src/dom/helpers.ts","src/dom/keys.ts","src/dom/layers.ts","src/dom/lifecycle.ts","src/dom/mem-storage.ts","src/dom/pointer.ts","src/dom/storage.ts","src/emulators-ui.ts","src/graphics/_2d.ts","src/graphics/video.ts","src/graphics/webgl.ts","src/js-dos.ts","src/network/xhr.ts","src/notification/notyf.ts","src/persist/cache.ts","src/persist/save-load.ts","src/sound/audio-node.ts","node_modules/core-js/internals/a-callable.js","emulators.js","node_modules/core-js/internals/a-constructor.js","node_modules/core-js/internals/a-possible-prototype.js","node_modules/core-js/internals/add-to-unscopables.js","node_modules/core-js/internals/advance-string-index.js","node_modules/core-js/internals/an-instance.js","node_modules/core-js/internals/an-object.js","node_modules/core-js/internals/array-buffer-native.js","node_modules/core-js/internals/array-buffer-view-core.js","node_modules/core-js/internals/array-buffer.js","node_modules/core-js/internals/array-fill.js","node_modules/core-js/internals/array-includes.js","node_modules/core-js/internals/array-iteration.js","node_modules/core-js/internals/array-slice-simple.js","node_modules/core-js/internals/array-sort.js","node_modules/core-js/internals/array-species-constructor.js","node_modules/core-js/internals/array-species-create.js","node_modules/core-js/internals/check-correctness-of-iteration.js","node_modules/core-js/internals/classof-raw.js","node_modules/core-js/internals/classof.js","node_modules/core-js/internals/copy-constructor-properties.js","node_modules/core-js/internals/correct-prototype-getter.js","node_modules/core-js/internals/create-iterator-constructor.js","node_modules/core-js/internals/create-non-enumerable-property.js","node_modules/core-js/internals/create-property-descriptor.js","node_modules/core-js/internals/create-property.js","node_modules/core-js/internals/define-built-in.js","node_modules/core-js/internals/define-built-ins.js","node_modules/core-js/internals/define-global-property.js","node_modules/core-js/internals/define-iterator.js","node_modules/core-js/internals/descriptors.js","node_modules/core-js/internals/document-create-element.js","node_modules/core-js/internals/dom-iterables.js","node_modules/core-js/internals/dom-token-list-prototype.js","node_modules/core-js/internals/engine-ff-version.js","node_modules/core-js/internals/engine-is-ie-or-edge.js","node_modules/core-js/internals/engine-user-agent.js","node_modules/core-js/internals/engine-v8-version.js","node_modules/core-js/internals/engine-webkit-version.js","node_modules/core-js/internals/enum-bug-keys.js","node_modules/core-js/internals/export.js","node_modules/core-js/internals/fails.js","node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","node_modules/core-js/internals/function-apply.js","node_modules/core-js/internals/function-bind-context.js","node_modules/core-js/internals/function-bind-native.js","node_modules/core-js/internals/function-call.js","node_modules/core-js/internals/function-name.js","node_modules/core-js/internals/function-uncurry-this.js","node_modules/core-js/internals/get-built-in.js","node_modules/core-js/internals/get-iterator-method.js","node_modules/core-js/internals/get-iterator.js","node_modules/core-js/internals/get-method.js","node_modules/core-js/internals/get-substitution.js","node_modules/core-js/internals/global.js","node_modules/core-js/internals/has-own-property.js","node_modules/core-js/internals/hidden-keys.js","node_modules/core-js/internals/html.js","node_modules/core-js/internals/ie8-dom-define.js","node_modules/core-js/internals/ieee754.js","node_modules/core-js/internals/indexed-object.js","node_modules/core-js/internals/inherit-if-required.js","node_modules/core-js/internals/inspect-source.js","node_modules/core-js/internals/internal-state.js","node_modules/core-js/internals/is-array-iterator-method.js","node_modules/core-js/internals/is-array.js","node_modules/core-js/internals/is-callable.js","node_modules/core-js/internals/is-constructor.js","node_modules/core-js/internals/is-forced.js","node_modules/core-js/internals/is-integral-number.js","node_modules/core-js/internals/is-object.js","node_modules/core-js/internals/is-pure.js","node_modules/core-js/internals/is-symbol.js","node_modules/core-js/internals/iterators-core.js","node_modules/core-js/internals/length-of-array-like.js","node_modules/core-js/internals/make-built-in.js","node_modules/core-js/internals/math-trunc.js","node_modules/core-js/internals/native-symbol.js","node_modules/core-js/internals/native-weak-map.js","node_modules/core-js/internals/object-create.js","node_modules/core-js/internals/object-define-properties.js","node_modules/core-js/internals/object-define-property.js","node_modules/core-js/internals/object-get-own-property-descriptor.js","node_modules/core-js/internals/object-get-own-property-names.js","node_modules/core-js/internals/object-get-own-property-symbols.js","node_modules/core-js/internals/object-get-prototype-of.js","node_modules/core-js/internals/object-is-prototype-of.js","node_modules/core-js/internals/object-keys-internal.js","node_modules/core-js/internals/object-keys.js","node_modules/core-js/internals/object-property-is-enumerable.js","node_modules/core-js/internals/object-set-prototype-of.js","node_modules/core-js/internals/ordinary-to-primitive.js","node_modules/core-js/internals/own-keys.js","node_modules/core-js/internals/regexp-exec-abstract.js","node_modules/core-js/internals/regexp-exec.js","node_modules/core-js/internals/regexp-flags.js","node_modules/core-js/internals/regexp-sticky-helpers.js","node_modules/core-js/internals/regexp-unsupported-dot-all.js","node_modules/core-js/internals/regexp-unsupported-ncg.js","node_modules/core-js/internals/require-object-coercible.js","node_modules/core-js/internals/set-species.js","node_modules/core-js/internals/set-to-string-tag.js","node_modules/core-js/internals/shared-key.js","node_modules/core-js/internals/shared-store.js","node_modules/core-js/internals/shared.js","node_modules/core-js/internals/string-multibyte.js","node_modules/core-js/internals/to-absolute-index.js","node_modules/core-js/internals/to-index.js","node_modules/core-js/internals/to-indexed-object.js","node_modules/core-js/internals/to-integer-or-infinity.js","node_modules/core-js/internals/to-length.js","node_modules/core-js/internals/to-object.js","node_modules/core-js/internals/to-offset.js","node_modules/core-js/internals/to-positive-integer.js","node_modules/core-js/internals/to-primitive.js","node_modules/core-js/internals/to-property-key.js","node_modules/core-js/internals/to-string-tag-support.js","node_modules/core-js/internals/to-string.js","node_modules/core-js/internals/try-to-string.js","node_modules/core-js/internals/typed-array-constructor.js","node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","node_modules/core-js/internals/typed-array-from.js","node_modules/core-js/internals/uid.js","node_modules/core-js/internals/use-symbol-as-uid.js","node_modules/core-js/internals/v8-prototype-define-bug.js","node_modules/core-js/internals/well-known-symbol.js","node_modules/core-js/modules/es.array.iterator.js","node_modules/core-js/modules/es.regexp.exec.js","node_modules/core-js/modules/es.string.replace.js","node_modules/core-js/modules/es.typed-array.float32-array.js","node_modules/core-js/modules/es.typed-array.of.js","node_modules/core-js/modules/es.typed-array.set.js","node_modules/core-js/modules/es.typed-array.sort.js","node_modules/core-js/modules/es.typed-array.uint8-array.js","node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","node_modules/core-js/modules/web.dom-collections.iterator.js","src/dos/bundle/dos-bundle.ts","src/dos/bundle/dos-conf.ts","src/dos/dosbox/ts/direct.ts","src/dos/dosbox/ts/worker.ts","src/emulators.ts","src/http.ts","src/impl/ci-impl.ts","src/impl/emulators-impl.ts","src/impl/modules.ts","src/janus/janus-impl.ts","src/libzip/libzip.ts","src/protocol/messages-queue.ts","src/protocol/protocol.ts","zip-no-worker-inflate.min.js","node_modules/base64-js/index.js","js-dos.js","node_modules/core-js/internals/array-from.js","node_modules/core-js/internals/call-with-safe-iteration-closing.js","node_modules/core-js/internals/define-built-in-accessor.js","node_modules/core-js/internals/iterator-close.js","node_modules/core-js/internals/native-url.js","node_modules/core-js/internals/object-assign.js","node_modules/core-js/internals/string-punycode-to-ascii.js","node_modules/core-js/internals/validate-arguments-length.js","node_modules/core-js/modules/es.string.iterator.js","node_modules/core-js/modules/web.url-search-params.constructor.js","node_modules/core-js/modules/web.url-search-params.js","node_modules/core-js/modules/web.url.constructor.js","node_modules/core-js/modules/web.url.js","node_modules/htm/dist/htm.js","node_modules/nanoid/non-secure/index.cjs","node_modules/preact/dist/preact.js","node_modules/preact/hooks/dist/hooks.js","src/backend/v7/latency.ts","src/backend/v7/personal.ts","src/backend/v7/v7-config.ts","src/components/action-bar.ts","src/components/action-hide.ts","src/components/action-save-or-exit.ts","src/components/client.ts","src/components/controls.ts","src/components/cpu-control.ts","src/components/horizontal-slider.ts","src/components/region.ts","src/components/scale-control.ts","src/components/sensitivity-control.ts","src/components/sidebar.ts","src/components/sidebar/latency-info.ts","src/components/sidebar/main.ts","src/components/sidebar/networking.ts","src/components/sidebar/token/token-add-time.ts","src/components/sidebar/token/token-select.ts","src/components/sidebar/token/token.ts","src/components/sync-control.ts","src/components/tip.ts","src/components/vertical-slider.ts","src/components/volume-control.ts","src/dom.ts","src/hardware-transport-layer.ts","src/icons.ts","src/player-app.ts","src/player.ts","src/request.ts","src/xhr.ts","v7-services/src/personal.ts"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","module","utils","Batch","batch","size","topLevel","bottomLevel","add","level","fn","push","process","fns","options","reporter","asyncProcess","getOption","autoProcess","warn","asyncFrameHandler","isProcessing","processBatch","processingBatch","processBatchAsync","setTimeout","force","localAsyncProcess","clearTimeout","name","defaultValue","value","detector","isIE","version","agent","navigator","userAgent","toLowerCase","indexOf","v","div","document","createElement","all","getElementsByTagName","innerHTML","undef","isLegacyOpera","window","opera","forEach","collection","callback","result","browserDetector","batchProcessor","getState","stateHandler","buildCssTextString","rules","seperator","important","join","trim","getObject","element","object","makeDetectable","debug","OBJECT_STYLE","positionCheckPerformed","style","getComputedStyle","width","offsetWidth","height","offsetHeight","mutateDom","alterPositionStyles","position","setProperty","removeRelativeStyles","property","replace","cssText","tabIndex","type","setAttribute","onload","getDocument","contentDocument","state","checkForObjectDocumentTimeoutId","this","objectDocument","data","appendChild","startSize","addListener","listener","listenerProxy","proxy","attachEvent","defaultView","addEventListener","uninstall","detachEvent","removeChild","idHandler","hasState","scrollbarSizes","child","container","body","insertBefore","firstChild","widthSize","clientWidth","heightSize","clientHeight","detectionContainerClass","initDocument","targetDocument","styleId","containerClass","getElementById","containerAnimationClass","method","head","styleElement","id","injectStyle","addEvent","el","cb","error","removeEvent","removeEventListener","getExpandElement","childNodes","getShrinkElement","args","Array","prototype","slice","arguments","unshift","get","log","apply","isUnrendered","getStyle","elementStyle","top","right","bottom","left","widthCSS","heightCSS","storeStyle","storeCurrentSize","lastWidth","lastHeight","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","scrollLeft","scrollTop","injectContainerElement","className","onAnimationStart","onRendered","injectScrollElements","rootContainer","scrollbarWidth","scrollbarHeight","containerContainerStyle","containerStyle","concat","expandStyle","shrinkStyle","expandChildStyle","shrinkChildStyle","containerContainer","expandChild","shrinkChild","dir","onExpandScroll","onShrinkScroll","onExpand","onShrink","registerListenersAndPositionElements","updateChildSizes","updateDetectorElements","done","sizeChanged","areElementsInjected","w","h","notifyListenersIfNeeded","lastNotifiedWidth","lastNotifiedHeight","listeners","handleScroll","finalizeDomMutation","ready","install","isInShadowRoot","getRootNode","contains","ownerDocument","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","obj","isArray","toArray","array","isElement","nodeType","set","idGenerator","defaultIdHandler","globalOptions","callOnAdd","detectionStrategy","eventListenerHandler","elementUtils","desiredStrategy","importantCssRules","strategyOptions","onReadyCallbacks","listenTo","elements","onResizeCallback","elementsReady","onReadyCallback","initState","isDetectable","isBusy","markBusy","markAsDetectable","removeListener","removeAllListeners","cleanState","busy","idCount","generate","eventListeners","getListeners","len","splice","quiet","noop","console","attachFunction","_erd","l","m","d","Object","defineProperty","enumerable","Symbol","toStringTag","__esModule","create","bind","default","hasOwnProperty","s","x","y","Math","sqrt","PI","Map","has","split","preventDefault","match","changedTouches","pageXOffset","documentElement","parentNode","pageYOffset","charAt","toUpperCase","g","b","PointerEvent","MSPointerEvent","O","start","move","end","_","on","_handlers_","off","trigger","target","config","defaults","bindEvt","_domHandlers_","unbindEvt","T","k","identifier","frontPosition","threshold","color","fadeTime","dataOnly","restJoystick","restOpacity","mode","zone","lockX","lockY","shape","buildEl","stylize","instance","ui","show","hide","addToDom","remove","removeFromDom","destroy","setPosition","resetDirection","computeDirection","constructor","back","front","opacity","display","zIndex","marginLeft","marginTop","background","applyStyles","removeTimeout","showTimeout","restTimeout","restCallback","direction","angle","radian","P","E","nipples","idles","actives","ids","pressureIntervals","manager","multitouch","maxNumberOfNipples","catchDistance","dynamicPage","follow","parentElement","parentIsFlex","updateBox","prepareNipples","bindings","begin","processOnMove","processOnEnd","touchAction","msTouchAction","createNipple","getIdentifier","scroll","box","getBoundingClientRect","bindNipple","onDestroyed","pressureFn","clearInterval","setInterval","pressure","webkitForce","onstart","processOnStart","keys","values","touches","findIndex","bindDocument","pageX","pageY","getOrCreate","removeIdentifier","test","isNaN","buttons","atan2","distance","min","cos","sin","max","I","z","D","M","degree","vector","raw","unbindDocument","index","collections","prepareCollections","every","createCollection","bindCollection","binded","pointerId","latest","onmove","onAny","onend","oncancel","_found_","factory","define","amd","nipplejs","NotyfArrayEvent","__assign","assign","NotyfNotification","eventType","callbacks","triggerEvent","event","_this","Add","Remove","NotyfEvent","NotyfArray","notifications","elem","updateFn","num","onUpdate","Dismiss","Click","DEFAULT_OPTIONS","types","backgroundColor","icon","tagName","duration","ripple","dismissible","NotyfView","events","X_POSITION_FLEX_MAP","center","Y_POSITION_FLEX_MAP","docFrag","createDocumentFragment","notyfContainer","_createHTMLElement","animationEndEventName","_getAnimationEndEventName","_createA11yContainer","_a","update","notification","addNotification","removeNotification","node","handleEvent","renderedNotification","_popRenderedNotification","classList","_renderNotification","_announce","message","card","_buildNotificationCard","idx","getXPosition","getYPosition","adjustContainerAlignment","align","justify","iconOpts","notificationElem","wrapper","mainColor","iconContainer","String","valueOf","className_1","text","_b","iconElement","dismissWrapper","dismissButton","stopPropagation","textContent","a11yContainer","border","clip","margin","overflow","padding","outline","transitions","MozTransition","OTransition","WebkitTransition","transition","Notyf","opts","dismiss","_removeNotification","view","registerTypes","payload","normalizeOptions","open","success","defaultOpts","find","assignProps","_pushNotification","dismissAll","props","prop","incomingTypes","map","defaultType","userTypeIdx","userType","TypeError","configurable","S","next","includes","filter","some","filterReject","foo","Boolean","floor","return","from","toString","callee","getPrototypeOf","IteratorPrototype","writable","global","unsafe","nonConfigurable","nonWritable","PROPER","CONFIGURABLE","BUGGY_SAFARI_ITERATORS","C","A","R","N","j","L","entries","proto","forced","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","Deno","versions","v8","stat","dontCallGetSet","sham","RegExp","flags","exec","Function","Reflect","getOwnPropertyDescriptor","EXISTS","globalThis","self","hasOwn","propertyIsEnumerable","inspectSource","WeakMap","facade","enforce","getterFor","normalize","NATIVE","POLYFILL","Number","isInteger","isFinite","getter","setter","arity","source","ceil","trunc","for","keyFor","getOwnPropertySymbols","write","close","parentWindow","ActiveXObject","domain","src","contentWindow","F","defineProperties","getOwnPropertyNames","isPrototypeOf","random","__defineSetter__","setPrototypeOf","__proto__","lastIndex","BROKEN_CARET","groups","sticky","multiline","input","hasIndices","ignoreCase","dotAll","unicode","unicodeSets","MISSED_STICKY","UNSUPPORTED_Y","copyright","license","charCodeAt","codeAt","iterator","withoutSetter","kind","Arguments","reduce","sort","fromCharCode","stringify","NaN","parseInt","__defineGetter__","getOwnPropertyDescriptors","SyntaxError","B","K","U","H","string","matchAll","regexp","$","G","V","Y","QObject","W","X","J","q","Q","Z","tt","et","nt","findChild","ot","rt","tag","description","it","at","lt","st","ut","ct","wrap","useSetter","useSimple","key","Element","createElementNS","DOMException","getAttribute","_updateClassName","item","toggle","number","getOptions","getCaretPosition","getCaretPositionEnd","dispatch","bindMethods","getButtonType","getDefaultDiplay","removeAt","removeForwardsAt","addStringAt","tabCharOnTab","newLineOnEnter","updateCaretPosAction","setCaretPosition","isMaxLengthReached","updateCaretPos","substring","substr","maxLength","inputName","maxLengthReached","maxTouchPoints","getSimpleKeyboardLayoutKey","getButtonElement","physicalKeyboardHighlightBgColor","physicalKeyboardHighlightTextColor","physicalKeyboardHighlightPress","physicalKeyboardHighlightPressUsePointerEvents","onpointerdown","physicalKeyboardHighlightPressUseClick","click","handleButtonClicked","removeAttribute","onpointerup","keyCodeToKey","keyCode","utilities","pageSize","layoutCandidatesPageSize","candidateBoxElement","pageIndex","candidateValue","targetElement","onSelect","chunkArray","renderPage","candidateListPages","nbPages","onItemSelected","MouseEvent","onclick","prepend","querySelector","HTMLDivElement","keyboardDOMClass","keyboardDOM","caretPosition","caretPositionEnd","modules","handleParams","layoutName","theme","preventMouseDownDefault","enableLayoutCandidates","excludeFromLayout","keyboardPluginClasses","defaultName","buttonElements","SimpleKeyboardInstances","currentInstanceName","camelCase","allKeyboardInstances","keyboardInstanceNames","isFirstKeyboardInstance","physicalKeyboard","candidateBox","render","loadModules","layoutCandidates","layoutCandidatesCaseSensitiveMatch","candidateKey","getInput","setInput","onChange","onChangeAll","getAllInputs","getUpdatedInput","isStandardButton","activeInputElement","setSelectionRange","onKeyPress","inputPattern","inputPatternIsValid","handleMaxLength","syncInstanceInputs","getInputCandidates","showCandidatesBox","isMouseHold","stopMouseDownPropagation","activeButtonClass","holdInteractionTimeout","holdTimeout","setMouseHold","disableButtonHold","getMouseHold","handleButtonHold","preventMouseUpDefault","stopMouseUpPropagation","recurseButtons","onKeyReleased","replaceInput","rtl","changedOptions","onSetOptions","JSON","keyboardRowsDOM","buttonTheme","class","handleKeyUp","handleKeyDown","handleMouseUp","handleTouchEnd","handleSelect","handleSelectionChange","caretEventHandler","physicalKeyboardHighlight","handleHighlightKeyUp","handleHighlightKeyDown","path","hasAttribute","disableCaretPositioning","selectionStart","selectionEnd","ontouchend","ontouchcancel","onmouseup","onpointercancel","ontouchstart","onmousedown","resetRows","initialized","buttonAttributes","attribute","processAutoTouchEvents","disableContextualWindow","oncontextmenu","autoUseTouchEvents","useTouchEvents","setEventListeners","onInit","isTouchDevice","onTouchDeviceDetected","beforeFirstRender","pointerEventsSupported","useMouseEvents","beforeRender","onRender","onModulesLoaded","init","children","layout","shift","disableRowButtonContainers","getKeyboardClassString","getButtonClass","getButtonDisplayName","mergeDisplay","useButtonTag","getButtonThemeClasses","setDOMButtonAttributes","handleButtonMouseDown","handleButtonMouseUp","parseRowDOMContainers","handleKeyboardContainerMouseDown","SimpleKeyboard","Build","short","buildSeed","deprecatedButton","createButton","keys_1","pointer_1","keyCodeToName","namedKeyCodes","symbol","handler","innerSize","round","innerTextSize","borderWidth","backgroundImage","symbolToUrl","button","createDiv","innerButton","innerText","fontSize","widthPx","heightPx","onStart","onDown","onClick","onEnd","onUp","onPrevent","capture","pointer","starters","enders","changers","leavers","prevents","innerHtml","mapToSymbol","mapTo","deprecatedCreateHandler","layers","action","fireKeyPress","fireKeyDown","fireKeyUp","ci","ident","toRemove","KBD_NONE","cssStyle","mouseOverlay","down","enter","fullscreen","save","keyboard","up","do","dw","dwn","le","lft","ri","rght","rgh","en","enr","ent","entr","_defineProperty","getGrid","gridType","getConfiguration","scale","cols","getCols","rows","getRows","middleCol","middleRow","columnsPadding","rowsPadding","columnWidth","rowHeight","cells","row","cellRow","col","centerX","centerY","aspect","cellCols","mapperOpt","mapper","setOnKeyDown","sendKeyEvent","setOnKeyUp","setOnKeyPress","simulateKeyPress","setOnKeysPress","keyCodes","extractLayersConfig","layersConfig","layer","control","controls","keyControl","initLayersControl","grid_1","button_1","keyboard_1","mouse_common_1","options_1","dosInstance","mirrored","layerName","selectedLayer","title","layerConfig","unbindKeyboard","unbindMouse","mouse","autolock","sensitivity","unbindControls","rebuild","_layers$options$optio","gridConfig","grid","sensors","ControlSensors","column","setHiddenAround","doOffsetColumnInRow","optionControls","mirroredInfo","columnsCount","middleColumn","leftStart","leftEnd","rightStart","rightEnd","factoryMapping","copy","leftSide","unbind","addOnResize","removeOnResize","activate","sensor","deactivate","register","Key","isHidden","Options","optionControl","_layers$options$optio2","createKeyboardControl","Keyboard","Switch","switchControl","setLayersConfig","getLayersConfig","ScreenMove","screenMoveControl","mX","mY","sendMouseMotion","PointerButton","pointerButtonControl","sendMouseButton","pointerButton","PointerMove","pointerMoveControl","PointerReset","pointerResetControl","sendMouseSync","PointerToggle","pointerToggleControl","pointerDisabled","NippleActivator","nippleActivatorControl","nippleContainer","cellSize","activeColumn","activeRow","evt","targetColumn","targetRow","step","half","started","keyboardControl","toggleKeyboard","onKeyboardVisibility","visible","setOnKeyboardVisibility","removeOnKeyboardVisibility","hidden","centralRow","centralColumn","setHiddenIfValid","rowCells","initLegacyLayersControl","nipple_1","layersNames","gestures","changeControlLayer","nipple","unbindOptions","mount","mapXY","mouse_swipe_1","mouse_not_locked_1","mouse_locked_1","eX","eY","frameWidth","frameHeight","containerWidth","containerHeight","onMouseDown","onMouseMove","onMouseUp","onMouseLeave","pressedButton","getPointerState","onLeave","canLock","mouseSwipe","mouseLocked","mouseNotLocked","isNotLocked","pointerLockElement","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","sendMouseRelativeMotion","exitPointerLock","xy","startedAt","acc","prevX","prevY","Date","now","abs","mapping","pressed","release","releaseOnEnd","tapJoysticks","usedTimes","joystickId","startTimes","delay","initNullLayersControl","helpers_1","createSelectForLayers","select","option","onchange","onLayerChange","controlsVisbile","keyboardVisible","updateVisibility","toggleOptions","toggleFullscreen","setOnFullscreen","fullscreenEnabled","intialDisplay","marginRight","marginBottom","onStop","KBD_kp0","KBD_f12","KBD_f11","KBD_f10","KBD_f9","KBD_f8","KBD_f7","KBD_f6","KBD_f5","KBD_f4","KBD_f3","KBD_f2","KBD_f1","KBD_z","KBD_y","KBD_x","KBD_w","KBD_v","KBD_u","KBD_t","KBD_s","KBD_r","KBD_q","KBD_p","KBD_o","KBD_n","KBD_m","KBD_l","KBD_k","KBD_j","KBD_i","KBD_h","KBD_g","KBD_f","KBD_e","KBD_d","KBD_c","KBD_b","KBD_a","KBD_9","KBD_8","KBD_7","KBD_6","KBD_5","KBD_4","KBD_3","KBD_2","KBD_1","KBD_0","KBD_up","KBD_left","KBD_pagedown","KBD_end","KBD_delete","KBD_pageup","KBD_home","KBD_insert","KBD_pause","KBD_printscreen","KBD_slash","KBD_comma","KBD_period","KBD_quote","KBD_semicolon","KBD_rightbracket","KBD_leftbracket","KBD_backslash","KBD_equals","KBD_minus","KBD_grave","KBD_numlock","KBD_scrolllock","KBD_capslock","KBD_rightshift","KBD_leftshift","KBD_rightctrl","KBD_leftctrl","KBD_rightalt","KBD_leftalt","KBD_space","KBD_enter","KBD_backspace","KBD_tab","KBD_esc","KBD_kpenter","KBD_kpplus","KBD_kpminus","KBD_kpmultiply","KBD_kpdivide","KBD_kpperiod","KBD_kp9","KBD_kp8","KBD_kp7","KBD_kp6","KBD_kp5","KBD_kp4","KBD_kp3","KBD_kp2","KBD_kp1","domToKeyCode","keyCodesToDom","domToKeyCodes","KBD_extra_lt_gt","KBD_right","KBD_down","domCode","Layers","notyf_1","simple_keyboard_1","mod","__importDefault","resizeDetector","root","fullscreenElement","canvas","video","loading","loaderText","clickToStart","play","onResize","onKeyDown","onKeyUp","onKeysPress","onSave","Promise","reject","onSaveStarted","onSaveEnded","initKeyEvents","initKeyboard","preventContextMenu","onfullscreenchange","onFullscreenChanged","keyboardInput","keyboardInputDiv","fireKeysPress","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitEnterFullscreen","removeOnFullscreen","onKeyboardChanged","then","notyf","catch","setOnSave","getOnSave","setOnSaveStarted","setOnSaveEnded","hideLoadingLayer","visibility","showLoadingLayer","setLoadingMessage","switchToVideo","showClickToStart","displayOrder","displayIndex","keyboardDiv","buttonToCode","setOptions","lifecycle","visibilityChange","visibilitHandler","pause","resume","mozHidden","msHidden","webkitHidden","onExit","MemStorage","setItem","storage","getItem","removeItem","clear","rect","targetTouches","clientX","clientY","offsetX","offsetY","movementX","movementY","pointers","isMobile","isTouch","isPointer","isMSPointer","mobile","LStorage","mem_storage_1","backend","prefix","localStorage","testBackend","sync","testKey","readedValue","setLocalStoragePrefix","startsWith","writeStringToKey","offset","readStringFromKey","EmulatorsUi","build_1","layers_1","lifecycle_1","xhr_1","_2d_1","webgl_1","video_1","audio_node_1","save_load_1","storage_1","js_dos_1","resolveBundle","webGl","_2d","audioNode","load","DosInstance","impl","emulatorsUi","Dos","dos","forceAspect","context","getContext","onResizeLayer","rgba","Uint8ClampedArray","onResizeFrame","onFrameSize","onFrame","frameRgb","frameRgba","frame","frameOffset","rgbaOffset","putImageData","ImageData","onMessage","msgType","stream","Janus","attachMediaStream","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","info","getShaderInfoLog","deleteShader","shaderProgram","vsSource","fsSource","vertexShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","vertexPosition","getAttribLocation","textureCoord","uSampler","getUniformLocation","positionBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","vertexAttribPointer","FLOAT","enableVertexAttribArray","textureCoordBuffer","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","pixel","Uint8Array","texImage2D","RGB","UNSIGNED_BYTE","useProgram","activeTexture","TEXTURE0","uniform1i","viewport","requestAnimationFrameId","frameFormat","rgb","RGBA","requestAnimationFrame","updateTexture","drawArrays","TRIANGLES","layers_config_1","legacy_layers_control_1","null_layers_control_1","layers_control_1","onSensitivityChanged","onScaleChanged","onVolumeChanged","dom","emulatorFunction","layersOptions","createTransportLayer","mobileControls","mirroredControls","scaleControlsValue","scaleControls","parseFloat","sensitivityValue","volumeValue","volume","onMobileControlsChanged","async","bundleUrl","optionalChangesUrl","optionalPersistKey","_config$output","_config$output$option","_config$output$option2","stop","persistKey","runBundle","graphics","persist","emulators","noWebGL","setVolumeImplFn","sound","output","disableMobileControls","ciPromise","exit","storedLayersConfig","enableMobileControls","setOnMobileControlsChanged","janus","bundlePromise","network","onprogress","percent","onExtractProgress","file","extracted","total","lastIndexOf","changesBundle","httpCache","bundle","url","resolve","request","XMLHttpRequest","overrideMimeType","responseType","onreadystatechange","readyState","status","response","porgress","loaded","setRequestHeader","send","_len","_key","makeCache","CacheNoop","put","each","logger","CacheDbImpl","msg","onErr","onready","onerror","indexedDB","mozIndexedDB","webkitIndexedDB","msIndexedDB","openRequest","_openRequest$error","onsuccess","db","onupgradeneeded","createObjectStore","storeName","transaction","oncomplete","objectStore","rejectOrResolve","openCursor","cursor","continue","cachePromise","cache","updated","buffer","SamplesQueue","samples","samplesQueue","writeTo","dst","bufferSize","writeIt","toRead","fill","sampleRate","soundFrequency","audioContext","AudioContext","latencyHint","webkitAudioContext","onSoundPush","createScriptProcessor","active","directSound","onaudioprocess","numFrames","outputBuffer","numChannels","numberOfChannels","numSamples","subarray","channel","getChannelData","ringSize","samplesCount","channelData","gainNode","createGain","connect","destination","gain","resumeWebAudio","once","disconnect","isCallable","tryToString","$TypeError","argument","isConstructor","$String","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","undefined","Prototype","isObject","ArrayBuffer","DataView","NAME","Constructor","NATIVE_ARRAY_BUFFER","DESCRIPTORS","classof","createNonEnumerableProperty","defineBuiltIn","uid","InternalStateModule","enforceInternalState","getInternalState","Int8Array","Int8ArrayPrototype","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","TypedArrayConstructor","isTypedArray","klass","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","KEY","ARRAY","error2","exportTypedArrayStaticMethod","isView","uncurryThis","FunctionName","defineBuiltIns","fails","anInstance","toIntegerOrInfinity","toLength","toIndex","IEEE754","arrayFill","arraySlice","setToStringTag","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","setInternalState","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","RangeError","reverse","packIEEE754","pack","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","count","isLittleEndian","intIndex","store","byteLength","bytes","byteOffset","conversion","INCORRECT_ARRAY_BUFFER_NAME","testView","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toObject","toAbsoluteIndex","lengthOfArrayLike","argumentsLength","endPos","toIndexedObject","createMethod","IS_INCLUDES","$this","fromIndex","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","that","specificCreate","boundFunction","createProperty","$Array","fin","mergeSort","comparefn","middle","insertionSort","merge","llength","rlength","lindex","rindex","SPECIES","originalArray","arraySpeciesConstructor","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","ENUMERABLE_NEXT","bitmap","toPropertyKey","propertyKey","makeBuiltIn","defineGlobalProperty","simple","IS_PURE","createIteratorConstructor","IteratorsCore","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","DOMTokenListPrototype","firefox","UA","getBuiltIn","webkit","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","regexpExec","RegExpPrototype","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","re","uncurriedNativeRegExpMethod","nativeMethod","str","arg2","forceStringMethod","uncurriedNativeMethod","$exec","NATIVE_BIND","FunctionPrototype","aCallable","getDescriptor","aFunction","namespace","getMethod","anObject","getIteratorMethod","usingIterator","iteratorMethod","func","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","captures","namedCaptures","replacement","tailPos","symbols","ch","check","pow","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","sign","Infinity","nBits","dummy","Wrapper","NewTarget","NewTargetPrototype","functionToString","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","wmget","wmhas","wmset","metadata","STATE","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","feature","detection","USE_SYMBOL_AS_UID","$Symbol","PrototypeOfArrayIteratorPrototype","arrayIterator","dup","CONFIGURABLE_LENGTH","TEMPLATE","V8_VERSION","activeXDocument","definePropertiesModule","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","temp","NullProtoObject","iframeDocument","iframe","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","pref","val","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","group","charsAdded","strCopy","$RegExp","CONSTRUCTOR_NAME","TAG","SHARED","requireObjectCoercible","CONVERT_TO_STRING","pos","first","second","integer","$RangeError","toPositiveInteger","BYTES","isSymbol","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","isIntegralNumber","toOffset","typedArrayFrom","setSpecies","inheritIfRequired","nativeDefineProperty","nativeGetOwnPropertyDescriptor","BYTES_PER_ELEMENT","WRONG_LENGTH","fromList","list","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","exported","addElement","typedArrayOffset","$length","$len","checkCorrectnessOfIteration","iterable","aConstructor","getIterator","isArrayIteratorMethod","mapfn","postfix","NATIVE_SYMBOL","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","addToUnscopables","defineIterator","ARRAY_ITERATOR","iterated","fixRegExpWellKnownSymbolLogic","advanceStringIndex","getSubstitution","regExpExec","REPLACE","stringIndexOf","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","rx","res","functionalReplace","fullUnicode","results","accumulatedResult","nextSourcePosition","replacerArgs","$set","WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS","TO_OBJECT_BUG","arrayLike","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","un$Sort","ACCEPT_INCORRECT_ARGUMENTS","STABLE_SORT","expected","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","gzSize","dos_conf_1","libzip_1","http_1","libzipWasm","createDosConfig","sources","autoexec","lines","script","cycles","cpu","extract","extractAll","overwriteConfig","instantiate","libzip","conf","toDosboxConf","promises","resource","httpRequest","writeFile","readmeTxt","resources","zipToFs","zipFromFs","AutoexecCategory","MixerCategory","CpuCategory","DosboxCategory","OutputCategory","allowedValues","machine","core","cputype","rate","nosound","dosbox","mixer","validateCategory","category","valid","categoryName","validOption","allowedValue","normalizeCategory","validCategory","writeCategory","section","dosDirect","messages_queue_1","wasmModule","sessionId","messagesQueue","MessagesQueue","sleepHandler","postMessage","transportLayer","sendMessageToServer","messageHandler","initMessageHandler","newHandler","sendTo","passive","callMain","dosWorker","workerUrl","worker","Worker","filename","onmessage","terminate","NetworkType","emulators_impl_1","NETWORK_DOSBOX_IPX","Xhr","fail","makeHttpRequest","progressListner","errorListener","xhr","progress","onReadyStateChange","CommandInterfaceEventsImpl","consumer","onStdoutConsumers","delayedStdout","fireStdout","onFrameSizeConsumers","onFrameConsumers","onSoundPushConsumers","onExitConsumers","onMessageConsumers","delayedMessages","networkType","address","port","onNetworkConnectedConsumers","onNetworkDisconnectedConsumers","onNetworkConnected","onNetworkDisconnected","modules_1","dos_bundle_1","direct_1","worker_1","janus_impl_1","protocol_1","wasmModules","dosboxDirect","dosboxWasm","pathPrefix","wdosboxJs","restUrl","CommandInterfaceOverTransportLayer","err","wasmModulesPromise","WasmModulesImpl","dosboxWorker","loadWasmModule","host","moduleName","globals","compiled","emModule","compiledModulePromise","CompiledNodeModule","promise","wIndex","isWasmUrl","wasmSupported","wasmUrl","binaryPromise","scriptPromise","binary","WebAssembly","compile","eval","CompiledBrowserModule","receiveInstance","env","wmodule","Module","of","Instance","imul","al","bl","fround","clz32","libzipPromise","loadModule","dosboxPromise","initialModule","onRuntimeInitialized","instantiateWasm","ci_impl_1","dataAssembler","onError","assemble","splitIndex","base64Text","atob","TextDecoder","decode","JanusBackendImpl","_opaqueId","configResolveFn","parse","_this$handle","opaqueId","sentAtStr","receivedAtStr","sentAt","receivedAt","returnedAt","bitrateStr","handle","getBitrate","bitrate","sendPipeMessage","eventsImpl","logYellowMs","logWhiteMs","logRedMs","jsep","createAnswer","media","audioSend","videoSend","fireMessage","exitPromise","exitResolveFn","configPromise","handlePromise","handleResolveFn","live","eventIntervalId","sendEventsData","rttIntervalId","attach","handleRef","plugin","onJanusMessage","onremotestream","ondataopen","ondata","onDataMessage","screenshot","timeMs","_len2","_key2","addKey","keyMatrix","logIntervalId","logColor","logVisual","ctx","_ctx$getImageData","drawImage","imageData","getImageData","captureTime","newColor","eventQueue","_len3","parts","_key3","part","mute","unmute","networkConnect","ip","networkDisconnect","isWebrtcSupported","handlers","destroyed","server","janusImpl","randomString","destroyOnUnload","home","chdirToHome","changedAfterMs","ptr","_zip_from_fs","HEAPU32","archive","HEAPU8","_free","zipArchive","normalizeFilename","pathParts","createPath","chdir","_malloc","retcode","_zip_to_fs","FS","encoding","readFile","exists","lookupPath","_libzip_destroy","messages","bundles","transport","configResolve","onServerMessage","sendClientMessage","sharedMemory","panicMessages","onFrameLines","onLog","onWarn","onStdout","onPersist","onSoundInit","freq","onConfig","connectResolve","connectPromise","connectReject","fireNetworkConnected","disconnectResolve","disconnectPromise","fireNetworkDisconnected","fireFrameSize","rgbaPtr","line","heapu8","fireFrame","fireSoundPush","relative","persistPromise","persistResolve","exitResolve","fireExit","location","protocol","zip","inflate_trees_bits","inflate_trees_dynamic","next_in_index","avail_in","bitb","bitk","read","read_byte","total_in","proc","inflate_flush","free","inflate_trees_fixed","reset","next_out_index","avail_out","total_out","next_out","read_buf","set_dictionary","sync_point","istate","blocks","was","need","marker","wbits","inflateEnd","inflateInit","inflate","next_in","inflateSetDictionary","inflateSync","inflateSyncPoint","chunkSize","maxWorkers","hardwareConcurrency","terminateWorkerTimeout","useWebWorkers","workerScripts","Deflate","Inflate","deflate","aborted","flush","writeUint8Array","super","blob","FileReader","readAsArrayBuffer","preventHeadRequest","useRangeHeader","forceRangeRequests","useXHR","headers","HEADER_RANGE","arrayBuffer","fetch","statusText","getResponseHeader","reader","readUint8Array","href","crc","append","getPartial","_shiftRight","bitLength","clamp","partial","pop","fromBits","toBits","ee","sha1","_h","_buffer","_length","blockSize","_init","utf8String","_block","finalize","_f","_S","te","_tables","_precompute","encrypt","_crypt","decrypt","ne","_prf","_initIv","_iv","calculate","incWord","incCounter","ie","_hash","_baseHash","hash","_resultHash","_updated","digest","ae","se","oe","ce","iterations","de","ue","fe","he","_e","we","pe","be","ge","password","signed","strength","pendingInput","ve","me","passwordVerification","aesCtrGladman","hmac","authentication","xe","ye","crypto","getRandomValues","ke","signature","TextEncoder","encode","subtle","importKey","deriveBits","salt","Re","ze","Ee","Ue","Se","Te","De","crcKey0","crcKey2","Ce","Fe","Oe","Ie","We","compressed","zipCrypto","encryptionStrength","encrypted","crc32","Me","He","Le","Be","Pe","je","codecConstructor","scripts","interface","onTaskFinished","stack","URL","__filename","currentScript","baseURI","codecType","qe","Ve","Ge","terminateTimeout","Ze","Ke","Xe","Ye","Je","Qe","$e","extraFieldAES","compressionMethod","bitFlag","rawLastModDate","compressedSize","localDirectory","xt","yt","originalCompressionMethod","bt","filenameLength","extraFieldLength","rawExtraField","lastAccessDate","creationDate","webWorker","dataDescriptor","signal","getData","rawBitFlag","pt","languageEncodingFlag","lastModDate","ht","extraField","uncompressedSize","zip64","gt","extraFieldZip64","dt","extraFieldUnicodePath","extraFieldUnicodeComment","vendorVersion","wt","vendorId","getBigUint64","rawLastAccessDate","rawCreationDate","_t","extraFieldNTFS","extraFieldExtendedTimestamp","ft","BigInt","BlobReader","BlobWriter","contentType","Blob","Data64URIReader","dataURI","dataStart","Data64URIWriter","pending","btoa","ERR_ABORT","ERR_BAD_FORMAT","ERR_CENTRAL_DIRECTORY_NOT_FOUND","ERR_ENCRYPTED","ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND","ERR_EOCDR_NOT_FOUND","ERR_EOCDR_ZIP64_NOT_FOUND","ERR_EXTRAFIELD_ZIP64_NOT_FOUND","ERR_HTTP_RANGE","ERR_INVALID_PASSWORD","ERR_INVALID_SIGNATURE","ERR_LOCAL_FILE_HEADER_NOT_FOUND","ERR_UNSUPPORTED_COMPRESSION","ERR_UNSUPPORTED_ENCRYPTION","HttpRangeReader","HttpReader","Reader","TextReader","blobReader","TextWriter","readAsText","Uint8ArrayReader","Uint8ArrayWriter","Writer","ZipReader","versionMadeBy","msDosCompatible","commentLength","directory","internalFileAttribute","externalFileAttribute","rawFilename","filenameUTF8","commentUTF8","rawComment","comment","endsWith","configure","getMimeType","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","arr","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","callWithSafeIterationClosing","IS_CONSTRUCTOR","iteratorClose","tryGet","innerResult","innerError","searchParams","pathname","toJSON","URLSearchParams","username","$assign","alphabet","chr","ENUMERABLE","WRITABLE","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","digitToBasic","digit","adapt","delta","numPoints","firstTime","baseMinusTMin","base","counter","extra","ucs2decode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","label","encoded","labels","passed","required","STRING_ITERATOR","point","USE_NATIVE_URL","$toString","validateArgumentsLength","arraySort","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","safeGetBuiltIn","nativeFetch","NativeRequest","Headers","RequestPrototype","HeadersPrototype","decodeURIComponent","encodeURIComponent","plus","sequences","percentSequence","percentDecode","sequence","deserialize","replacements","serialize","URLSearchParamsIterator","params","entry","URLSearchParamsState","parseObject","parseQuery","bindURL","entryIterator","entryNext","query","attributes","updateURL","URLSearchParamsConstructor","URLSearchParamsPrototype","delete","getAll","found","headersHas","headersSet","wrapRequestOptions","RequestConstructor","Request","EOF","defineBuiltInAccessor","arrayFrom","toASCII","URLSearchParamsModule","getInternalURLState","getInternalSearchParamsState","NativeURL","numberToString","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","serializeHost","compress","ignore0","ipv6","maxIndex","currStart","currLength","findLongestZeroSequence","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","specialSchemes","ftp","http","https","ws","wss","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","URLState","isBase","baseState","failure","urlString","stateOverride","codePoints","bufferCodePoints","seenAt","seenBracket","seenPasswordToken","scheme","fragment","cannotBeABaseURL","isSpecial","includesCredentials","codePoint","encodedCodePoints","parseHost","shortenPath","numbersSeen","ipv4Piece","swaps","swap","pieceIndex","parseIPv6","partsLength","numbers","radix","ipv4","parseIPv4","cannotHaveUsernamePasswordPort","pathSize","setHref","getOrigin","URLConstructor","origin","getProtocol","setProtocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","getSearch","setSearch","search","getSearchParams","getHash","setHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","htm","nanoid","customAlphabet","defaultSize","defaultProps","ref","__k","__","__b","__e","__d","__c","__h","__v","vnode","__r","debounceRendering","__P","__n","ownerSVGElement","nextSibling","contextType","__E","sub","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","diffed","localName","createTextNode","is","dangerouslySetInnerHTML","__html","checked","unmount","componentWillUnmount","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","hydrate","Fragment","createRef","isValidElement","Component","cloneElement","createContext","Consumer","Provider","toChildArray","__H","__V","cancelAnimationFrame","useState","useReducer","useEffect","useLayoutEffect","useRef","useImperativeHandle","useMemo","useCallback","useContext","useDebugValue","useErrorBoundary","preact","getAutoRegion","v7_config_1","withTimeout","region","timeoutMs","getLatencyForRegionWithFetch","okUrl","ok","estimateTime","onLatencyUpdate","regions","awsRegions","regionLatency","latency","delayed","checkOne","regionRegExp","performance","getEntriesByType","matches","minLatency","debugInfo","estimation","sorted","asc","putPersonalBundle","getPersonalBundleUrl","personal_1","isEmpty","zipReader","getEntries","isEmptyArchive","postObject","personalPut","personalAcl","checkoutEndpoint","checkoutCreateTokenEndpoint","stopIpx","startIpx","addFreeTimeTierEndpoint","tokeInfoGetEndpoint","createTokenEndpoint","endpointBase","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_taggedTemplateLiteral","strings","freeze","ActionBar","dom_1","icons_1","controls_1","More","noSocialLinks","noSideBar","windowOpen","Icons","Plus","SideBarControl","toggleSideBar","sideBar","closeSideBar","openSideBar","withNetworkingApi","DotsHorizontal","ipxConnected","Online","Offline","actionBar","addBorder","Controls","ActionHide","setActionBar","ChevronLeft","ChevronRight","ActionSaveOrExit","hooks_1","pulse","setPulse","setBusy","onExitDefined","preventUnload","onBeforeUnload","player","returnValue","_props$options$onBefo","_props$options","onBeforeExit","XCircle","FloppyDisk","Client","dom_2","clientRequested","setClientRequested","requestClientId","clientId","requestLogin","setClientId","UserCircle","changes","downloadFile","downloadChanges","Download","MouseControls","setOpen","setMouseLock","newLock","setAutolock","portal","toggleMouseLock","CursorClick","Cursor","VirtualControls","setMobileControls","SwithcHorizontal","Mobile","EyeOff","setMirroredControls","setPause","Play","Pause","setMute","VolumeOff","VolumeUp","PencilAlt","noFullscreen","ArrowsExpand","SideBarCpuControl","horizontal_slider_1","HorizontalSlider","minValue","maxValue","initialValue","valueRange","sliderRef","setValue","setOpacity","calcValue","ev","boundingRect","rawPercent","onMove","newValue","registerListner","maxLabel","Region","regionAndLatency","latencyInfo","estimatingRegion","setRegion","Refresh","SideBarScaleControl","ActionBarScaleControl","vertical_slider_1","VerticalSlider","setScaleControls","registerOnScaleChanged","removeOnScaleChanged","SideBarSensitivityControl","ActionBarSensitivityControl","setSensitivity","registerOnSensitivityChanged","removeOnSensitivityChanged","SideBar","main_1","latency_info_1","networking_1","latency_1","SocialIcons","openDiscrodPage","openTelegramPage","sideBarPage","Discord","Telegram","Twitter","CurrencyDollar","setEstimatingRegion","setLatencyInfo","networking","setSideBarPage","ArrowsCircleLeft","setShowTips","QuestionMarkCircle","Main","LatencyInfo","Networking","showLatencyInfoPage","asButton","ArrowsCircleRight","_templateObject7","_templateObject8","client_1","region_1","scale_control_1","volume_control_1","sensitivity_control_1","LabeledSlideBar","slideBar","appProps","ConfigureNetworking","SideBarVolumeControl","token_1","TokenConfiguration","TokenAddTime","request_1","freeTimeSec","setError","time","setTime","accessToken","setAccessToken","needReload","setNeedReload","busyOrNoToken","newTime","currentTarget","product","_props$clientId","anonymousClientId","token","networkToken","createToken","purchase","describe","TokenSelect","_props$networkToken","setToken","awaitingToken","setAwaitingToken","generateNewToken","_e$currentTarget$valu","changeToken","confirm","setNetworkToken","newToken","checkToken","_templateObject6","_templateObject9","_templateObject10","_templateObject11","_templateObject12","token_select_1","token_add_time_1","TokenTtlCountDown","ttlMs","setTtlMs","endTime","timeSec","days","hours","humanizeTime","IPX","awaiting","setAwaiting","ipx","arn","setAddress","setAwaitingAddress","_e$errorCode2","errorCode","connectText","awaitingConnection","onConnectClick","_props$player$ciPromi","newConnected","setAwaitingConnection","hardware","setIpxConnected","toggleConnected","awaitingAddress","TaskWaitCountDown","setArn","_e$errorCode","countDown","setCountDown","setEndTime","ipxArn","setIpxArn","ipxAddress","setIpxAddress","awaitingIpxAddress","setAwaitingIpxAddress","awaintngIpxConnection","setAwaitingIpxConnection","ipxProps","tokenProps","ttlSec","headerWithRefresh","SyncMouseControl","Tips","pages","mouseLockMobile","tip","mouseLockDesktop","lockSwitch","sidebar","saveLoad","pageSeq","showTips","setPageIndex","page","lastPage","InformationCircle","ActionBarVolumeControl","setVolume","registerOnVolumeChanged","removeOnVolumeChanged","activeClass","primaryClass","disabledClass","goneClass","preact_1","htm_1","callbackFn","downloadFileUrl","fileName","mimeType","download","__createBinding","k2","desc","__setModuleDefault","__importStar","hardwareTransportLayerFactory","HardwareTransportLayerFactory","base64","textDecoder","HardwareTransportLayer","realtime","sendMessage","errorMessage","alive","mouseMove","mouseButton","optProps","readConfig","updateFrame","framePayload","getFramePayload","framePayloadU8","pitch","upBorder","lastLine","range","serverMessage","json","serverMessageHandler","createFile","chunk","appendFile","closeFile","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","Upload","createPlayerApp","PlayerApp","action_hide_1","action_bar_1","action_save_or_exit_1","sidebar_1","tip_1","non_secure_1","sync_control_1","storageKeys","playerProps","actionaBarHidden","requestClientIdFn","userGesture","setSideBar","setKeyboard","setFullscreen","_setRegion","storedId","localId","onTokenRequest","_e$source","setOnRun","showTipsAutolok","newFullscreen","setDosPause","_playerProps$player$c","_playerProps$player$c2","newRegion","newShowTips","DosPlayer","hardware_transport_layer_1","player_app_1","dosImpl","optOptions","modal","modalText","appRoot","showModal","onRun","newOnRun","runFn","run","getClientId","saveFn","closeOnSave","showModals","stopFn","endpoint","_result$message","responseText","post","getPersonalBundleKey","uploadsS3Bucket","uploadsS3Url","publishToken","basename","personalBundleKey"],"mappings":"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AA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,KAAAmS,EAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,GAAA,EAAA,KAAA,GAAA,EAAA,EAAA,GAAA,EAAA,KAAA,GAAA,EAAA,GAAA,GAAA,EAAA,MAAA,GAAA,EAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,GAAA,EAAA,KAAA,GAAA,EAAA,EAAA,GAAA,EAAA,KAAA,GAAA,EAAA,IAAA,IAAA,EAAA,MAAA,GAAA,EAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,GAAA,EAAA,KAAA,GAAA,EAAA,EAAA,GAAA,EAAA,KAAA,GAAA,EAAA,GAAA,GAAA,EAAA,MAAA,GAAA,EAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,GAAA,GAAA,EAAA,MAAA,GAAA,EAAA,GAAA,GAAA,EAAA,KAAA,GAAA,EAAA,IAAA,IAAA,EAAA,OAAAzS,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,EAAA,GAAAG,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,KAAAyR,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAAA,KAAA,KAAA,KAAA,KAAA,KAAA,KAAA,MAAA,MAAA,OAAAE,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,SAAA5R,IAAA,IAAAL,EAAAE,EAAAH,EAAAU,EAAAmS,EAAAvS,EAAA,SAAAyN,EAAA9N,EAAAE,EAAAC,EAAAG,EAAAyR,EAAAE,EAAAnE,EAAAwG,EAAAzG,EAAAjN,EAAAmT,GAAA,IAAAD,EAAAhB,EAAAD,EAAAb,EAAAkD,EAAA3R,EAAAgiB,EAAAC,EAAA0H,EAAAnV,EAAAgM,EAAAzI,EAAAC,EAAAtG,EAAAyV,EAAA3S,EAAA,EAAA7C,EAAA/U,EAAA,GAAAJ,EAAAC,EAAAE,EAAA6X,MAAAA,IAAA7C,UAAA,IAAAA,GAAA,GAAAnV,EAAA,IAAAI,EAAA,OAAA2N,EAAA,IAAA,EAAAwG,EAAA,GAAA,EAAA,EAAA,IAAAkR,EAAAlR,EAAA,GAAA/Q,EAAA,EAAAA,GAAA,IAAA,IAAAxD,EAAAwD,GAAAA,KAAA,IAAAgiB,EAAAhiB,EAAAiiB,EAAAjiB,IAAAiiB,EAAAjiB,GAAA2R,EAAA,GAAA,IAAAA,GAAA,IAAAnV,EAAAmV,GAAAA,KAAA,IAAArC,EAAAqC,EAAAsQ,EAAAtQ,IAAAsQ,EAAAtQ,GAAAZ,EAAA,GAAAkR,EAAAvQ,EAAA,GAAA1R,EAAAA,EAAA2R,EAAA3R,IAAA0R,IAAA,EAAA,IAAAA,GAAAlV,EAAAwD,IAAA,EAAA,OAAAtD,EAAA,IAAAgV,GAAAlV,EAAAmV,IAAA,EAAA,OAAAjV,EAAA,IAAAF,EAAAmV,IAAAD,EAAA5U,EAAA,GAAAkD,EAAA,EAAAwU,EAAA,EAAAwD,EAAA,EAAA,KAAArG,GAAA7U,EAAAkb,GAAAhY,GAAAxD,EAAAgY,GAAAwD,IAAAxD,IAAA7C,EAAA,EAAA6C,EAAA,EAAA,GAAA,KAAAxU,EAAAvD,EAAAE,EAAA6X,MAAAhE,EAAA1T,EAAAkD,MAAA2R,GAAA6C,YAAA7C,EAAA/U,GAAA,IAAAA,EAAAE,EAAAwS,GAAAxS,EAAA,GAAA6U,EAAA,EAAA6C,EAAA,EAAA/F,GAAA,EAAAsJ,GAAAkK,EAAA5S,EAAA,GAAA,EAAAmR,EAAA,EAAA2G,EAAA,EAAAnF,GAAA1S,EAAA0S,IAAA,IAAAzR,EAAA/T,EAAAwlB,GAAA,GAAAzR,KAAA,CAAA,KAAAyR,EAAAjK,EAAAkK,GAAA,CAAA,GAAAxT,IAAAsJ,GAAAkK,EAAAkF,EAAA7X,EAAAyI,EAAAoP,EAAAA,EAAAlF,EAAAA,EAAAkF,GAAA5X,EAAA,IAAAvP,EAAAgiB,EAAAjK,IAAAxH,EAAA,IAAAhB,GAAAgB,EAAA,EAAAyH,EAAAgK,EAAAhiB,EAAAmnB,GAAA,OAAAnnB,EAAAmnB,MAAA5X,IAAA,IAAA/S,IAAAwb,KAAAzI,GAAA/S,EAAAwb,GAAA,GAAAmP,EAAA,GAAAnnB,EAAA3C,EAAA,GAAA8pB,EAAA,KAAA,OAAAzqB,EAAA2S,EAAAZ,GAAA+R,EAAAnjB,EAAA,GAAAA,EAAA,IAAA8pB,EAAA,IAAA1Y,GAAA3R,EAAA2R,GAAAkD,EAAAzU,EAAA,GAAA8C,EAAA9C,EAAA,GAAA+kB,EAAAjiB,EAAA2R,IAAAoG,EAAAkK,EAAA/kB,EAAA,GAAAsjB,EAAAnR,EAAAZ,EAAA,GAAAzO,EAAAsK,EAAA6B,IAAAjP,EAAA,GAAAmS,EAAAZ,EAAA,GAAAzO,KAAAuK,EAAA,GAAAiW,EAAA,IAAAtjB,EAAA,GAAA8kB,EAAAjK,EAAAvD,GAAA5X,EAAAM,EAAA,GAAA,IAAAsT,EAAAgE,GAAAzX,GAAAG,EAAA,GAAAsT,EAAAgE,GAAA,IAAA,EAAA,GAAAtX,EAAA,GAAAsT,EAAAgE,OAAAtX,EAAA,GAAAwR,EAAA8B,EAAAgE,GAAAzX,GAAA,GAAA,GAAAG,EAAA,GAAAsR,EAAAgC,EAAAgE,KAAAzX,IAAAwS,EAAA,GAAAyS,EAAAjK,EAAA/X,EAAA2R,IAAAoG,EAAA/X,EAAAmnB,EAAAnnB,GAAAuP,EAAAjF,EAAA6B,IAAAjP,EAAA,GAAAsjB,EAAAxgB,IAAA,IAAAA,EAAA,GAAAgiB,EAAA,EAAA,IAAArQ,EAAA3R,GAAAA,KAAA,EAAA2R,GAAA3R,EAAA,IAAA2R,GAAA3R,EAAA2pB,GAAA,GAAA5R,GAAA,GAAApG,EAAAgY,IAAA7sB,EAAA2R,IAAAA,IAAAsJ,GAAAkK,EAAA0H,GAAA,GAAA5R,GAAA,EAAA,OAAA,IAAArG,GAAA,GAAApC,EAAAzS,EAAA,EAAA,SAAAkU,EAAArU,GAAA,IAAAG,EAAA,IAAAJ,IAAAA,EAAA,GAAAE,EAAA,GAAAH,EAAA,IAAAsrD,WAAA,IAAA5qD,EAAA,GAAAmS,EAAA,IAAAy4C,WAAA,IAAAhrD,EAAA,IAAAgrD,WAAA,KAAAnrD,EAAAa,OAAAd,IAAAC,EAAA,IAAAE,EAAA,EAAAA,EAAAH,EAAAG,IAAAF,EAAAE,GAAA,EAAA,IAAAA,EAAA,EAAAA,EAAA,GAAAA,IAAAL,EAAAK,GAAA,EAAA,IAAAA,EAAA,EAAAA,EAAA,EAAAA,IAAAK,EAAAL,GAAA,EAAAwS,EAAAlD,IAAA3P,EAAAkoD,SAAA,EAAA,IAAA,GAAA5nD,EAAAqP,IAAA3P,EAAAkoD,SAAA,EAAA,IAAA,GAAAphD,KAAA6wE,mBAAA,SAAA33E,EAAAU,EAAAmS,EAAAzS,EAAAG,GAAA,IAAAyR,EAAA,OAAAuC,EAAA,IAAAtU,EAAA,GAAA,EAAA+R,EAAAjE,EAAA/N,EAAA,EAAA,GAAA,GAAA,KAAA,KAAA6S,EAAAnS,EAAAN,EAAAH,EAAAE,GAAA6R,GAAA9R,EAAAK,EAAAwkD,IAAA,0CAAA/yC,GAAA3R,GAAA,IAAAK,EAAA,KAAAH,EAAAwkD,IAAA,sCAAA/yC,EAAA9R,GAAA8R,GAAAlL,KAAA8wE,sBAAA,SAAA53E,EAAAU,EAAAmS,EAAApS,EAAAH,EAAAwN,EAAAjN,EAAAmT,EAAAD,GAAA,IAAAhB,EAAA,OAAAwB,EAAA,KAAAtU,EAAA,GAAA,EAAA8S,EAAAhF,EAAA8E,EAAA,EAAA7S,EAAA,IAAAI,EAAAG,EAAAuN,EAAArN,EAAAuT,EAAA/T,EAAAE,GAAA,GAAA4S,GAAA,IAAAtS,EAAA,IAAAsS,GAAA7S,EAAA6T,EAAAgxC,IAAA,sCAAA,GAAAhyC,IAAAgB,EAAAgxC,IAAA,iCAAAhyC,EAAA7S,GAAA6S,IAAAwB,EAAA,KAAAxB,EAAAhF,EAAA8E,EAAA7S,EAAAU,EAAA,EAAAsR,EAAAE,EAAArR,EAAAP,EAAA0T,EAAA/T,EAAAE,GAAA,GAAA4S,GAAA,IAAAzS,EAAA,IAAAN,EAAA,KAAA+S,GAAA7S,EAAA6T,EAAAgxC,IAAA,+BAAAhyC,GAAA1S,GAAA0T,EAAAgxC,IAAA,2BAAAhyC,EAAA7S,IAAA,GAAA6S,IAAAgB,EAAAgxC,IAAA,mCAAAhyC,EAAA7S,GAAA6S,GAAA,IAAA,SAAAhF,IAAA,MAAA9N,EAAA6G,KAAA,IAAAzG,EAAAK,EAAAmS,EAAAzS,EAAAG,EAAA,EAAAyR,EAAA,EAAAE,EAAA,EAAAzR,EAAA,EAAAH,EAAA,EAAAyN,EAAA,EAAAwG,EAAA,EAAAzG,EAAA,EAAAjN,EAAA,EAAAmT,EAAA,EAAA,SAAAD,EAAA9T,EAAAE,EAAAE,EAAAK,EAAAmS,EAAAzS,EAAAG,EAAAyR,GAAA,IAAAE,EAAAzR,EAAAH,EAAAyN,EAAAwG,EAAAzG,EAAAjN,EAAAmT,EAAAD,EAAAhB,EAAAD,EAAAb,EAAAkD,EAAA3R,EAAAgiB,EAAAC,EAAA5kB,EAAAmR,EAAA6lE,cAAA7jE,EAAAhC,EAAA8lE,SAAAvjE,EAAAhU,EAAAw3E,KAAAjqE,EAAAvN,EAAAy3E,KAAAjkE,EAAAxT,EAAA6pB,MAAArX,EAAAgB,EAAAxT,EAAA03E,KAAA13E,EAAA03E,KAAAlkE,EAAA,EAAAxT,EAAA+T,IAAAP,EAAAjB,EAAA9S,EAAAC,GAAAgS,EAAAjS,EAAAG,GAAA,EAAA,CAAA,KAAA2N,EAAA,IAAAkG,IAAAO,IAAA,IAAAvC,EAAAkmE,UAAAr3E,OAAAiN,EAAAA,GAAA,EAAA,GAAAoE,EAAAqC,EAAAzB,EAAArS,EAAAJ,EAAAC,EAAAI,EAAA+kB,EAAA,GAAAnlB,EAAA4R,GAAA,KAAAnE,EAAAtN,EAAAglB,IAAA,OAAA,CAAA,GAAAlR,IAAA9T,EAAAglB,EAAA,GAAA3X,GAAArN,EAAAglB,EAAA,GAAA,IAAA,GAAA1X,GAAA,CAAA,IAAAA,GAAA,GAAAoH,EAAA1U,EAAAglB,EAAA,IAAAlR,EAAAvU,EAAA+N,IAAAwG,IAAAxG,EAAAD,GAAAC,EAAAD,EAAA,IAAAkG,IAAAO,IAAA,IAAAvC,EAAAkmE,UAAAr3E,OAAAiN,EAAAA,GAAA,EAAA,IAAAoE,EAAAqC,EAAAtC,EAAAxR,EAAAoS,EAAAvS,EAAAF,EAAAqlB,EAAA,GAAAnlB,EAAA4R,GAAAnE,EAAAtN,EAAAglB,KAAA,CAAA,GAAAlR,IAAA9T,EAAAglB,EAAA,GAAA3X,GAAArN,EAAAglB,EAAA,GAAA,IAAA,GAAA1X,GAAA,CAAA,IAAAA,GAAA,GAAAD,EAAAC,GAAAiG,IAAAO,IAAA,IAAAvC,EAAAkmE,UAAAr3E,OAAAiN,EAAAA,GAAA,EAAA,GAAAtK,EAAA/C,EAAAglB,EAAA,IAAAlR,EAAAvU,EAAA+N,IAAAwG,IAAAxG,EAAAD,GAAAC,EAAAgF,GAAAoC,EAAApB,GAAAvQ,EAAAgiB,EAAAzR,EAAAvQ,EAAAuQ,EAAAyR,EAAA,GAAA,EAAAzR,EAAAyR,GAAAjlB,EAAA0D,OAAA8P,KAAAxT,EAAA0D,OAAAuhB,KAAAjlB,EAAA0D,OAAA8P,KAAAxT,EAAA0D,OAAAuhB,KAAArQ,GAAA,IAAA5U,EAAA0D,OAAA0L,IAAApP,EAAA0D,OAAAikD,SAAA1iC,EAAAA,EAAA,GAAAzR,GAAAA,GAAA,EAAAyR,GAAA,EAAArQ,GAAA,OAAA,CAAAqQ,EAAAzR,EAAAvQ,EAAA,GAAAgiB,GAAAjlB,EAAA+T,UAAAkR,EAAA,GAAA,GAAAzX,EAAAxN,EAAA+T,IAAAkR,EAAArQ,EAAApH,EAAA,CAAA,GAAAoH,GAAApH,EAAAgG,EAAAyR,EAAA,GAAAzX,EAAAgG,EAAAyR,EAAA,GAAAjlB,EAAA0D,OAAA8P,KAAAxT,EAAA0D,OAAAuhB,WAAA,KAAAzX,QAAAxN,EAAA0D,OAAA0L,IAAApP,EAAA0D,OAAAikD,SAAA1iC,EAAAA,EAAAzX,GAAAgG,GAAAA,GAAAhG,EAAAyX,GAAAzX,EAAAA,EAAA,EAAAyX,EAAA,GAAA,GAAAzR,EAAAyR,EAAA,GAAArQ,EAAApB,EAAAyR,EAAA,GAAAjlB,EAAA0D,OAAA8P,KAAAxT,EAAA0D,OAAAuhB,WAAA,KAAArQ,QAAA5U,EAAA0D,OAAA0L,IAAApP,EAAA0D,OAAAikD,SAAA1iC,EAAAA,EAAArQ,GAAApB,GAAAA,GAAAoB,EAAAqQ,GAAArQ,EAAAA,EAAA,EAAA,MAAA,GAAA,IAAA,GAAApH,GAAA,OAAAiE,EAAA+yC,IAAA,wBAAA5vC,EAAAnD,EAAA8lE,SAAA9jE,EAAAmB,EAAArH,GAAA,EAAAqH,EAAArH,GAAA,EAAAqH,EAAAnB,GAAAmB,EAAAtU,GAAAsU,EAAArH,GAAAqH,GAAA,EAAA5U,EAAAw3E,KAAAxjE,EAAAhU,EAAAy3E,KAAAlqE,EAAAkE,EAAA8lE,SAAA9jE,EAAAhC,EAAAmmE,UAAAt3E,EAAAmR,EAAA6lE,cAAA7lE,EAAA6lE,cAAAh3E,EAAAN,EAAA6pB,MAAArW,EAAA7T,EAAAgS,GAAAzR,EAAAglB,EAAA,GAAAvT,GAAAqC,EAAAvU,EAAA+N,GAAA0X,EAAA,GAAAnlB,EAAA4R,GAAAnE,EAAAtN,EAAAglB,GAAA,MAAA,GAAA,IAAA,GAAA1X,GAAA,OAAA,IAAA,GAAAA,IAAAoH,EAAAnD,EAAA8lE,SAAA9jE,EAAAmB,EAAArH,GAAA,EAAAqH,EAAArH,GAAA,EAAAqH,EAAAnB,GAAAmB,EAAAtU,GAAAsU,EAAArH,GAAAqH,GAAA,EAAA5U,EAAAw3E,KAAAxjE,EAAAhU,EAAAy3E,KAAAlqE,EAAAkE,EAAA8lE,SAAA9jE,EAAAhC,EAAAmmE,UAAAt3E,EAAAmR,EAAA6lE,cAAA7lE,EAAA6lE,cAAAh3E,EAAAN,EAAA6pB,MAAArW,EAAA,IAAA/B,EAAA+yC,IAAA,8BAAA5vC,EAAAnD,EAAA8lE,SAAA9jE,EAAAmB,EAAArH,GAAA,EAAAqH,EAAArH,GAAA,EAAAqH,EAAAnB,GAAAmB,EAAAtU,GAAAsU,EAAArH,GAAAqH,GAAA,EAAA5U,EAAAw3E,KAAAxjE,EAAAhU,EAAAy3E,KAAAlqE,EAAAkE,EAAA8lE,SAAA9jE,EAAAhC,EAAAmmE,UAAAt3E,EAAAmR,EAAA6lE,cAAA7lE,EAAA6lE,cAAAh3E,EAAAN,EAAA6pB,MAAArW,EAAA7T,GAAA,GAAAgS,GAAAzR,EAAAglB,EAAA,GAAAvT,GAAAqC,EAAAvU,EAAA+N,GAAA0X,EAAA,GAAAnlB,EAAA4R,GAAA,KAAAnE,EAAAtN,EAAAglB,IAAA,CAAAlR,IAAA9T,EAAAglB,EAAA,GAAA3X,GAAArN,EAAAglB,EAAA,GAAAllB,EAAA0D,OAAA8P,KAAAtT,EAAAglB,EAAA,GAAA1S,IAAA,YAAAwB,IAAA9T,EAAAglB,EAAA,GAAA3X,GAAArN,EAAAglB,EAAA,GAAAllB,EAAA0D,OAAA8P,KAAAtT,EAAAglB,EAAA,GAAA1S,UAAAA,GAAA,KAAAiB,GAAA,IAAA,OAAAmB,EAAAnD,EAAA8lE,SAAA9jE,EAAAmB,EAAArH,GAAA,EAAAqH,EAAArH,GAAA,EAAAqH,EAAAnB,GAAAmB,EAAAtU,GAAAsU,EAAArH,GAAAqH,GAAA,EAAA5U,EAAAw3E,KAAAxjE,EAAAhU,EAAAy3E,KAAAlqE,EAAAkE,EAAA8lE,SAAA9jE,EAAAhC,EAAAmmE,UAAAt3E,EAAAmR,EAAA6lE,cAAA7lE,EAAA6lE,cAAAh3E,EAAAN,EAAA6pB,MAAArW,EAAA,EAAA9T,EAAA05B,KAAA,SAAA15B,EAAAE,EAAAD,EAAAF,EAAAO,EAAAyR,GAAA3R,EAAA,EAAAkU,EAAAtU,EAAA6N,EAAA3N,EAAA0S,EAAA3S,EAAAW,EAAAb,EAAAI,EAAAG,EAAAyT,EAAAhC,EAAAtR,EAAA,MAAAT,EAAAm4E,KAAA,SAAAn4E,EAAA8S,EAAAD,GAAA,IAAAb,EAAAkD,EAAA3R,EAAAgiB,EAAAC,EAAA0H,EAAAnV,EAAAgM,EAAA,EAAAzI,EAAA,EAAAC,EAAA,EAAA,IAAAA,EAAAzI,EAAA8kE,cAAAryD,EAAAzS,EAAA+kE,SAAA9zD,EAAA/jB,EAAA83E,KAAAx8D,EAAAtb,EAAA+3E,KAAAvyD,EAAAxlB,EAAAmqB,MAAA+C,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,IAAA,OAAAplB,GAAA,KAAA,EAAA,GAAA8sB,GAAA,KAAA3H,GAAA,KAAAvlB,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAA3S,EAAAiB,EAAAQ,EAAAzG,EAAA+E,EAAAhS,EAAAT,EAAA4T,EAAA/T,EAAA8S,GAAAyI,EAAAzI,EAAA8kE,cAAAryD,EAAAzS,EAAA+kE,SAAA9zD,EAAA/jB,EAAA83E,KAAAx8D,EAAAtb,EAAA+3E,KAAAvyD,EAAAxlB,EAAAmqB,MAAA+C,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,EAAA,GAAA3S,GAAA,CAAAzS,EAAA,GAAAyS,EAAA,EAAA,EAAA,MAAAZ,EAAAqC,EAAA7T,EAAAmS,EAAAb,EAAAnR,EAAAR,EAAA,EAAA,KAAA,EAAA,IAAA4R,EAAAC,EAAAqJ,EAAAtJ,GAAA,CAAA,GAAA,IAAAuT,EAAA,OAAAvlB,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAAA,EAAA,EAAA0S,IAAAxB,IAAA,IAAAjR,EAAAmlE,UAAA18D,OAAAD,EAAAA,GAAA,EAAA,GAAApG,EAAA,GAAAnD,GAAAgS,EAAAhkB,EAAAiS,KAAA+R,KAAAtjB,EAAAyU,EAAA,GAAAoG,GAAA7a,EAAAyU,EAAA,GAAA3R,EAAA9C,EAAAyU,GAAA,IAAA3R,EAAA,CAAA/C,EAAAC,EAAAyU,EAAA,GAAA9U,EAAA,EAAA,MAAA,GAAA,IAAA,GAAAmD,GAAA,CAAAlD,EAAA,GAAAkD,EAAAjD,EAAAG,EAAAyU,EAAA,GAAA9U,EAAA,EAAA,MAAA,GAAA,IAAA,GAAAmD,GAAA,CAAA0O,EAAA1O,EAAAwO,EAAAmD,EAAA,EAAAzU,EAAAyU,EAAA,GAAA,MAAA,GAAA,IAAA,GAAA3R,GAAA,CAAAnD,EAAA,EAAA,MAAA,OAAAA,EAAA,EAAA0S,EAAAgyC,IAAA,8BAAAjyC,EAAA5S,EAAAD,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAA,KAAA,EAAA,IAAAb,EAAA3R,EAAAib,EAAAtJ,GAAA,CAAA,GAAA,IAAAuT,EAAA,OAAAvlB,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAAA,EAAA,EAAA0S,IAAAxB,IAAA,IAAAjR,EAAAmlE,UAAA18D,OAAAD,EAAAA,GAAA,EAAAhb,GAAAyjB,EAAAhkB,EAAAiS,GAAA+R,IAAA/R,EAAAsJ,GAAAtJ,EAAAC,EAAApE,EAAApN,EAAAN,EAAA4R,EAAAgC,EAAA3T,EAAA,EAAA,KAAA,EAAA,IAAA4R,EAAAC,EAAAqJ,EAAAtJ,GAAA,CAAA,GAAA,IAAAuT,EAAA,OAAAvlB,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAAA,EAAA,EAAA0S,IAAAxB,IAAA,IAAAjR,EAAAmlE,UAAA18D,OAAAD,EAAAA,GAAA,EAAA,GAAApG,EAAA,GAAAnD,GAAAgS,EAAAhkB,EAAAiS,KAAA+R,IAAAtjB,EAAAyU,EAAA,GAAAoG,GAAA7a,EAAAyU,EAAA,GAAA3R,EAAA9C,EAAAyU,GAAA,IAAA,GAAA3R,GAAA,CAAAlD,EAAA,GAAAkD,EAAAuK,EAAArN,EAAAyU,EAAA,GAAA9U,EAAA,EAAA,MAAA,GAAA,IAAA,GAAAmD,GAAA,CAAA0O,EAAA1O,EAAAwO,EAAAmD,EAAA,EAAAzU,EAAAyU,EAAA,GAAA,MAAA,OAAA9U,EAAA,EAAA0S,EAAAgyC,IAAA,wBAAAjyC,EAAA5S,EAAAD,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAA,KAAA,EAAA,IAAAb,EAAA3R,EAAAib,EAAAtJ,GAAA,CAAA,GAAA,IAAAuT,EAAA,OAAAvlB,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAAA,EAAA,EAAA0S,IAAAxB,IAAA,IAAAjR,EAAAmlE,UAAA18D,OAAAD,EAAAA,GAAA,EAAAxN,GAAAiW,EAAAhkB,EAAAiS,GAAA+R,IAAA/R,EAAAsJ,GAAAtJ,EAAA5R,EAAA,EAAA,KAAA,EAAA,IAAA2X,EAAAyN,EAAA1X,EAAAiK,EAAA,GAAAA,GAAA/X,EAAAqU,IAAA,KAAA,IAAA/T,GAAA,CAAA,GAAA,IAAA4sB,IAAA1H,GAAAxlB,EAAAqU,KAAA,IAAArU,EAAAg4E,OAAAxyD,EAAA,EAAA0H,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,GAAA,IAAA0H,IAAAltB,EAAAmqB,MAAA3E,EAAA3S,EAAA7S,EAAAo4E,cAAAtlE,EAAAD,GAAA2S,EAAAxlB,EAAAmqB,MAAA+C,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,EAAAA,GAAAxlB,EAAAqU,KAAA,IAAArU,EAAAg4E,OAAAxyD,EAAA,EAAA0H,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,GAAA,IAAA0H,IAAA,OAAAltB,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAA7S,EAAAgE,OAAAwhB,KAAAxlB,EAAAgE,OAAA+T,KAAAmV,IAAAnV,GAAA/X,EAAAqU,MAAA0D,EAAA,GAAAzX,IAAAF,EAAA,EAAA,MAAA,KAAA,EAAA,GAAA,IAAA8sB,IAAA1H,GAAAxlB,EAAAqU,KAAA,IAAArU,EAAAg4E,OAAAxyD,EAAA,EAAA0H,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,GAAA,IAAA0H,IAAAltB,EAAAmqB,MAAA3E,EAAA3S,EAAA7S,EAAAo4E,cAAAtlE,EAAAD,GAAA2S,EAAAxlB,EAAAmqB,MAAA+C,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,EAAAA,GAAAxlB,EAAAqU,KAAA,IAAArU,EAAAg4E,OAAAxyD,EAAA,EAAA0H,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,GAAA,IAAA0H,IAAA,OAAAltB,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAAA,EAAA,EAAA7S,EAAAgE,OAAAwhB,KAAAhlB,EAAA0sB,IAAA9sB,EAAA,EAAA,MAAA,KAAA,EAAA,GAAAkb,EAAA,IAAAA,GAAA,EAAAiK,IAAAhK,KAAAvb,EAAAmqB,MAAA3E,EAAA3S,EAAA7S,EAAAo4E,cAAAtlE,EAAAD,GAAA2S,EAAAxlB,EAAAmqB,MAAA+C,EAAA1H,EAAAxlB,EAAAg4E,KAAAh4E,EAAAg4E,KAAAxyD,EAAA,EAAAxlB,EAAAqU,IAAAmR,EAAAxlB,EAAAg4E,MAAAh4E,EAAAmqB,MAAA,OAAAnqB,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAAzS,EAAA,EAAA,KAAA,EAAA,OAAAyS,EAAA,EAAA7S,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAA,KAAA,EAAA,OAAAA,EAAA5S,EAAAD,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,GAAA,QAAA,OAAAA,EAAA3S,EAAAF,EAAA83E,KAAA/zD,EAAA/jB,EAAA+3E,KAAAz8D,EAAAxI,EAAA+kE,SAAAtyD,EAAAzS,EAAAolE,UAAA38D,EAAAzI,EAAA8kE,cAAA9kE,EAAA8kE,cAAAr8D,EAAAvb,EAAAmqB,MAAA3E,EAAAxlB,EAAAo4E,cAAAtlE,EAAAD,KAAA7S,EAAAq4E,KAAA,aAAAh4E,EAAAi4E,oBAAA,SAAAt4E,EAAAE,EAAAD,EAAAG,GAAA,OAAAJ,EAAA,GAAA,EAAAE,EAAA,GAAA,EAAAD,EAAA,GAAAQ,EAAAL,EAAA,GAAAwS,EAAA,GAAA,MAAA0B,EAAA,CAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,SAAAzG,EAAA7N,EAAAS,GAAA,MAAAmS,EAAA/L,KAAA,IAAA1G,EAAAG,EAAA,EAAAyR,EAAA,EAAAE,EAAA,EAAAzR,EAAA,EAAA,MAAAqN,EAAA,CAAA,GAAAjN,EAAA,CAAA,GAAAmT,EAAA,IAAAjG,EAAA,IAAAgG,EAAA,EAAAhB,EAAA,IAAAu4C,WAAA,MAAA,MAAAx4C,EAAA,IAAAxS,EAAAuS,EAAAmlE,KAAA,EAAAnlE,EAAAklE,KAAA,EAAAllE,EAAA5O,OAAA,IAAA+6C,WAAAt+C,GAAAmS,EAAAyB,IAAA5T,EAAAmS,EAAAolE,KAAA,EAAAplE,EAAAuX,MAAA,EAAAvX,EAAA2lE,MAAA,SAAAv4E,EAAAE,GAAAA,IAAAA,EAAA,GAAA,GAAA,GAAAI,GAAAyT,EAAAskE,KAAAr4E,GAAAM,EAAA,EAAAsS,EAAAmlE,KAAA,EAAAnlE,EAAAklE,KAAA,EAAAllE,EAAAolE,KAAAplE,EAAAuX,MAAA,GAAAvX,EAAA2lE,MAAAv4E,EAAA,MAAA4S,EAAAwlE,cAAA,SAAAp4E,EAAAE,GAAA,IAAAD,EAAAF,EAAAU,EAAA,OAAAV,EAAAC,EAAAw4E,eAAA/3E,EAAAmS,EAAAolE,KAAA/3E,GAAAQ,GAAAmS,EAAAuX,MAAAvX,EAAAuX,MAAAvX,EAAAyB,KAAA5T,EAAAR,EAAAD,EAAAy4E,YAAAx4E,EAAAD,EAAAy4E,WAAA,IAAAx4E,GAAAC,GAAAE,IAAAF,EAAA,GAAAF,EAAAy4E,WAAAx4E,EAAAD,EAAA04E,WAAAz4E,EAAAD,EAAA24E,SAAAjpE,IAAAkD,EAAA5O,OAAAikD,SAAAxnD,EAAAA,EAAAR,GAAAF,GAAAA,GAAAE,EAAAQ,GAAAR,EAAAQ,GAAAmS,EAAAyB,MAAA5T,EAAA,EAAAmS,EAAAuX,OAAAvX,EAAAyB,MAAAzB,EAAAuX,MAAA,GAAAlqB,EAAA2S,EAAAuX,MAAA1pB,EAAAR,EAAAD,EAAAy4E,YAAAx4E,EAAAD,EAAAy4E,WAAA,IAAAx4E,GAAAC,GAAAE,IAAAF,EAAA,GAAAF,EAAAy4E,WAAAx4E,EAAAD,EAAA04E,WAAAz4E,EAAAD,EAAA24E,SAAAjpE,IAAAkD,EAAA5O,OAAAikD,SAAAxnD,EAAAA,EAAAR,GAAAF,GAAAA,GAAAE,EAAAQ,GAAAR,GAAAD,EAAAw4E,eAAAz4E,EAAA6S,EAAAolE,KAAAv3E,EAAAP,GAAA0S,EAAAulE,KAAA,SAAAn4E,EAAAI,GAAA,IAAAK,EAAAqN,EAAAkE,EAAAkD,EAAA3R,EAAAgiB,EAAAC,EAAA0H,EAAA,IAAAhY,EAAAlV,EAAA43E,cAAAr0E,EAAAvD,EAAA63E,SAAA/pE,EAAA8E,EAAAklE,KAAA9lE,EAAAY,EAAAmlE,KAAAxyD,EAAA3S,EAAAuX,MAAA3E,EAAAD,EAAA3S,EAAAolE,KAAAplE,EAAAolE,KAAAzyD,EAAA,EAAA3S,EAAAyB,IAAAkR,IAAA,CAAA,IAAAxN,EAAAgM,EAAAzI,EAAAC,EAAAtG,EAAAyV,EAAApF,EAAApR,EAAA,OAAA5T,GAAA,KAAA,EAAA,KAAA0R,EAAA,GAAA,CAAA,GAAA,IAAAzO,EAAA,OAAAqP,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAAA,EAAA,EAAAmD,IAAAuK,IAAA,IAAA9N,EAAAi4E,UAAA/iE,OAAAlD,EAAAA,GAAA,EAAA,OAAAvR,EAAA,EAAAqN,EAAAgG,EAAA,EAAArT,EAAAA,IAAA,GAAA,KAAA,EAAAqN,KAAA,EAAAkE,GAAA,EAAAvR,EAAA,EAAAuR,EAAAlE,KAAArN,EAAAuR,GAAAvR,EAAAH,EAAA,EAAA,MAAA,KAAA,EAAAyX,EAAA,GAAAgM,EAAA,GAAAzI,EAAA,CAAA,IAAAC,EAAA,CAAA,IAAAlb,EAAAi4E,oBAAAvgE,EAAAgM,EAAAzI,EAAAC,GAAAxH,EAAA2lB,KAAA3hB,EAAA,GAAAgM,EAAA,GAAAzI,EAAA,GAAA,EAAAC,EAAA,GAAA,GAAAzN,KAAA,EAAAkE,GAAA,EAAA1R,EAAA,EAAA,MAAA,KAAA,EAAAwN,KAAA,EAAAkE,GAAA,EAAA1R,EAAA,EAAA,MAAA,KAAA,EAAA,OAAAwN,KAAA,EAAAkE,GAAA,EAAA1R,EAAA,EAAAN,EAAA8kD,IAAA,qBAAA1kD,EAAAH,EAAA2S,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA,MAAA,KAAA,EAAA,KAAA4R,EAAA,IAAA,CAAA,GAAA,IAAAzO,EAAA,OAAAqP,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAAA,EAAA,EAAAmD,IAAAuK,IAAA,IAAA9N,EAAAi4E,UAAA/iE,OAAAlD,EAAAA,GAAA,EAAA,KAAAlE,IAAA,GAAA,SAAA,MAAAA,GAAA,OAAAxN,EAAA,EAAAN,EAAA8kD,IAAA,+BAAA1kD,EAAAH,EAAA2S,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA2R,EAAA,MAAAjE,EAAAA,EAAAkE,EAAA,EAAA1R,EAAA,IAAAyR,EAAA,EAAA,IAAA+B,EAAA,EAAA,EAAA,MAAA,KAAA,EAAA,GAAA,IAAAvQ,EAAA,OAAAqP,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA,GAAA,IAAAolB,IAAAD,GAAA3S,EAAAyB,KAAA,IAAAzB,EAAAolE,OAAAzyD,EAAA,EAAAC,EAAAD,EAAA3S,EAAAolE,KAAAplE,EAAAolE,KAAAzyD,EAAA,EAAA3S,EAAAyB,IAAAkR,GAAA,IAAAC,IAAA5S,EAAAuX,MAAA5E,EAAAnlB,EAAAwS,EAAAwlE,cAAAp4E,EAAAI,GAAAmlB,EAAA3S,EAAAuX,MAAA3E,EAAAD,EAAA3S,EAAAolE,KAAAplE,EAAAolE,KAAAzyD,EAAA,EAAA3S,EAAAyB,IAAAkR,EAAAA,GAAA3S,EAAAyB,KAAA,IAAAzB,EAAAolE,OAAAzyD,EAAA,EAAAC,EAAAD,EAAA3S,EAAAolE,KAAAplE,EAAAolE,KAAAzyD,EAAA,EAAA3S,EAAAyB,IAAAkR,GAAA,IAAAC,IAAA,OAAA5S,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA,GAAAA,EAAA,EAAAK,EAAAsR,EAAAtR,EAAA8C,IAAA9C,EAAA8C,GAAA9C,EAAA+kB,IAAA/kB,EAAA+kB,GAAA5S,EAAA5O,OAAA0L,IAAA1P,EAAA44E,SAAA1jE,EAAAzU,GAAA8kB,GAAArQ,GAAAzU,EAAA8C,GAAA9C,EAAA8kB,GAAA9kB,EAAA+kB,GAAA/kB,EAAA,IAAAsR,GAAAtR,GAAA,MAAAH,EAAA,IAAAwT,EAAA,EAAA,EAAA,MAAA,KAAA,EAAA,KAAA9B,EAAA,IAAA,CAAA,GAAA,IAAAzO,EAAA,OAAAqP,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAAA,EAAA,EAAAmD,IAAAuK,IAAA,IAAA9N,EAAAi4E,UAAA/iE,OAAAlD,EAAAA,GAAA,EAAA,GAAAC,EAAAxR,EAAA,MAAAqN,GAAA,GAAArN,GAAA,KAAAA,GAAA,EAAA,IAAA,GAAA,OAAAH,EAAA,EAAAN,EAAA8kD,IAAA,sCAAA1kD,EAAAH,EAAA2S,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA,GAAAK,EAAA,KAAA,GAAAA,IAAAA,GAAA,EAAA,KAAAN,GAAAA,EAAAY,OAAAN,EAAAN,EAAA,QAAA,IAAA+sB,EAAA,EAAAA,EAAAzsB,EAAAysB,IAAA/sB,EAAA+sB,GAAA,EAAApf,KAAA,GAAAkE,GAAA,GAAAxR,EAAA,EAAAF,EAAA,EAAA,KAAA,EAAA,KAAAE,EAAA,GAAAyR,IAAA,KAAA,CAAA,KAAAD,EAAA,GAAA,CAAA,GAAA,IAAAzO,EAAA,OAAAqP,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAAA,EAAA,EAAAmD,IAAAuK,IAAA,IAAA9N,EAAAi4E,UAAA/iE,OAAAlD,EAAAA,GAAA,EAAA7R,EAAAmU,EAAA9T,MAAA,EAAAsN,EAAAA,KAAA,EAAAkE,GAAA,EAAA,KAAAxR,EAAA,IAAAL,EAAAmU,EAAA9T,MAAA,EAAA,GAAAqN,EAAA,GAAA,EAAApN,EAAAoS,EAAA6kE,mBAAAv3E,EAAA0N,EAAAjN,EAAAkS,EAAA9S,GAAA,GAAAS,EAAA,OAAAL,EAAAK,IAAAR,IAAAE,EAAA,KAAAG,EAAA,GAAAsS,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAAI,EAAA,EAAAF,EAAA,EAAA,KAAA,EAAA,KAAAG,EAAAwR,IAAAzR,GAAA,KAAA,GAAAC,IAAAA,GAAA,EAAA,MAAA,CAAA,IAAAP,EAAA6R,EAAA,IAAAtR,EAAAoN,EAAA,GAAAmE,EAAAvR,GAAA,CAAA,GAAA,IAAA8C,EAAA,OAAAqP,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAAA,EAAA,EAAAmD,IAAAuK,IAAA,IAAA9N,EAAAi4E,UAAA/iE,OAAAlD,EAAAA,GAAA,EAAA,GAAAvR,EAAAqS,EAAA,GAAAlS,EAAA,IAAAkN,EAAA/N,EAAAU,KAAA,GAAAsR,EAAAe,EAAA,GAAAlS,EAAA,IAAAkN,EAAA/N,EAAAU,KAAA,GAAAsR,EAAA,GAAAjE,KAAArN,EAAAuR,GAAAvR,EAAAN,EAAAK,KAAAuR,MAAA,CAAA,IAAAmb,EAAA,IAAAnb,EAAA,EAAAA,EAAA,GAAA7R,EAAA,IAAA6R,EAAA,GAAA,EAAAC,EAAAvR,EAAAysB,GAAA,CAAA,GAAA,IAAA3pB,EAAA,OAAAqP,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAAA,EAAA,EAAAmD,IAAAuK,IAAA,IAAA9N,EAAAi4E,UAAA/iE,OAAAlD,EAAAA,GAAA,EAAA,GAAAlE,KAAArN,EAAAuR,GAAAvR,EAAAP,GAAA4N,EAAA/N,EAAAmtB,GAAApf,KAAAof,EAAAlb,GAAAkb,EAAAA,EAAA1sB,EAAAC,EAAAwR,EAAAib,EAAAhtB,EAAA,KAAA,GAAAO,IAAAA,GAAA,EAAA,KAAA,IAAAsR,GAAAmb,EAAA,EAAA,OAAA/sB,EAAA,KAAAG,EAAA,EAAAN,EAAA8kD,IAAA,4BAAA1kD,EAAAH,EAAA2S,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA2R,EAAA,IAAAA,EAAA5R,EAAA+sB,EAAA,GAAA,EAAA,GAAA/sB,EAAA+sB,KAAAnb,QAAA,KAAA7R,GAAAM,EAAA0sB,GAAA,GAAAtsB,EAAA,IAAA,EAAAqU,EAAA,GAAAyV,EAAA,GAAApF,EAAA,GAAApR,EAAA,GAAAe,EAAA,GAAA,EAAAyV,EAAA,GAAA,EAAAjqB,EAAAwR,EAAAxR,EAAAoS,EAAA8kE,sBAAA,KAAA,GAAAl3E,GAAA,GAAAA,GAAA,EAAA,IAAAN,EAAA8U,EAAAyV,EAAApF,EAAApR,EAAApB,EAAA9S,GAAA,GAAAS,EAAA,OAAAA,GAAAR,IAAAE,EAAA,KAAAG,EAAA,GAAAF,EAAAK,EAAAmS,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA2T,EAAA2lB,KAAAzkB,EAAA,GAAAyV,EAAA,GAAA5X,EAAAwS,EAAA,GAAAxS,EAAAoB,EAAA,IAAA5T,EAAA,EAAA,KAAA,EAAA,GAAAsS,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA,IAAAnlB,EAAA2T,EAAAokE,KAAAvlE,EAAA5S,EAAAI,IAAA,OAAAwS,EAAAwlE,cAAAp4E,EAAAI,GAAA,GAAAA,EAAA,EAAA2T,EAAAskE,KAAAr4E,GAAAkV,EAAAlV,EAAA43E,cAAAr0E,EAAAvD,EAAA63E,SAAA/pE,EAAA8E,EAAAklE,KAAA9lE,EAAAY,EAAAmlE,KAAAxyD,EAAA3S,EAAAuX,MAAA3E,EAAAD,EAAA3S,EAAAolE,KAAAplE,EAAAolE,KAAAzyD,EAAA,EAAA3S,EAAAyB,IAAAkR,EAAA,IAAAzR,EAAA,CAAAxT,EAAA,EAAA,MAAAA,EAAA,EAAA,KAAA,EAAA,GAAAsS,EAAAuX,MAAA5E,EAAAnlB,EAAAwS,EAAAwlE,cAAAp4E,EAAAI,GAAAmlB,EAAA3S,EAAAuX,MAAA3E,EAAAD,EAAA3S,EAAAolE,KAAAplE,EAAAolE,KAAAzyD,EAAA,EAAA3S,EAAAyB,IAAAkR,EAAA3S,EAAAolE,MAAAplE,EAAAuX,MAAA,OAAAvX,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAAE,EAAA,EAAA,KAAA,EAAA,OAAAF,EAAA,EAAAwS,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA,KAAA,EAAA,OAAAA,EAAAH,EAAA2S,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,GAAA,QAAA,OAAAA,EAAAF,EAAA0S,EAAAklE,KAAAhqE,EAAA8E,EAAAmlE,KAAA/lE,EAAAhS,EAAA63E,SAAAt0E,EAAAvD,EAAAk4E,UAAAhjE,EAAAlV,EAAA43E,cAAA53E,EAAA43E,cAAA1iE,EAAAtC,EAAAuX,MAAA5E,EAAA3S,EAAAwlE,cAAAp4E,EAAAI,MAAAwS,EAAAylE,KAAA,SAAAr4E,GAAA4S,EAAA2lE,MAAAv4E,EAAA,MAAA4S,EAAA5O,OAAA,KAAA8O,EAAA,MAAAF,EAAAimE,eAAA,SAAA74E,EAAAE,EAAAD,GAAA2S,EAAA5O,OAAA0L,IAAA1P,EAAAioD,SAAA/nD,EAAAA,EAAAD,GAAA,GAAA2S,EAAAolE,KAAAplE,EAAAuX,MAAAlqB,GAAA2S,EAAAkmE,WAAA,WAAA,OAAA,GAAAx4E,EAAA,EAAA,GAAA,MAAAM,EAAA,GAAAmT,EAAA,CAAA,EAAA,EAAA,IAAA,KAAA,SAAAD,IAAA,MAAA9T,EAAA6G,KAAA,SAAA9G,EAAAC,GAAA,OAAAA,GAAAA,EAAA+4E,QAAA/4E,EAAAk4E,SAAAl4E,EAAA04E,UAAA,EAAA14E,EAAA8kD,IAAA,KAAA9kD,EAAA+4E,OAAApjE,KAAA,EAAA3V,EAAA+4E,OAAAC,OAAAT,MAAAv4E,EAAA,MAAA,GAAAE,EAAAF,EAAA2V,KAAA,EAAA3V,EAAA+I,OAAA,EAAA/I,EAAAi5E,IAAA,CAAA,GAAAj5E,EAAAk5E,KAAA,EAAAl5E,EAAAm5E,OAAA,EAAAn5E,EAAAo5E,MAAA,EAAAp5E,EAAAq5E,WAAA,SAAAn5E,GAAA,OAAAF,EAAAg5E,QAAAh5E,EAAAg5E,OAAAX,KAAAn4E,GAAAF,EAAAg5E,OAAA,KAAA,GAAAh5E,EAAAs5E,YAAA,SAAAr5E,EAAAG,GAAA,OAAAH,EAAA6kD,IAAA,KAAA9kD,EAAAg5E,OAAA,KAAA54E,EAAA,GAAAA,EAAA,IAAAJ,EAAAq5E,WAAAp5E,GAAAC,IAAAF,EAAAo5E,MAAAh5E,EAAAH,EAAA84E,OAAAC,OAAA,IAAAnrE,EAAA5N,EAAA,GAAAG,GAAAL,EAAAE,GAAA,IAAAD,EAAAu5E,QAAA,SAAAv5E,EAAAD,GAAA,IAAAU,EAAAmS,EAAA,IAAA5S,IAAAA,EAAA+4E,SAAA/4E,EAAAw5E,QAAA,OAAAt5E,EAAA,MAAAC,EAAAH,EAAA+4E,OAAA,IAAAh5E,EAAA,GAAAA,EAAAK,EAAA,EAAAK,EAAAL,IAAA,OAAAD,EAAAwV,MAAA,KAAA,EAAA,GAAA,IAAA3V,EAAA63E,SAAA,OAAAp3E,EAAA,GAAAA,EAAAV,EAAAC,EAAA63E,WAAA73E,EAAAk4E,WAAA,IAAA,IAAA/3E,EAAA4I,OAAA/I,EAAAi4E,UAAAj4E,EAAA43E,mBAAA,CAAAz3E,EAAAwV,KAAA/U,EAAAZ,EAAA8kD,IAAA,6BAAA3kD,EAAAg5E,OAAA,EAAA,MAAA,GAAA,GAAAh5E,EAAA4I,QAAA,GAAA5I,EAAAi5E,MAAA,CAAAj5E,EAAAwV,KAAA/U,EAAAZ,EAAA8kD,IAAA,sBAAA3kD,EAAAg5E,OAAA,EAAA,MAAAh5E,EAAAwV,KAAA,EAAA,KAAA,EAAA,GAAA,IAAA3V,EAAA63E,SAAA,OAAAp3E,EAAA,GAAAA,EAAAV,EAAAC,EAAA63E,WAAA73E,EAAAk4E,WAAAtlE,EAAA,IAAA5S,EAAAi4E,UAAAj4E,EAAA43E,mBAAAz3E,EAAA4I,QAAA,GAAA6J,GAAA,IAAA,EAAA,CAAAzS,EAAAwV,KAAA/U,EAAAZ,EAAA8kD,IAAA,yBAAA3kD,EAAAg5E,OAAA,EAAA,MAAA,GAAA,IAAA,GAAAvmE,GAAA,CAAAzS,EAAAwV,KAAA,EAAA,MAAAxV,EAAAwV,KAAA,EAAA,KAAA,EAAA,GAAA,IAAA3V,EAAA63E,SAAA,OAAAp3E,EAAAA,EAAAV,EAAAC,EAAA63E,WAAA73E,EAAAk4E,WAAA/3E,EAAA+4E,MAAA,IAAAl5E,EAAAi4E,UAAAj4E,EAAA43E,mBAAA,GAAA,WAAAz3E,EAAAwV,KAAA,EAAA,KAAA,EAAA,GAAA,IAAA3V,EAAA63E,SAAA,OAAAp3E,EAAAA,EAAAV,EAAAC,EAAA63E,WAAA73E,EAAAk4E,WAAA/3E,EAAA+4E,OAAA,IAAAl5E,EAAAi4E,UAAAj4E,EAAA43E,mBAAA,GAAA,SAAAz3E,EAAAwV,KAAA,EAAA,KAAA,EAAA,GAAA,IAAA3V,EAAA63E,SAAA,OAAAp3E,EAAAA,EAAAV,EAAAC,EAAA63E,WAAA73E,EAAAk4E,WAAA/3E,EAAA+4E,OAAA,IAAAl5E,EAAAi4E,UAAAj4E,EAAA43E,mBAAA,EAAA,MAAAz3E,EAAAwV,KAAA,EAAA,KAAA,EAAA,OAAA,IAAA3V,EAAA63E,SAAAp3E,GAAAA,EAAAV,EAAAC,EAAA63E,WAAA73E,EAAAk4E,WAAA/3E,EAAA+4E,MAAA,IAAAl5E,EAAAi4E,UAAAj4E,EAAA43E,iBAAAz3E,EAAAwV,KAAA,EAAA,GAAA,KAAA,EAAA,OAAAxV,EAAAwV,KAAA/U,EAAAZ,EAAA8kD,IAAA,kBAAA3kD,EAAAg5E,OAAA,EAAAj5E,EAAA,KAAA,EAAA,GAAAO,EAAAN,EAAA64E,OAAAb,KAAAn4E,EAAAS,GAAAA,GAAAR,EAAA,CAAAE,EAAAwV,KAAA/U,EAAAT,EAAAg5E,OAAA,EAAA,MAAA,GAAA,GAAA14E,IAAAA,EAAAV,GAAA,GAAAU,EAAA,OAAAA,EAAAA,EAAAV,EAAAI,EAAA64E,OAAAT,MAAAv4E,EAAAG,EAAA84E,KAAA94E,EAAAwV,KAAA,GAAA,KAAA,GAAA,OAAA,EAAA,KAAA/U,EAAA,OAAAX,EAAA,QAAA,OAAAC,IAAAF,EAAAy5E,qBAAA,SAAAz5E,EAAAC,EAAAG,GAAA,IAAAL,EAAA,EAAAU,EAAAL,EAAA,IAAAJ,IAAAA,EAAA+4E,QAAA,GAAA/4E,EAAA+4E,OAAApjE,KAAA,OAAAzV,EAAA,MAAA0S,EAAA5S,EAAA+4E,OAAA,OAAAt4E,GAAA,GAAAmS,EAAAwmE,QAAA34E,GAAA,GAAAmS,EAAAwmE,OAAA,EAAAr5E,EAAAK,EAAAK,GAAAmS,EAAAomE,OAAAH,eAAA54E,EAAAF,EAAAU,GAAAmS,EAAA+C,KAAA,EAAA,GAAA3V,EAAA05E,YAAA,SAAA15E,GAAA,IAAAS,EAAAmS,EAAAzS,EAAAG,EAAAyR,EAAA,IAAA/R,IAAAA,EAAA+4E,OAAA,OAAA74E,EAAA,MAAA+R,EAAAjS,EAAA+4E,OAAA,GAAA9mE,EAAA0D,MAAA/U,IAAAqR,EAAA0D,KAAA/U,EAAAqR,EAAAknE,OAAA,GAAA,KAAA14E,EAAAT,EAAA63E,UAAA,OAAAz3E,EAAA,IAAAwS,EAAA5S,EAAA43E,cAAAz3E,EAAA8R,EAAAknE,OAAA,IAAA14E,GAAAN,EAAA,GAAAH,EAAAi4E,UAAArlE,IAAAmB,EAAA5T,GAAAA,IAAAA,EAAA,IAAAH,EAAAi4E,UAAArlE,GAAA,EAAA,EAAAzS,EAAAyS,IAAAnS,IAAA,OAAAT,EAAAk4E,UAAAtlE,EAAA5S,EAAA43E,cAAA53E,EAAA43E,cAAAhlE,EAAA5S,EAAA63E,SAAAp3E,EAAAwR,EAAAknE,OAAAh5E,EAAA,GAAAA,EAAAF,GAAAK,EAAAN,EAAAk4E,SAAAnmE,EAAA/R,EAAA04E,UAAA34E,EAAAC,GAAAA,EAAAk4E,SAAA53E,EAAAN,EAAA04E,UAAA3mE,EAAAE,EAAA0D,KAAA,EAAA,IAAA3V,EAAA25E,iBAAA,SAAA35E,GAAA,OAAAA,GAAAA,EAAA+4E,QAAA/4E,EAAA+4E,OAAAC,OAAAh5E,EAAA+4E,OAAAC,OAAAF,aAAA54E,GAAA,SAAA4S,KAAAA,EAAA/I,UAAA,CAAAuvE,YAAA,SAAAt5E,GAAA,MAAAE,EAAA2G,KAAA,OAAA3G,EAAA64E,OAAA,IAAAjlE,EAAA9T,IAAAA,EAAA,IAAAE,EAAA64E,OAAAO,YAAAp5E,EAAAF,IAAAu5E,QAAA,SAAAv5E,GAAA,MAAAC,EAAA4G,KAAA,OAAA5G,EAAA84E,OAAA94E,EAAA84E,OAAAQ,QAAAt5E,EAAAD,GAAAE,GAAAm5E,WAAA,WAAA,MAAAr5E,EAAA6G,KAAA,IAAA7G,EAAA+4E,OAAA,OAAA74E,EAAA,MAAAD,EAAAD,EAAA+4E,OAAAM,WAAAr5E,GAAA,OAAAA,EAAA+4E,OAAA,KAAA94E,GAAAy5E,YAAA,WAAA,MAAA15E,EAAA6G,KAAA,OAAA7G,EAAA+4E,OAAA/4E,EAAA+4E,OAAAW,YAAA15E,GAAAE,GAAAu5E,qBAAA,SAAAz5E,EAAAC,GAAA,MAAAG,EAAAyG,KAAA,OAAAzG,EAAA24E,OAAA34E,EAAA24E,OAAAU,qBAAAr5E,EAAAJ,EAAAC,GAAAC,GAAA+3E,UAAA,SAAAj4E,GAAA,OAAA6G,KAAA2yE,QAAAx5E,IAAA44E,SAAA,SAAA54E,EAAAE,GAAA,OAAA2G,KAAA2yE,QAAAvxB,SAAAjoD,EAAAA,EAAAE,KAAA,MAAA2S,EAAA,CAAA+mE,UAAA,OAAAC,WAAA,oBAAA12E,WAAAA,UAAA22E,qBAAA,EAAAC,uBAAA,IAAAC,eAAA,EAAAC,mBAAA,GAAAjoE,EAAAE,OAAA+K,OAAA,GAAApK,GAAA,SAAAqC,EAAAlV,GAAA,QAAA,IAAAA,EAAA45E,YAAA5nE,EAAA4nE,UAAA55E,EAAA45E,gBAAA,IAAA55E,EAAA65E,aAAA7nE,EAAA6nE,WAAA75E,EAAA65E,iBAAA,IAAA75E,EAAA+5E,yBAAA/nE,EAAA+nE,uBAAA/5E,EAAA+5E,6BAAA,IAAA/5E,EAAAg6E,gBAAAhoE,EAAAgoE,cAAAh6E,EAAAg6E,oBAAA,IAAAh6E,EAAAk6E,UAAAloE,EAAAkoE,QAAAl6E,EAAAk6E,cAAA,IAAAl6E,EAAAm6E,UAAAnoE,EAAAmoE,QAAAn6E,EAAAm6E,cAAA,IAAAn6E,EAAAi6E,cAAA,CAAA,GAAAj6E,EAAAi6E,cAAAG,QAAA,CAAA,IAAAtwE,MAAAuF,QAAArP,EAAAi6E,cAAAG,SAAA,MAAA,IAAA15E,MAAA,0CAAAsR,EAAAioE,gBAAAjoE,EAAAioE,cAAA,IAAAjoE,EAAAioE,cAAAG,QAAAp6E,EAAAi6E,cAAAG,QAAA,GAAAp6E,EAAAi6E,cAAAV,QAAA,CAAA,IAAAzvE,MAAAuF,QAAArP,EAAAi6E,cAAAV,SAAA,MAAA,IAAA74E,MAAA,0CAAAsR,EAAAioE,gBAAAjoE,EAAAioE,cAAA,IAAAjoE,EAAAioE,cAAAV,QAAAv5E,EAAAi6E,cAAAV,UAAA,MAAAh2E,EAAA,cAAA,SAAAgiB,EAAAvlB,EAAAE,GAAA,GAAAF,GAAAA,EAAAq6E,QAAA,MAAAn6E,EAAAo6E,QAAA,IAAA55E,MAAA6C,GAAA69C,eAAA57B,EAAAxlB,EAAAE,GAAA,OAAAA,EAAAa,cAAAf,EAAAu6E,gBAAAr6E,GAAAA,EAAAa,OAAA,MAAAmsB,EAAA,cAAAnV,EAAA,2BAAAgM,EAAA,aAAAzI,EAAA,iBAAAC,EAAA,gBAAAtG,EAAA,OAAAyV,EAAA,MAAApF,EAAA,QAAA,MAAApR,EAAA2C,cAAAhQ,KAAAzF,KAAA,EAAAs4B,OAAA7yB,KAAA2xB,aAAA,GAAA,MAAAnd,UAAAnH,GAAA,MAAA0Z,UAAA1Z,EAAAqmE,gBAAAv6E,GAAA6G,KAAAzF,MAAApB,EAAAe,QAAA,MAAAya,UAAAH,EAAAxE,YAAA7W,GAAAw6E,QAAA3zE,KAAA4zE,KAAAz6E,EAAA6G,KAAAzF,KAAApB,EAAAoB,KAAAggD,qBAAAphD,EAAAE,GAAA,MAAAD,EAAA,IAAAy6E,WAAA,OAAA,IAAA/mC,SAAA,CAAAvzC,EAAAL,KAAAE,EAAAuG,OAAAxG,GAAAI,EAAA,IAAA2+C,WAAA/+C,EAAA2U,OAAAtQ,SAAApE,EAAAglD,QAAA,IAAAllD,EAAAE,EAAAsJ,OAAAtJ,EAAA06E,kBAAA9zE,KAAA4zE,KAAAzwE,MAAAhK,EAAAA,EAAAE,QAAA,MAAAitB,UAAA9R,EAAAxE,YAAA7W,EAAAE,GAAAs6E,QAAA3zE,KAAA28C,IAAAxjD,EAAA6G,KAAA+zE,mBAAA16E,EAAA06E,mBAAA/zE,KAAAg0E,eAAA36E,EAAA26E,eAAAh0E,KAAAi0E,mBAAA56E,EAAA46E,mBAAAj0E,KAAAhF,QAAAqQ,OAAA+K,OAAA,GAAA/c,UAAA2G,KAAAhF,QAAA+4E,0BAAA/zE,KAAAhF,QAAAg5E,sBAAAh0E,KAAAhF,QAAAi5E,0BAAAj0E,KAAAhF,QAAAk5E,OAAA35B,aAAA,GAAAo5B,MAAA9gD,OAAAjM,EAAA5mB,KAAA28C,OAAA38C,KAAA+zE,mBAAA,CAAA,MAAA56E,QAAAgtB,EAAA/X,EAAApO,KAAA28C,IAAA38C,KAAAhF,SAAA,GAAAgF,KAAAzF,KAAAmoB,OAAAvpB,EAAAg7E,QAAA7wE,IAAAmR,KAAAzU,KAAAi0E,oBAAAj0E,KAAAg0E,gBAAA76E,EAAAg7E,QAAA7wE,IAAAoR,IAAA+J,EAAA,MAAA,IAAA5kB,MAAAqX,QAAA,IAAAlR,KAAAzF,YAAAukB,EAAA9e,KAAAA,KAAAhF,oBAAA8jB,EAAA9e,KAAAA,KAAAhF,SAAAu/C,qBAAAphD,EAAAE,GAAA,GAAA2G,KAAAg0E,eAAA,CAAA,MAAA56E,QAAA+sB,EAAAtC,EAAA7jB,KAAA28C,IAAA38C,KAAAhF,QAAAqQ,OAAA+K,OAAA,GAAApW,KAAAhF,QAAAm5E,QAAA,CAAAC,aAAA,SAAAj7E,EAAA,KAAAA,EAAAE,EAAA,MAAA,GAAA,KAAAD,EAAA+jD,OAAA,MAAA,IAAAtjD,MAAAqX,GAAA,OAAA,IAAAgnC,iBAAA9+C,EAAAi7E,eAAA,OAAAr0E,KAAAE,YAAA4e,EAAA9e,KAAAA,KAAAhF,SAAA,IAAAk9C,WAAAl4C,KAAAE,KAAAkhD,SAAAjoD,EAAAA,EAAAE,KAAAkhD,eAAAz7B,EAAA3lB,EAAAE,GAAA,MAAAD,QAAA+sB,EAAAtC,EAAA1qB,EAAAwjD,IAAAtjD,GAAAF,EAAA+G,KAAA,IAAAg4C,iBAAA9+C,EAAAi7E,eAAAl7E,EAAAoB,OAAApB,EAAAoB,KAAApB,EAAA+G,KAAAhG,QAAAqgD,eAAAp0B,EAAAhtB,EAAAE,EAAAD,EAAAG,GAAAA,EAAA8R,OAAA+K,OAAA,GAAAhd,EAAA+6E,QAAA56E,GAAA,MAAAL,QAAAo7E,MAAAj7E,EAAAgS,OAAA+K,OAAA,GAAAhd,EAAA,CAAA8I,OAAA/I,EAAAg7E,QAAA56E,KAAA,GAAAL,EAAAikD,OAAA,IAAA,OAAAjkD,EAAA,MAAA,IAAAW,MAAAwsB,GAAAntB,EAAAq7E,YAAAr7E,EAAAikD,SAAA,MAAAv+B,UAAApK,EAAAxE,YAAA7W,EAAAE,GAAAs6E,QAAA3zE,KAAA28C,IAAAxjD,EAAA6G,KAAA+zE,mBAAA16E,EAAA06E,mBAAA/zE,KAAAg0E,eAAA36E,EAAA26E,eAAAh0E,KAAAi0E,mBAAA56E,EAAA46E,mBAAA15B,aAAA,GAAAo5B,MAAA9gD,OAAAjM,EAAA5mB,KAAA28C,OAAA38C,KAAA+zE,mBAAA,OAAA,IAAAjnC,SAAA,CAAA3zC,EAAAE,IAAAwlB,EAAAzQ,EAAApO,KAAA28C,KAAAvjD,IAAA4G,KAAAzF,KAAAmoB,OAAAtpB,EAAAo7E,kBAAA//D,IAAAzU,KAAAg0E,eAAAh0E,KAAAi0E,oBAAA76E,EAAAo7E,kBAAA9/D,IAAA+J,EAAAtlB,IAAAE,EAAA,IAAAQ,MAAAqX,SAAA,IAAAlR,KAAAzF,KAAA0W,EAAAjR,KAAAA,KAAA28C,KAAAtO,MAAA,IAAAl1C,MAAAo1C,MAAAl1C,GAAAF,MAAAE,WAAA4X,EAAAjR,KAAAA,KAAA28C,KAAApC,qBAAAphD,EAAAE,GAAA,IAAA2G,KAAAg0E,eAAA,OAAAh0E,KAAAE,YAAA+Q,EAAAjR,KAAAA,KAAA28C,KAAA,IAAAzE,WAAAl4C,KAAAE,KAAAkhD,SAAAjoD,EAAAA,EAAAE,IAAA,GAAA,YAAA,IAAAyzC,SAAA,CAAA1zC,EAAAG,IAAAslB,EAAAgF,EAAA7jB,KAAA28C,KAAAxjD,GAAAC,EAAA,IAAA8+C,WAAA/+C,EAAAikD,YAAA7jD,EAAA,CAAA,CAAA,QAAA,SAAAJ,EAAA,KAAAA,EAAAE,EAAA,SAAA8jD,OAAA,MAAA,IAAAtjD,MAAAqX,IAAA,SAAAD,EAAA9X,EAAAE,GAAA,OAAA,IAAAyzC,SAAA,CAAA1zC,EAAAG,IAAAslB,EAAAgF,EAAAxqB,GAAAA,IAAAF,EAAA+G,KAAA,IAAAg4C,WAAA7+C,EAAA+jD,UAAAjkD,EAAAoB,OAAApB,EAAAoB,KAAApB,EAAA+G,KAAAhG,QAAAd,MAAAG,KAAA,SAAAslB,EAAA1lB,EAAAE,EAAAD,EAAAG,EAAAL,EAAA,IAAA,MAAAU,EAAA,IAAAkjD,eAAA,OAAAljD,EAAA+G,iBAAA,QAAA,KAAA/G,EAAAujD,OAAA,IAAA/jD,EAAAQ,GAAAL,EAAA8sB,GAAAzsB,EAAA26E,YAAA36E,EAAAujD,YAAA,GAAAvjD,EAAA+G,iBAAA,QAAApH,GAAA,GAAAK,EAAAsiB,KAAA/iB,EAAAE,GAAAH,EAAAmE,SAAAlE,GAAAS,EAAA2jD,iBAAApkD,EAAA,GAAAA,EAAA,MAAAS,EAAAojD,aAAA,cAAApjD,EAAA4jD,OAAA5jD,EAAA,MAAAstB,UAAA1S,EAAAxE,YAAA7W,EAAAE,EAAA,IAAAs6E,QAAA3zE,KAAA28C,IAAAxjD,EAAAE,EAAA66E,OAAAl0E,KAAAy0E,OAAA,IAAA71D,EAAAzlB,EAAAE,GAAA2G,KAAAy0E,OAAA,IAAAnuD,EAAAntB,EAAAE,GAAAkB,SAAApB,IAAAoB,WAAA,OAAAyF,KAAAy0E,OAAAl6E,KAAAggD,aAAAo5B,MAAA9gD,aAAA7yB,KAAAy0E,OAAA5hD,OAAA0nB,qBAAAphD,EAAAE,GAAA,OAAA2G,KAAAy0E,OAAAC,eAAAv7E,EAAAE,IAAA,SAAAutB,EAAAztB,GAAA,GAAA,oBAAAyD,SAAA,CAAA,MAAAvD,EAAAuD,SAAAC,cAAA,KAAA,OAAAxD,EAAAs7E,KAAAx7E,EAAA,SAAAE,EAAAs3E,UAAA,UAAAt3E,EAAAs3E,SAAA,MAAA,gBAAA58D,KAAA5a,GAAA,MAAAwtB,EAAA,WAAAS,EAAA,SAAAhB,EAAA,UAAAY,EAAA,sQAAAza,MAAA,IAAAsa,EAAA,GAAA,IAAA,IAAA1tB,EAAA,EAAAA,EAAA,IAAAA,IAAA,CAAA,IAAAE,EAAAF,EAAA,IAAA,IAAAA,EAAA,EAAAA,EAAA,EAAAA,IAAA,EAAAE,EAAAA,EAAAA,IAAA,EAAA,WAAAA,KAAA,EAAAwtB,EAAA1tB,GAAAE,EAAA,MAAA4tB,EAAAjX,YAAA7W,GAAA6G,KAAA40E,IAAAz7E,IAAA,EAAA07E,OAAA17E,GAAA,IAAAE,EAAA,EAAA2G,KAAA40E,IAAA,IAAA,IAAAx7E,EAAA,EAAAG,EAAA,EAAAJ,EAAAe,OAAAd,EAAAG,EAAAH,IAAAC,EAAAA,IAAA,EAAAwtB,EAAA,KAAAxtB,EAAAF,EAAAC,KAAA4G,KAAA40E,IAAAv7E,EAAAiK,MAAA,OAAAtD,KAAA40E,KAAA,MAAAztD,EAAA,CAAAthB,OAAA1M,EAAAE,GAAA,GAAA,IAAAF,EAAAe,QAAA,IAAAb,EAAAa,OAAA,OAAAf,EAAA0M,OAAAxM,GAAA,MAAAD,EAAAD,EAAAA,EAAAe,OAAA,GAAAX,EAAA4tB,EAAA2tD,WAAA17E,GAAA,OAAA,KAAAG,EAAAJ,EAAA0M,OAAAxM,GAAA8tB,EAAA4tD,YAAA17E,EAAAE,EAAA,EAAAH,EAAAD,EAAAgK,MAAA,EAAAhK,EAAAe,OAAA,KAAA86E,UAAA77E,GAAA,MAAAE,EAAAF,EAAAe,OAAA,GAAA,IAAAb,EAAA,OAAA,EAAA,MAAAD,EAAAD,EAAAE,EAAA,GAAA,OAAA,IAAAA,EAAA,GAAA8tB,EAAA2tD,WAAA17E,IAAA67E,MAAA97E,EAAAE,GAAA,GAAA,GAAAF,EAAAe,OAAAb,EAAA,OAAAF,EAAA,MAAAC,GAAAD,EAAAA,EAAAgK,MAAA,EAAA+I,KAAA+W,KAAA5pB,EAAA,MAAAa,OAAA,OAAAb,GAAA,GAAAD,EAAA,GAAAC,IAAAF,EAAAC,EAAA,GAAA+tB,EAAA+tD,QAAA77E,EAAAF,EAAAC,EAAA,GAAA,YAAAC,EAAA,EAAA,IAAAF,GAAA+7E,QAAA,CAAA/7E,EAAAE,EAAAD,IAAA,KAAAD,EAAAE,GAAAD,EAAA,EAAAC,EAAAA,GAAA,GAAAF,GAAA,cAAAA,EAAA27E,WAAA37E,GAAA+S,KAAAwoB,MAAAv7B,EAAA,gBAAA,GAAA47E,YAAA57E,EAAAE,EAAAD,EAAAG,GAAA,SAAA,IAAAA,IAAAA,EAAA,IAAAF,GAAA,GAAAA,GAAA,GAAAE,EAAAsB,KAAAzB,GAAAA,EAAA,EAAA,GAAA,IAAAC,EAAA,OAAAE,EAAAsM,OAAA1M,GAAA,IAAA,IAAAD,EAAA,EAAAA,EAAAC,EAAAe,OAAAhB,IAAAK,EAAAsB,KAAAzB,EAAAD,EAAAD,KAAAG,GAAAD,EAAAD,EAAAD,IAAA,GAAAG,EAAA,MAAAH,EAAAC,EAAAe,OAAAf,EAAAA,EAAAe,OAAA,GAAA,EAAAN,EAAAutB,EAAA2tD,WAAA57E,GAAA,OAAAK,EAAAsB,KAAAssB,EAAA+tD,QAAA77E,EAAAO,EAAA,GAAAP,EAAAO,EAAA,GAAAR,EAAAG,EAAA47E,MAAA,IAAA57E,IAAAmtB,EAAA,CAAAuhC,MAAA,CAAAmtB,SAAAj8E,GAAA,MAAAE,EAAA8tB,EAAA6tD,UAAA77E,GAAA,EAAAC,EAAA,IAAA8+C,WAAA7+C,GAAA,IAAAE,EAAA,IAAA,IAAAL,EAAA,EAAAA,EAAAG,EAAAH,IAAA,IAAA,EAAAA,KAAAK,EAAAJ,EAAAD,EAAA,IAAAE,EAAAF,GAAAK,IAAA,GAAAA,IAAA,EAAA,OAAAH,GAAAi8E,OAAAl8E,GAAA,MAAAE,EAAA,GAAA,IAAAD,EAAAG,EAAA,EAAA,IAAAH,EAAA,EAAAA,EAAAD,EAAAe,OAAAd,IAAAG,EAAAA,GAAA,EAAAJ,EAAAC,GAAA,IAAA,EAAAA,KAAAC,EAAAwB,KAAAtB,GAAAA,EAAA,GAAA,OAAA,EAAAH,GAAAC,EAAAwB,KAAAssB,EAAA+tD,QAAA,GAAA,EAAA97E,GAAAG,IAAAF,KAAAi8E,EAAA,CAAAC,KAAA,SAAAp8E,GAAAA,GAAA6G,KAAAw1E,GAAAr8E,EAAAq8E,GAAAryE,MAAA,GAAAnD,KAAAy1E,QAAAt8E,EAAAs8E,QAAAtyE,MAAA,GAAAnD,KAAA01E,QAAAv8E,EAAAu8E,SAAA11E,KAAA0xE,UAAA4D,EAAAC,KAAAryE,UAAA,CAAAyyE,UAAA,IAAAjE,MAAA,WAAA,MAAAv4E,EAAA6G,KAAA,OAAA7G,EAAAq8E,GAAAx1E,KAAA41E,MAAAzyE,MAAA,GAAAhK,EAAAs8E,QAAA,GAAAt8E,EAAAu8E,QAAA,EAAAv8E,GAAAwf,OAAA,SAAAxf,GAAA,MAAAE,EAAA2G,KAAA,iBAAA7G,IAAAA,EAAAutB,EAAAmvD,WAAAR,OAAAl8E,IAAA,MAAAC,EAAAC,EAAAo8E,QAAAtuD,EAAAthB,OAAAxM,EAAAo8E,QAAAt8E,GAAAI,EAAAF,EAAAq8E,QAAAx8E,EAAAG,EAAAq8E,QAAAn8E,EAAA4tB,EAAA6tD,UAAA77E,GAAA,GAAAD,EAAA,iBAAA,MAAA,IAAAW,MAAA,uCAAA,MAAAD,EAAA,IAAA6qD,YAAArrD,GAAA,IAAA2S,EAAA,EAAA,IAAA,IAAA5S,EAAAE,EAAAs8E,UAAAp8E,GAAAF,EAAAs8E,UAAAp8E,EAAAF,EAAAs8E,UAAA,GAAAx8E,GAAAD,EAAAC,GAAAE,EAAAs8E,UAAAt8E,EAAAy8E,OAAAl8E,EAAAwnD,SAAA,GAAAr1C,EAAA,IAAAA,EAAA,KAAAA,GAAA,EAAA,OAAA3S,EAAAwR,OAAA,EAAA,GAAAmB,GAAA1S,GAAA08E,SAAA,WAAA,MAAA58E,EAAA6G,KAAA,IAAA3G,EAAAF,EAAAs8E,QAAA,MAAAr8E,EAAAD,EAAAq8E,GAAAn8E,EAAA8tB,EAAAthB,OAAAxM,EAAA,CAAA8tB,EAAA+tD,QAAA,EAAA,KAAA,IAAA,IAAA/7E,EAAAE,EAAAa,OAAA,EAAA,GAAAf,EAAAA,IAAAE,EAAAwB,KAAA,GAAA,IAAAxB,EAAAwB,KAAAqR,KAAAwR,MAAAvkB,EAAAu8E,QAAA,aAAAr8E,EAAAwB,KAAA,EAAA1B,EAAAu8E,SAAAr8E,EAAAa,QAAAf,EAAA28E,OAAAz8E,EAAAuR,OAAA,EAAA,KAAA,OAAAzR,EAAAu4E,QAAAt4E,GAAAw8E,MAAA,CAAA,WAAA,WAAA,WAAA,UAAA,YAAAl4B,KAAA,CAAA,WAAA,WAAA,WAAA,YAAAs4B,GAAA,SAAA78E,EAAAE,EAAAD,EAAAG,GAAA,OAAAJ,GAAA,GAAAE,EAAAD,GAAAC,EAAAE,EAAAJ,GAAA,GAAAE,EAAAD,EAAAG,EAAAJ,GAAA,GAAAE,EAAAD,EAAAC,EAAAE,EAAAH,EAAAG,EAAAJ,GAAA,GAAAE,EAAAD,EAAAG,OAAA,GAAA08E,GAAA,SAAA98E,EAAAE,GAAA,OAAAA,GAAAF,EAAAE,IAAA,GAAAF,GAAA28E,OAAA,SAAA38E,GAAA,MAAAE,EAAA2G,KAAA5G,EAAAC,EAAAm8E,GAAAj8E,EAAA0J,MAAA,IAAA,IAAA,IAAA5J,EAAA,EAAAA,EAAA,GAAAA,IAAAE,EAAAF,GAAAF,EAAAE,GAAA,IAAAH,EAAAE,EAAA,GAAAQ,EAAAR,EAAA,GAAA2S,EAAA3S,EAAA,GAAAE,EAAAF,EAAA,GAAAK,EAAAL,EAAA,GAAA,IAAA,IAAAD,EAAA,EAAAA,GAAA,GAAAA,IAAA,CAAAA,GAAA,KAAAI,EAAAJ,GAAAE,EAAA48E,GAAA,EAAA18E,EAAAJ,EAAA,GAAAI,EAAAJ,EAAA,GAAAI,EAAAJ,EAAA,IAAAI,EAAAJ,EAAA,MAAA,MAAAC,EAAAC,EAAA48E,GAAA,EAAA/8E,GAAAG,EAAA28E,GAAA78E,EAAAS,EAAAmS,EAAAzS,GAAAG,EAAAF,EAAAJ,GAAAE,EAAAqkD,KAAAxxC,KAAAwR,MAAAvkB,EAAA,KAAA,EAAAM,EAAAH,EAAAA,EAAAyS,EAAAA,EAAA1S,EAAA48E,GAAA,GAAAr8E,GAAAA,EAAAV,EAAAA,EAAAE,EAAAA,EAAA,GAAAA,EAAA,GAAAF,EAAA,EAAAE,EAAA,GAAAA,EAAA,GAAAQ,EAAA,EAAAR,EAAA,GAAAA,EAAA,GAAA2S,EAAA,EAAA3S,EAAA,GAAAA,EAAA,GAAAE,EAAA,EAAAF,EAAA,GAAAA,EAAA,GAAAK,EAAA,IAAA,MAAAy8E,GAAA,MAAAlmE,YAAA7W,GAAA,MAAAE,EAAA2G,KAAA3G,EAAA88E,QAAA,CAAA,CAAA,GAAA,GAAA,GAAA,GAAA,IAAA,CAAA,GAAA,GAAA,GAAA,GAAA,KAAA98E,EAAA88E,QAAA,GAAA,GAAA,IAAA98E,EAAA+8E,cAAA,MAAAh9E,EAAAC,EAAA88E,QAAA,GAAA,GAAA58E,EAAAF,EAAA88E,QAAA,GAAAj9E,EAAAC,EAAAe,OAAA,IAAAN,EAAAmS,EAAAzS,EAAAG,EAAA,EAAA,GAAA,IAAAP,GAAA,IAAAA,GAAA,IAAAA,EAAA,MAAA,IAAAW,MAAA,wBAAA,IAAAR,EAAAqkD,KAAA,CAAA3xC,EAAA5S,EAAAgK,MAAA,GAAA7J,EAAA,IAAAM,EAAAV,EAAAU,EAAA,EAAAV,EAAA,GAAAU,IAAA,CAAA,IAAAT,EAAA4S,EAAAnS,EAAA,IAAAA,EAAAV,GAAA,GAAA,IAAAA,GAAAU,EAAAV,GAAA,KAAAC,EAAAC,EAAAD,IAAA,KAAA,GAAAC,EAAAD,GAAA,GAAA,MAAA,GAAAC,EAAAD,GAAA,EAAA,MAAA,EAAAC,EAAA,IAAAD,GAAAS,EAAAV,GAAA,IAAAC,EAAAA,GAAA,EAAAA,IAAA,GAAAM,GAAA,GAAAA,EAAAA,GAAA,EAAA,KAAAA,GAAA,KAAAsS,EAAAnS,GAAAmS,EAAAnS,EAAAV,GAAAC,EAAA,IAAA,IAAAA,EAAA,EAAAS,EAAAT,IAAAS,IAAA,CAAA,MAAAP,EAAA0S,EAAA,EAAA5S,EAAAS,EAAAA,EAAA,GAAAN,EAAAH,GAAAS,GAAA,GAAAT,EAAA,EAAAE,EAAAE,EAAA,GAAAH,EAAAC,IAAA,KAAAE,EAAA,GAAAH,EAAAC,GAAA,GAAA,MAAAE,EAAA,GAAAH,EAAAC,GAAA,EAAA,MAAAE,EAAA,GAAAH,EAAA,IAAAC,KAAAg9E,QAAAl9E,GAAA,OAAA6G,KAAAs2E,OAAAn9E,EAAA,GAAAo9E,QAAAp9E,GAAA,OAAA6G,KAAAs2E,OAAAn9E,EAAA,GAAAi9E,cAAA,MAAAj9E,EAAA6G,KAAAm2E,QAAA,GAAA98E,EAAA2G,KAAAm2E,QAAA,GAAA/8E,EAAAD,EAAA,GAAAI,EAAAF,EAAA,GAAAH,EAAA,GAAAU,EAAA,GAAA,IAAAmS,EAAAzS,EAAAG,EAAAyR,EAAA,IAAA,IAAA/R,EAAA,EAAAA,EAAA,IAAAA,IAAAS,GAAAV,EAAAC,GAAAA,GAAA,EAAA,KAAAA,GAAA,IAAAA,GAAAA,EAAA,IAAA,IAAAiS,EAAAW,EAAA,GAAA3S,EAAAgS,GAAAA,GAAA9R,GAAA,EAAAyS,EAAAnS,EAAAmS,IAAA,EAAA,CAAA,IAAAnS,EAAAmS,EAAAA,GAAA,EAAAA,GAAA,EAAAA,GAAA,EAAAA,GAAA,EAAAnS,EAAAA,GAAA,EAAA,IAAAA,EAAA,GAAAR,EAAAgS,GAAAxR,EAAAL,EAAAK,GAAAwR,EAAAF,EAAAhS,EAAAO,EAAAP,EAAAI,EAAAJ,EAAAkS,KAAA,IAAAzR,EAAA,SAAAuR,EAAA,MAAAzR,EAAA,IAAAH,EAAA,SAAA8R,EAAA5R,EAAA,IAAAN,EAAAU,GAAA,SAAAA,EAAA,IAAA,IAAAR,EAAA,EAAAA,EAAA,EAAAA,IAAAD,EAAAC,GAAAgS,GAAA5R,EAAAA,GAAA,GAAAA,IAAA,EAAAH,EAAAD,GAAAQ,GAAAD,EAAAA,GAAA,GAAAA,IAAA,EAAA,IAAA,IAAAP,EAAA,EAAAA,EAAA,EAAAA,IAAAD,EAAAC,GAAAD,EAAAC,GAAA+J,MAAA,GAAA9J,EAAAD,GAAAC,EAAAD,GAAA+J,MAAA,GAAAmzE,OAAAn9E,EAAAE,GAAA,GAAA,IAAAF,EAAAe,OAAA,MAAA,IAAAL,MAAA,0BAAA,MAAAT,EAAA4G,KAAA09C,KAAArkD,GAAAE,EAAAH,EAAAc,OAAA,EAAA,EAAAhB,EAAA,CAAA,EAAA,EAAA,EAAA,GAAAU,EAAAoG,KAAAm2E,QAAA98E,GAAA0S,EAAAnS,EAAA,GAAAN,EAAAM,EAAA,GAAAH,EAAAG,EAAA,GAAAsR,EAAAtR,EAAA,GAAAwR,EAAAxR,EAAA,GAAA,IAAAD,EAAAH,EAAAyN,EAAAwG,EAAAtU,EAAA,GAAAC,EAAA,GAAA4N,EAAA7N,EAAAE,EAAA,EAAA,GAAAD,EAAA,GAAAW,EAAAZ,EAAA,GAAAC,EAAA,GAAA8T,EAAA/T,EAAAE,EAAA,EAAA,GAAAD,EAAA,GAAA6T,EAAA,EAAA,IAAA,IAAA9T,EAAA,EAAAA,EAAAI,EAAAJ,IAAAQ,EAAAoS,EAAA0B,IAAA,IAAAnU,EAAA0N,GAAA,GAAA,KAAAvN,EAAAM,GAAA,EAAA,KAAAmR,EAAA,IAAAgC,GAAA9T,EAAA6T,GAAAzT,EAAAuS,EAAA/E,IAAA,IAAA1N,EAAAS,GAAA,GAAA,KAAAN,EAAAyT,GAAA,EAAA,KAAAhC,EAAA,IAAAuC,GAAArU,EAAA6T,EAAA,GAAAhG,EAAA8E,EAAAhS,IAAA,IAAAT,EAAA4T,GAAA,GAAA,KAAAzT,EAAAgU,GAAA,EAAA,KAAAvC,EAAA,IAAAlE,GAAA5N,EAAA6T,EAAA,GAAAC,EAAAnB,EAAAmB,IAAA,IAAA5T,EAAAmU,GAAA,GAAA,KAAAhU,EAAAuN,GAAA,EAAA,KAAAkE,EAAA,IAAAnR,GAAAX,EAAA6T,EAAA,GAAAA,GAAA,EAAAQ,EAAA9T,EAAAqN,EAAAxN,EAAAO,EAAAkN,EAAA,IAAA,IAAA9N,EAAA,EAAAA,EAAA,EAAAA,IAAAD,EAAAG,EAAA,GAAAF,EAAAA,GAAAiS,EAAAqC,IAAA,KAAA,GAAArC,EAAApE,GAAA,GAAA,MAAA,GAAAoE,EAAArR,GAAA,EAAA,MAAA,EAAAqR,EAAA,IAAA8B,GAAA9T,EAAA6T,KAAAtT,EAAA8T,EAAAA,EAAAzG,EAAAA,EAAAjN,EAAAA,EAAAmT,EAAAA,EAAAvT,EAAA,OAAAT,IAAAs9E,GAAA,MAAAxmE,YAAA7W,EAAAE,GAAA2G,KAAAy2E,KAAAt9E,EAAA6G,KAAA02E,QAAAr9E,EAAA2G,KAAA22E,IAAAt9E,EAAAq4E,QAAA1xE,KAAA22E,IAAA32E,KAAA02E,QAAA/9D,OAAAxf,GAAA,OAAA6G,KAAA42E,UAAA52E,KAAAy2E,KAAAt9E,EAAA6G,KAAA22E,KAAAE,QAAA19E,GAAA,GAAA,MAAAA,GAAA,GAAA,KAAA,CAAA,IAAAE,EAAAF,GAAA,GAAA,IAAAC,EAAAD,GAAA,EAAA,IAAAI,EAAA,IAAAJ,EAAA,MAAAE,GAAAA,EAAA,EAAA,MAAAD,GAAAA,EAAA,EAAA,MAAAG,EAAAA,EAAA,IAAAA,KAAAH,KAAAC,EAAAF,EAAA,EAAAA,GAAAE,GAAA,GAAAF,GAAAC,GAAA,EAAAD,GAAAI,OAAAJ,GAAA,GAAA,GAAA,OAAAA,EAAA29E,WAAA39E,GAAA,KAAAA,EAAA,GAAA6G,KAAA62E,QAAA19E,EAAA,OAAAA,EAAA,GAAA6G,KAAA62E,QAAA19E,EAAA,KAAAy9E,UAAAz9E,EAAAE,EAAAD,GAAA,IAAAG,EAAA,KAAAA,EAAAF,EAAAa,QAAA,MAAA,GAAA,MAAAhB,EAAAiuB,EAAA6tD,UAAA37E,GAAA,IAAA,IAAAH,EAAA,EAAAA,EAAAK,EAAAL,GAAA,EAAA,CAAA8G,KAAA82E,WAAA19E,GAAA,MAAAG,EAAAJ,EAAAk9E,QAAAj9E,GAAAC,EAAAH,IAAAK,EAAA,GAAAF,EAAAH,EAAA,IAAAK,EAAA,GAAAF,EAAAH,EAAA,IAAAK,EAAA,GAAAF,EAAAH,EAAA,IAAAK,EAAA,GAAA,OAAA4tB,EAAA8tD,MAAA57E,EAAAH,KAAA69E,GAAA,MAAA/mE,YAAA7W,GAAA,MAAAE,EAAA2G,KAAA5G,EAAAC,EAAA29E,MAAA1B,EAAAC,KAAAh8E,EAAA,CAAA,GAAA,IAAAL,EAAAE,EAAA8J,UAAAyyE,UAAA,GAAAt8E,EAAA49E,UAAA,CAAA,IAAA79E,EAAA,IAAAA,GAAAD,EAAAe,OAAAhB,IAAAC,EAAAC,EAAA89E,KAAA/9E,IAAA,IAAA,IAAAE,EAAA,EAAAA,EAAAH,EAAAG,IAAAE,EAAA,GAAAF,GAAA,UAAAF,EAAAE,GAAAE,EAAA,GAAAF,GAAA,WAAAF,EAAAE,GAAAA,EAAA49E,UAAA,GAAAt+D,OAAApf,EAAA,IAAAF,EAAA49E,UAAA,GAAAt+D,OAAApf,EAAA,IAAAF,EAAA89E,YAAA,IAAA/9E,EAAAC,EAAA49E,UAAA,IAAAvF,QAAA,MAAAv4E,EAAA6G,KAAA7G,EAAAg+E,YAAA,IAAAh+E,EAAA69E,MAAA79E,EAAA89E,UAAA,IAAA99E,EAAAi+E,UAAA,EAAAz+D,OAAAxf,GAAA6G,KAAAo3E,UAAA,EAAAp3E,KAAAm3E,YAAAx+D,OAAAxf,GAAAk+E,SAAA,MAAAl+E,EAAA6G,KAAA3G,EAAAF,EAAAg+E,YAAApB,WAAA38E,EAAA,IAAAD,EAAA69E,MAAA79E,EAAA89E,UAAA,IAAAt+D,OAAAtf,GAAA08E,WAAA,OAAA58E,EAAAu4E,QAAAt4E,IAAA42D,GAAA,kBAAAsnB,GAAA,GAAAC,GAAA,CAAAx7E,KAAA,UAAAy7E,GAAAnsE,OAAA+K,OAAA,CAAA8gE,KAAA,CAAAn7E,KAAA,SAAAw7E,IAAAE,GAAApsE,OAAA+K,OAAA,CAAAshE,WAAA,IAAAR,KAAA,CAAAn7E,KAAA,UAAAw7E,IAAA5/C,GAAA,CAAA,cAAAggD,GAAA,CAAA,EAAA,GAAA,IAAAC,GAAA,CAAA,GAAA,GAAA,IAAAC,GAAA,GAAAC,GAAA,CAAA,EAAA,EAAA,EAAA,GAAAC,GAAArxD,EAAAuhC,MAAA+vB,GAAA9B,GAAA+B,GAAAzB,GAAA0B,GAAAnB,GAAA,MAAAoB,GAAAnoE,YAAA7W,EAAAE,EAAAD,GAAAiS,OAAA+K,OAAApW,KAAA,CAAAo4E,SAAAj/E,EAAAk/E,OAAAh/E,EAAAi/E,SAAAl/E,EAAA,EAAAm/E,aAAA,IAAArgC,WAAA,KAAAqC,aAAAphD,GAAA,MAAAE,EAAA2G,KAAA,GAAA3G,EAAA++E,SAAA,CAAA,MAAAh/E,EAAAo/E,GAAAr/E,EAAA,EAAAw+E,GAAAt+E,EAAAi/E,UAAA,SAAA/9B,eAAAphD,EAAAE,EAAAD,SAAAq/E,GAAAt/E,EAAAC,EAAAo/E,GAAAn/E,EAAA,EAAAs+E,GAAAx+E,EAAAm/E,YAAA,MAAA/+E,EAAAi/E,GAAAn/E,EAAAs+E,GAAAx+E,EAAAm/E,WAAAp/E,EAAAC,EAAAma,KAAAolE,qBAAA,GAAAx/E,EAAA,IAAAK,EAAA,IAAAL,EAAA,IAAAK,EAAA,GAAA,MAAA,IAAAM,MAAAm2D,IAAAzV,CAAAlhD,EAAAD,EAAAC,EAAA++E,UAAA/+E,EAAA++E,SAAA,KAAA/+E,EAAAs/E,cAAA,IAAAV,GAAA,IAAAD,GAAA3+E,EAAAia,KAAAgV,KAAArlB,MAAA2a,KAAAk6D,KAAAz+E,EAAAu/E,KAAA,IAAAV,GAAA7+E,EAAAia,KAAAulE,gBAAA1/E,EAAAq/E,GAAAr/E,EAAAw+E,GAAAt+E,EAAAi/E,UAAA,GAAA,OAAAQ,GAAAz/E,EAAAF,EAAA,IAAA++C,WAAA/+C,EAAAe,OAAA29E,IAAA1+E,EAAAe,OAAA29E,IAAAP,IAAA,EAAAO,IAAA,GAAApE,QAAA,MAAAt6E,EAAA6G,KAAA3G,EAAAF,EAAAo/E,aAAAn/E,EAAAo/E,GAAAn/E,EAAA,EAAAA,EAAAa,OAAA29E,IAAAt+E,EAAAi/E,GAAAn/E,EAAAA,EAAAa,OAAA29E,IAAA,IAAA3+E,EAAA,IAAAg/C,WAAA,GAAA,GAAA9+C,EAAAc,OAAA,CAAA,MAAAb,EAAA0+E,GAAA1C,OAAAj8E,GAAAD,EAAAy/E,KAAAjgE,OAAAtf,GAAA,MAAAE,EAAAJ,EAAAw/E,cAAAhgE,OAAAtf,GAAAH,EAAA6+E,GAAA3C,SAAA77E,GAAA,IAAAK,GAAA,EAAA,GAAAT,EAAAk/E,OAAA,CAAA,MAAAh/E,EAAAm/E,GAAAT,GAAA3C,SAAAj8E,EAAAy/E,KAAAvB,UAAA,EAAAQ,IAAA,IAAA,IAAA1+E,EAAA,EAAAA,EAAA0+E,GAAA1+E,IAAAE,EAAAF,IAAAI,EAAAJ,KAAAS,GAAA,GAAA,MAAA,CAAA8mE,MAAA9mE,EAAAsG,KAAAhH,IAAA,MAAA6/E,GAAA/oE,YAAA7W,EAAAE,GAAAgS,OAAA+K,OAAApW,KAAA,CAAAo4E,SAAAj/E,EAAAm/E,SAAAj/E,EAAA,EAAAk/E,aAAA,IAAArgC,WAAA,KAAAqC,aAAAphD,GAAA,MAAAE,EAAA2G,KAAA,IAAA5G,EAAA,IAAA8+C,WAAA,GAAA7+C,EAAA++E,WAAAh/E,QAAAmhD,eAAAphD,EAAAE,GAAA,MAAAD,EAAA4/E,OAAAC,gBAAA,IAAA/gC,WAAAy/B,GAAAx+E,EAAAm/E,YAAA,aAAAG,GAAAt/E,EAAAE,EAAAD,GAAA8/E,GAAA9/E,EAAAD,EAAAma,KAAAolE,sBAAAn+B,CAAAlhD,EAAAA,EAAA++E,UAAA/+E,EAAA++E,SAAA,KAAA/+E,EAAAs/E,cAAA,IAAAV,GAAA,IAAAD,GAAA3+E,EAAAia,KAAAgV,KAAArlB,MAAA2a,KAAAk6D,KAAAz+E,EAAAu/E,KAAA,IAAAV,GAAA7+E,EAAAia,KAAAulE,iBAAA,MAAAt/E,EAAA,IAAA2+C,WAAA9+C,EAAAc,OAAAf,EAAAe,OAAAf,EAAAe,OAAAo9E,IAAA,OAAA/9E,EAAAsP,IAAAzP,EAAA,GAAA0/E,GAAAz/E,EAAAF,EAAAI,EAAAH,EAAAc,OAAA,GAAAu5E,QAAA,MAAAt6E,EAAA6G,KAAA,IAAA3G,EAAA,IAAA6+C,WAAA,GAAA,GAAA/+C,EAAAo/E,aAAAr+E,OAAA,CAAA,MAAAd,EAAAD,EAAAw/E,cAAAhgE,OAAAo/D,GAAA1C,OAAAl8E,EAAAo/E,eAAAp/E,EAAAy/E,KAAAjgE,OAAAvf,GAAAC,EAAA0+E,GAAA3C,SAAAh8E,GAAA,MAAAA,EAAAo/E,GAAAT,GAAA3C,SAAAj8E,EAAAy/E,KAAAvB,UAAA,EAAAQ,IAAA,MAAA,CAAA33E,KAAAg5E,GAAA7/E,EAAAD,GAAA+/E,UAAA//E,IAAA,SAAA0/E,GAAA3/E,EAAAE,EAAAD,EAAAG,EAAAL,EAAAU,GAAA,MAAAmS,EAAA1S,EAAAa,OAAAhB,EAAA,IAAAI,EAAA,IAAAH,EAAAo/E,aAAAr+E,SAAAb,EAAA6/E,GAAA//E,EAAAo/E,aAAAl/E,GAAAD,EAAA,SAAAD,EAAAE,GAAA,GAAAA,GAAAA,EAAAF,EAAAe,OAAA,CAAA,MAAAd,EAAAD,GAAAA,EAAA,IAAA++C,WAAA7+C,IAAAwP,IAAAzP,EAAA,GAAA,OAAAD,EAAA,CAAAC,EAAA2S,EAAAA,EAAAurE,KAAAh+E,EAAA,EAAAA,GAAAyS,EAAAurE,GAAAh+E,GAAAg+E,GAAA,CAAA,MAAAp+E,EAAA6+E,GAAA1C,OAAAmD,GAAAn/E,EAAAC,EAAAA,EAAAg+E,KAAA19E,GAAAT,EAAAy/E,KAAAjgE,OAAAzf,GAAA,MAAA6S,EAAA5S,EAAAw/E,cAAAhgE,OAAAzf,GAAAU,GAAAT,EAAAy/E,KAAAjgE,OAAA5M,GAAA3S,EAAAyP,IAAAkvE,GAAA3C,SAAArpE,GAAAzS,EAAAC,GAAA,OAAAJ,EAAAo/E,aAAAC,GAAAn/E,EAAAC,GAAAF,EAAAmhD,eAAAk+B,GAAAt/E,EAAAE,EAAAD,GAAA,MAAAG,GAAA,IAAA6/E,aAAAC,OAAAhgF,GAAAH,QAAA8/E,OAAAM,OAAAC,UAAA,MAAAhgF,EAAAi+E,IAAA,EAAA7/C,IAAA/9B,QAAAo/E,OAAAM,OAAAE,WAAAnuE,OAAA+K,OAAA,CAAAqjE,KAAArgF,GAAAq+E,IAAAv+E,EAAA,GAAA,EAAA0+E,GAAAz+E,EAAAm/E,UAAA,IAAAvsE,EAAA,IAAAmsC,WAAAt+C,GAAAT,EAAAma,KAAA,CAAAgV,IAAAyvD,GAAA1C,OAAAmD,GAAAzsE,EAAA,EAAA6rE,GAAAz+E,EAAAm/E,YAAAO,eAAAd,GAAA1C,OAAAmD,GAAAzsE,EAAA6rE,GAAAz+E,EAAAm/E,UAAA,EAAAV,GAAAz+E,EAAAm/E,YAAAI,qBAAAF,GAAAzsE,EAAA,EAAA6rE,GAAAz+E,EAAAm/E,YAAA,SAAAY,GAAA//E,EAAAE,GAAA,IAAAD,EAAAD,EAAA,OAAAA,EAAAe,OAAAb,EAAAa,SAAAd,EAAA,IAAA8+C,WAAA/+C,EAAAe,OAAAb,EAAAa,QAAAd,EAAAyP,IAAA1P,EAAA,GAAAC,EAAAyP,IAAAxP,EAAAF,EAAAe,SAAAd,EAAA,SAAAo/E,GAAAr/E,EAAAE,EAAAD,GAAA,OAAAD,EAAAioD,SAAA/nD,EAAAD,GAAA,MAAAsgF,GAAA1pE,YAAA7W,EAAAE,GAAAgS,OAAA+K,OAAApW,KAAA,CAAAo4E,SAAAj/E,EAAAu/E,qBAAAr/E,IAAAsgF,GAAA35E,KAAA7G,GAAA07E,OAAA17E,GAAA,MAAAE,EAAA2G,KAAA,GAAA3G,EAAA++E,SAAA,CAAA,MAAAh/E,EAAAwgF,GAAAvgF,EAAAF,EAAAioD,SAAA,EAAA,KAAA,GAAA/nD,EAAA++E,SAAA,KAAAh/E,EAAA,KAAAC,EAAAq/E,qBAAA,MAAA,IAAA7+E,MAAAm2D,IAAA72D,EAAAA,EAAAioD,SAAA,IAAA,OAAAw4B,GAAAvgF,EAAAF,GAAAs6E,QAAA,MAAA,CAAA/S,OAAA,EAAAxgE,KAAA,IAAAg4C,WAAA,KAAA,MAAA2hC,GAAA7pE,YAAA7W,EAAAE,GAAAgS,OAAA+K,OAAApW,KAAA,CAAAo4E,SAAAj/E,EAAAu/E,qBAAAr/E,IAAAsgF,GAAA35E,KAAA7G,GAAA07E,OAAA17E,GAAA,MAAAE,EAAA2G,KAAA,IAAA5G,EAAAG,EAAA,GAAAF,EAAA++E,SAAA,CAAA/+E,EAAA++E,SAAA,KAAA,MAAAl/E,EAAA8/E,OAAAC,gBAAA,IAAA/gC,WAAA,KAAAh/C,EAAA,IAAAG,EAAAq/E,qBAAAt/E,EAAA,IAAA8+C,WAAA/+C,EAAAe,OAAAhB,EAAAgB,QAAAd,EAAAyP,IAAAixE,GAAAzgF,EAAAH,GAAA,GAAAK,EAAA,QAAAH,EAAA,IAAA8+C,WAAA/+C,EAAAe,QAAAX,EAAA,EAAA,OAAAH,EAAAyP,IAAAixE,GAAAzgF,EAAAF,GAAAI,GAAAH,EAAAq6E,QAAA,MAAA,CAAAvzE,KAAA,IAAAg4C,WAAA,KAAA,SAAA0hC,GAAAzgF,EAAAE,GAAA,MAAAD,EAAA,IAAA8+C,WAAA7+C,EAAAa,QAAA,IAAA,IAAAX,EAAA,EAAAA,EAAAF,EAAAa,OAAAX,IAAAH,EAAAG,GAAAwgF,GAAA5gF,GAAAE,EAAAE,GAAAygF,GAAA7gF,EAAAC,EAAAG,IAAA,OAAAH,EAAA,SAAA0gF,GAAA3gF,EAAAE,GAAA,MAAAD,EAAA,IAAA8+C,WAAA7+C,EAAAa,QAAA,IAAA,IAAAX,EAAA,EAAAA,EAAAF,EAAAa,OAAAX,IAAAH,EAAAG,GAAAwgF,GAAA5gF,GAAAE,EAAAE,GAAAygF,GAAA7gF,EAAAE,EAAAE,IAAA,OAAAH,EAAA,SAAAugF,GAAAxgF,EAAAE,GAAAF,EAAAma,KAAA,CAAA,UAAA,UAAA,WAAAna,EAAA8gF,QAAA,IAAAhzD,EAAA9tB,EAAAma,KAAA,IAAAna,EAAA+gF,QAAA,IAAAjzD,EAAA9tB,EAAAma,KAAA,IAAA,IAAA,IAAAla,EAAA,EAAAA,EAAAC,EAAAa,OAAAd,IAAA4gF,GAAA7gF,EAAAE,EAAA+rB,WAAAhsB,IAAA,SAAA4gF,GAAA7gF,EAAAE,GAAAF,EAAA8gF,QAAApF,OAAA,CAAAx7E,IAAAF,EAAAma,KAAA,IAAAna,EAAA8gF,QAAA32E,MAAAnK,EAAAma,KAAA,GAAA6mE,GAAAhhF,EAAAma,KAAA,GAAA8mE,GAAAjhF,EAAAma,KAAA,KAAAna,EAAAma,KAAA,GAAA6mE,GAAAjuE,KAAA+6D,KAAA9tE,EAAAma,KAAA,GAAA,WAAA,GAAAna,EAAA+gF,QAAArF,OAAA,CAAA17E,EAAAma,KAAA,KAAA,KAAAna,EAAAma,KAAA,IAAAna,EAAA+gF,QAAA52E,MAAA,SAAAy2E,GAAA5gF,GAAA,MAAAE,EAAA,EAAAF,EAAAma,KAAA,GAAA,OAAA8mE,GAAAluE,KAAA+6D,KAAA5tE,EAAA,EAAAA,KAAA,GAAA,SAAA+gF,GAAAjhF,GAAA,OAAA,IAAAA,EAAA,SAAAghF,GAAAhhF,GAAA,OAAA,WAAAA,EAAA,MAAAkhF,GAAA,UAAAC,GAAA,oBAAA,MAAAC,GAAAvqE,YAAA7W,GAAAggF,UAAA9/E,EAAA++E,SAAAh/E,EAAAi/E,OAAA9+E,EAAAihF,WAAAthF,EAAAuhF,UAAA7gF,EAAA8+E,qBAAA3sE,EAAA2uE,mBAAAphF,IAAAy5E,UAAAt5E,IAAA,MAAAyR,EAAAuS,QAAArkB,GAAAiS,OAAA+K,OAAApW,KAAA,CAAAm5E,UAAA9/E,EAAAshF,UAAAzvE,EAAAmtE,OAAA9+E,EAAAihF,WAAAthF,EAAAw5E,QAAAx5E,GAAA,IAAAC,EAAA,CAAA45E,UAAAt5E,IAAAmhF,MAAArhF,GAAA,IAAA0tB,EAAAwzD,UAAA7gF,EAAA28E,QAAArrE,GAAAtR,EAAA,IAAA8/E,GAAAtgF,EAAA2S,GAAA,IAAAosE,GAAA/+E,EAAAG,EAAAD,KAAAihD,aAAAphD,GAAA,MAAAE,EAAA2G,KAAA,OAAA3G,EAAAshF,WAAAxhF,EAAAe,SAAAf,QAAAE,EAAAk9E,QAAA1B,OAAA17E,IAAAE,EAAAmhF,YAAArhF,EAAAe,SAAAf,QAAAE,EAAAq5E,QAAAmC,OAAA17E,MAAAE,EAAAshF,WAAAthF,EAAAohF,YAAAphF,EAAAg/E,QAAAl/E,EAAAe,QAAAb,EAAAuhF,MAAA/F,OAAA17E,GAAAA,EAAAohD,cAAA,MAAAphD,EAAA6G,KAAA,IAAA3G,EAAAD,EAAA,IAAA8+C,WAAA,GAAA,GAAA/+C,EAAAwhF,UAAA,CAAA,MAAAthF,EAAAF,EAAAo9E,QAAA9C,QAAA,IAAAp6E,EAAAqnE,MAAA,MAAA,IAAA7mE,MAAAygF,IAAAlhF,EAAAC,EAAA6G,KAAA,KAAA/G,EAAAwhF,WAAAxhF,EAAAshF,YAAAthF,EAAAk/E,OAAA,CAAA,MAAAj/E,EAAA,IAAA2pD,SAAA,IAAA7K,WAAA,GAAAwH,QAAA,GAAArmD,EAAAF,EAAAyhF,MAAAt3E,MAAAlK,EAAAiwD,UAAA,EAAAhwD,GAAAF,EAAAggF,WAAA//E,EAAA2vD,UAAA,GAAA,GAAA,MAAA,IAAAlvD,MAAAygF,IAAA,OAAAnhF,EAAAqhF,aAAAphF,QAAAD,EAAAu5E,QAAAmC,OAAAz7E,IAAA,IAAA8+C,WAAA,SAAA/+C,EAAAu5E,QAAAe,SAAA,CAAAvzE,KAAA9G,EAAA+/E,UAAA9/E,IAAA,MAAAwhF,GAAA7qE,YAAA7W,GAAAwhF,UAAAthF,EAAAg/E,OAAAj/E,EAAAohF,WAAAjhF,EAAAoB,MAAAzB,EAAAuhF,UAAA7gF,EAAAw+E,SAAArsE,EAAA2sE,qBAAAp/E,EAAAohF,mBAAAjhF,IAAAs5E,UAAA7nE,IAAAG,OAAA+K,OAAApW,KAAA,CAAA26E,UAAAthF,EAAAg/E,OAAAj/E,EAAAohF,WAAAjhF,EAAAg6E,QAAAh6E,GAAA,IAAAJ,EAAA,CAAAwB,MAAAzB,GAAA,EAAA65E,UAAA7nE,IAAA0vE,MAAAxhF,GAAA,IAAA6tB,EAAAwzD,UAAA7gF,EAAAy8E,QAAAh9E,GAAAO,EAAA,IAAAigF,GAAA9tE,EAAAzS,GAAA,IAAAy/E,GAAAhtE,EAAAtS,KAAA8gD,aAAAphD,GAAA,MAAAE,EAAA2G,KAAA,IAAA5G,EAAAD,EAAA,OAAAE,EAAAmhF,YAAArhF,EAAAe,SAAAd,QAAAC,EAAAk6E,QAAAsB,OAAA17E,IAAAE,EAAAshF,WAAAvhF,EAAAc,SAAAd,QAAAC,EAAAg9E,QAAAxB,OAAAz7E,MAAAC,EAAAshF,WAAAthF,EAAAohF,YAAAphF,EAAAg/E,QAAAl/E,EAAAe,QAAAb,EAAAuhF,MAAA/F,OAAA17E,GAAAC,EAAAmhD,cAAA,MAAAphD,EAAA6G,KAAA,IAAA3G,EAAAD,EAAA,IAAA8+C,WAAA,GAAA,GAAA/+C,EAAAqhF,aAAAphF,QAAAD,EAAAo6E,QAAAE,SAAA,IAAAv7B,WAAA,IAAA/+C,EAAAwhF,UAAA,CAAAvhF,QAAAD,EAAAk9E,QAAAxB,OAAAz7E,GAAA,MAAAG,EAAAJ,EAAAk9E,QAAA5C,QAAAp6E,EAAAE,EAAA4/E,UAAA,MAAAjgF,EAAA,IAAAg/C,WAAA9+C,EAAAc,OAAAX,EAAA2G,KAAAhG,QAAAhB,EAAA2P,IAAAzP,EAAA,GAAAF,EAAA2P,IAAAtP,EAAA2G,KAAA9G,EAAAc,QAAAd,EAAAF,EAAA,OAAAC,EAAAwhF,YAAAxhF,EAAAshF,YAAAthF,EAAAk/E,SAAAh/E,EAAAF,EAAAyhF,MAAAt3E,OAAA,CAAApD,KAAA9G,EAAA+/E,UAAA9/E,IAAA,MAAAyhF,GAAA,OAAAC,GAAA,SAAAC,GAAA,QAAA,IAAAC,IAAA,EAAA,IAAAC,GAAA,CAAA/hF,EAAAE,EAAAD,EAAAG,EAAAL,EAAAU,EAAAmS,KAAAV,OAAA+K,OAAAjd,EAAA,CAAAmR,MAAA,EAAA6wE,iBAAA9hF,EAAA2B,QAAAqQ,OAAA+K,OAAA,GAAAhd,GAAAgiF,QAAArvE,EAAAy2D,YAAArpE,EAAAipE,SAAAjpE,EAAAmR,OAAAnR,EAAAipE,OAAAI,YAAArpE,EAAAkiF,UAAA,OAAAC,iBAAAniF,EAAAmR,MAAA,EAAApR,EAAAC,MAAAS,EAAA,SAAAT,EAAAE,GAAA,IAAAD,EAAA,MAAAG,EAAA,CAAAkG,KAAA,UAAA,IAAAtG,EAAAkiF,UAAA,CAAA,GAAAJ,GAAA,IAAA9hF,EAAAipE,OAAAlpE,IAAA,MAAAG,GAAA4hF,IAAA,EAAA9hF,EAAAipE,OAAAlpE,EAAAK,QAAAJ,EAAAipE,OAAAlpE,EAAAK,GAAAJ,EAAAipE,OAAAzhE,iBAAA,WAAA,SAAAtH,GAAA,MAAAE,EAAAF,EAAA6G,KAAA,GAAA9G,EAAA,CAAA,MAAAC,EAAAE,EAAAmJ,MAAAxJ,EAAAK,EAAAkG,KAAA,GAAApG,EAAA,CAAA,MAAAE,EAAA,IAAAM,MAAAR,EAAAigB,SAAA/f,EAAAgiF,MAAAliF,EAAAkiF,MAAAniF,EAAA2zC,OAAAxzC,GAAAH,EAAA,KAAAD,EAAAmiF,sBAAA,GAAApiF,GAAA4hF,IAAA5hF,GAAA8hF,IAAA9hF,GAAA6hF,GAAA,CAAA,MAAA1hF,EAAAE,EAAA2G,KAAAhH,GAAA8hF,IAAA5hF,EAAAwjD,QAAA,CAAA18C,KAAA,IAAAg4C,WAAA7+C,GAAA8/E,UAAA5/E,EAAA4/E,YAAA//E,EAAA,KAAAD,EAAAmiF,kBAAAliF,EAAAwjD,QAAAvjD,GAAA,IAAA6+C,WAAA7+C,SAAA,GAAAF,EAAAkiF,UAAA,CAAAxG,OAAA17E,GAAAS,EAAA,CAAA6F,KAAAs7E,GAAA76E,KAAA/G,IAAAs6E,MAAA,IAAA75E,EAAA,CAAA6F,KAAAu7E,MAAA,OAAA7hF,EAAAkiF,UAAA,SAAAniF,EAAAG,EAAA,IAAA,OAAA,IAAAgpE,OAAA,IAAAmZ,IAAAriF,EAAAiiF,QAAA,GAAA,oBAAAx+E,UAAA,oBAAA8zE,SAAA,IAAAh3E,QAAA,OAAA,KAAA,QAAA+hF,YAAA9G,KAAA,oBAAA/3E,SAAA8zE,SAAAiE,KAAA/3E,SAAA8+E,eAAA9+E,SAAA8+E,cAAA/3D,KAAA,IAAA63D,IAAA,+BAAA5+E,SAAA++E,SAAAhH,MAAAt7E,GAAAkhD,eAAA3gD,EAAAL,GAAA,IAAAH,EAAA,CAAA,MAAAA,EAAAD,EAAA6B,QAAAzB,EAAAJ,EAAAiiF,QAAAj4E,MAAA,SAAA4I,EAAA,CAAAqvE,QAAA7hF,EAAAkG,KAAAq7E,GAAA9/E,QAAA5B,EAAA2U,OAAA,CAAAglE,UAAA15E,EAAA05E,aAAA,OAAAhnE,EAAAxS,GAAA,SAAAwS,EAAA1S,GAAA,MAAAE,EAAAJ,EAAAipE,OAAAlpE,EAAA,IAAA4zC,SAAA,CAAA3zC,EAAAE,IAAAD,EAAA,CAAAwjD,QAAAzjD,EAAA4zC,OAAA1zC,KAAA,IAAA,GAAAA,EAAA6G,KAAA,IAAA7G,EAAA6G,KAAA7G,EAAA6G,KAAAw/C,OAAAnmD,EAAAkoE,YAAApoE,EAAA,CAAAA,EAAA6G,OAAA,MAAA/G,GAAAI,EAAAkoE,YAAApoE,QAAAE,EAAAkoE,YAAApoE,GAAA,MAAAA,GAAAD,EAAA2zC,OAAA1zC,GAAAD,EAAA,KAAAD,EAAAmiF,iBAAA,OAAApiF,GAAA,CAAAC,EAAAI,GAAA,SAAAJ,EAAAE,GAAA,MAAAD,EAAA,SAAAD,EAAAE,EAAAD,GAAA,OAAAC,EAAAuiF,UAAA9pC,WAAA,WAAA,IAAA+oC,GAAA1hF,EAAAE,EAAAD,GAAAC,EAAAuiF,UAAA9pC,WAAAuoC,IAAA,IAAAE,GAAAphF,EAAAE,EAAAD,QAAA,EAAA,CAAAD,EAAAgiF,iBAAAhiF,EAAA6B,QAAA3B,GAAA,MAAA,CAAAkhD,aAAAlhD,GAAA,IAAA,aAAAD,EAAAy7E,OAAAx7E,GAAA,MAAAA,GAAA,MAAAF,EAAAmiF,iBAAAjiF,IAAAkhD,cAAA,IAAA,aAAAnhD,EAAAq6E,QAAA,QAAAt6E,EAAAmiF,oBAAA,CAAAniF,EAAAI,IAAA,IAAAsiF,GAAA,GAAAC,GAAA,GAAA,SAAAC,GAAA5iF,GAAAA,EAAA6iF,mBAAAlgF,aAAA3C,EAAA6iF,kBAAA7iF,EAAA6iF,iBAAA,MAAA,MAAAC,GAAA,CAAA,WAAA,cAAA,YAAA,YAAA,iBAAA,mBAAA,cAAA,iBAAA,UAAA,aAAA,YAAA,aAAA,gBAAA,UAAA,kBAAA,wBAAA,2BAAA,gBAAA,eAAA,cAAA,SAAA,QAAA,oBAAA,iBAAA,iBAAA,eAAA,8BAAA,UAAA,gBAAA,kBAAA,wBAAA,yBAAA,MAAAC,GAAAlsE,YAAA7W,GAAA8iF,GAAA5+E,SAAAhE,GAAA2G,KAAA3G,GAAAF,EAAAE,MAAA,MAAA8iF,GAAA,gCAAAC,GAAA,qCAAAC,GAAA,2CAAAC,GAAA,mDAAAC,GAAA,qCAAAj1D,GAAA,8BAAAD,GAAA,8BAAAE,GAAA,gCAAAM,GAAA,kCAAAH,GAAA,mCAAAI,GAAA,QAAAE,GAAA,CAAA,mBAAA,iBAAA,UAAA,MAAAP,GAAAzX,YAAA7W,EAAAE,EAAAD,GAAAiS,OAAA+K,OAAApW,KAAA,CAAAy0E,OAAAt7E,EAAA4U,OAAA1U,EAAA2B,QAAA5B,IAAAmhD,cAAAphD,EAAAE,EAAAD,EAAA,IAAA,MAAAG,EAAAyG,MAAAy0E,OAAAv7E,EAAA84C,OAAAp4C,EAAA4iF,cAAAzwE,EAAA0wE,kBAAAnjF,EAAAyU,OAAAtU,EAAAijF,QAAAxxE,EAAAiuE,UAAA/tE,EAAAuxE,eAAAhjF,EAAAijF,eAAApjF,GAAAD,EAAA0N,EAAA1N,EAAAsjF,eAAA,GAAA3jF,EAAAy4B,mBAAAz4B,EAAA25B,OAAA,IAAAplB,QAAAqvE,GAAA5jF,EAAAU,EAAA,IAAA,MAAAoN,EAAA+1E,GAAAtvE,GAAA,IAAA1T,EAAAkuB,GAAA1uB,EAAAH,EAAA,YAAA,GAAAW,EAAAA,GAAAA,EAAAG,QAAAH,EAAAgS,GAAA,IAAAA,EAAAixE,0BAAA,MAAA,IAAAnjF,MAAA6tB,IAAA,GAAA,GAAApuB,GAAA,GAAAA,EAAA,MAAA,IAAAO,MAAA6tB,IAAA,GAAA,UAAAu1D,GAAAj2E,EAAA,GAAA,MAAA,IAAAnN,MAAAytB,IAAAY,GAAAjhB,EAAAD,EAAA,GAAAyG,QAAAqvE,GAAA5jF,EAAAU,EAAA,GAAAqN,EAAAi2E,eAAAj2E,EAAAk2E,kBAAAl2E,EAAAm2E,cAAA3vE,EAAA2zC,SAAA,GAAAn6C,EAAAi2E,gBAAAn1D,GAAAxuB,EAAA0N,EAAAD,EAAA,GAAA3N,EAAAgkF,eAAAp2E,EAAAo2E,eAAAhkF,EAAAikF,aAAAr2E,EAAAq2E,aAAA,MAAApwE,EAAA3T,EAAAohF,WAAA1zE,EAAA0zE,UAAA1tE,EAAAC,IAAAnB,EAAA,GAAAmB,EAAA,CAAA,IAAAD,QAAA,IAAAlB,EAAAusE,SAAA,MAAA,IAAAz+E,MAAAguB,IAAA,IAAA9tB,EAAA,MAAA,IAAAF,MAAA0tB,IAAA,MAAAtb,QAAA,SAAA9S,EAAAE,EAAAD,GAAA,MAAAG,KAAAF,EAAAmhF,aAAAnhF,EAAAg/E,SAAAh/E,EAAAshF,aAAAthF,EAAA85E,oBAAA,IAAA95E,EAAA85E,eAAA/5E,EAAA+5E,eAAAj6E,EAAAK,GAAAH,EAAAg6E,cAAAh6E,EAAAg6E,cAAA/5E,EAAAuiF,WAAA,GAAA,GAAAC,GAAA3hF,OAAAd,EAAA45E,WAAA,CAAA,MAAAjnE,EAAA,GAAA,OAAA8vE,GAAAhhF,KAAAkR,GAAAmvE,GAAAnvE,EAAA5S,EAAAE,EAAAD,EAAAQ,EAAAL,EAAAL,GAAA,CAAA,MAAA6S,EAAA8vE,GAAAx/D,MAAAljB,IAAAA,EAAAmR,OAAA,OAAAyB,GAAAgwE,GAAAhwE,GAAAmvE,GAAAnvE,EAAA5S,EAAAE,EAAAD,EAAAQ,EAAAL,EAAAL,IAAA,IAAA4zC,SAAA1zC,GAAA0iF,GAAAjhF,KAAA,CAAA+hD,QAAAxjD,EAAA+hF,iBAAAhiF,EAAA6B,QAAA3B,EAAAkkF,UAAAhkF,EAAA6hF,QAAAliF,MAAA,SAAAU,EAAAT,GAAA,GAAA2iF,GAAA5hF,OAAA,CAAA,OAAA0iD,QAAAvjD,EAAA8hF,iBAAA5hF,EAAAyB,QAAA9B,EAAAqkF,UAAAxxE,EAAAqvE,QAAA9hF,IAAAwiF,GAAAlxE,OAAA,EAAA,GAAAvR,EAAA6hF,GAAA/hF,EAAAI,EAAAL,EAAAE,EAAAQ,EAAAmS,EAAAzS,SAAAH,EAAAipE,QAAA2Z,GAAA5iF,GAAAupB,OAAAE,SAAAxpB,EAAA85E,yBAAA95E,EAAA85E,wBAAA,IAAA/5E,EAAA6iF,iBAAArgF,YAAA,KAAAkgF,GAAAA,GAAAx+D,QAAAhkB,GAAAA,GAAAF,IAAAA,EAAAqpE,cAAAppE,EAAA85E,0BAAA2I,GAAAA,GAAAx+D,QAAAhkB,GAAAA,GAAAF,KAAA,CAAAM,EAAA65E,QAAA,CAAAsI,UAAAvB,GAAAjC,SAAAr+E,EAAA0gF,UAAAxtE,EAAAytE,mBAAA3uE,GAAAA,EAAAusE,SAAAD,OAAApwD,GAAA1uB,EAAAH,EAAA,kBAAAs/E,qBAAAzrE,IAAA/B,EAAAsyE,eAAA7jF,IAAA,EAAA,IAAAyR,IAAA,GAAA,KAAA+tE,UAAA/tE,EAAAovE,WAAA,GAAAlhF,EAAAqhF,UAAAztE,EAAAimE,cAAAlrD,GAAA1uB,EAAAH,EAAA,kBAAAK,GAAAN,EAAAw4B,mBAAAx4B,EAAA05B,OAAA,MAAA7mB,EAAAic,GAAA1uB,EAAAH,EAAA,UAAA+R,EAAAvR,EAAA,GAAAqN,EAAAi2E,eAAAj2E,EAAAk2E,iBAAA,aAAA5iC,eAAAphD,EAAAE,EAAAD,EAAAG,EAAAL,EAAAU,EAAAmS,GAAA,MAAAzS,EAAA4S,KAAAqI,IAAA3a,EAAAm5E,UAAA,IAAA,OAAAx4B,eAAA3gD,EAAAH,EAAA,EAAAyR,EAAA,GAAA,MAAAE,EAAAW,EAAA0xE,OAAA,GAAAhkF,EAAAP,EAAA,CAAAwlB,EAAAtT,EAAAjS,GAAA,MAAAQ,QAAAN,EAAAq7E,eAAAj7E,EAAAF,EAAA2S,KAAAkI,IAAA9a,EAAAJ,EAAAO,IAAAD,EAAAG,EAAAO,OAAAwkB,EAAAtT,EAAAjS,GAAA,MAAA8N,QAAA9N,EAAA07E,OAAAl7E,GAAA,GAAA+kB,EAAAtT,EAAAjS,GAAA+R,SAAAyT,EAAAvlB,EAAA6N,GAAA8E,EAAAkwC,WAAA,IAAAlwC,EAAAkwC,WAAAxiD,EAAAD,EAAAN,GAAA,MAAAC,IAAA,OAAAS,EAAAH,EAAAH,EAAA4R,GAAA,CAAA,MAAA7R,QAAAF,EAAAs6E,QAAA,OAAAvoE,SAAAyT,EAAAvlB,EAAAC,EAAA6G,MAAA,CAAAi5E,UAAA9/E,EAAA8/E,UAAAj/E,OAAAgR,IAAAqvC,GAAAA,CAAAtuC,EAAA/S,EAAAC,EAAAgS,EAAA3R,EAAAC,EAAA,CAAAwiD,WAAA7iD,EAAA6iD,WAAAwhC,OAAAzxE,IAAA7S,EAAAukF,WAAA,SAAAx1D,GAAA/uB,EAAAE,EAAAD,GAAA,MAAAG,EAAAJ,EAAAwkF,WAAAC,GAAAvkF,EAAAD,EAAA,GAAAF,EAAA,IAAA,EAAAK,GAAAK,EAAAqjF,GAAA5jF,EAAAD,EAAA,GAAAiS,OAAA+K,OAAAjd,EAAA,CAAAwhF,UAAAzhF,EAAAkD,QAAAwhF,GAAAvkF,EAAAD,GAAAsjF,QAAA,CAAA/hF,OAAA,EAAApB,IAAA,EAAAikF,eAAA,IAAA,EAAAjkF,GAAAskF,qBAAA,OAAA,KAAAtkF,IAAAojF,eAAA/iF,EAAAkkF,YAAAC,GAAAnkF,GAAAsjF,eAAAU,GAAAvkF,EAAAD,EAAA,IAAA+jF,iBAAAS,GAAAvkF,EAAAD,EAAA,MAAA,SAAA2uB,GAAA5uB,EAAAE,EAAAD,EAAAG,GAAA,MAAAL,EAAAG,EAAA+jF,cAAAxjF,EAAAP,EAAA2kF,WAAA,IAAA3xE,IAAAN,EAAAgxE,GAAA,IAAA7kC,WAAAh/C,IAAA,IAAAI,EAAA,EAAA,IAAA,KAAAA,EAAAJ,EAAAgB,QAAA,CAAA,MAAAf,EAAAykF,GAAA7xE,EAAAzS,GAAAD,EAAAukF,GAAA7xE,EAAAzS,EAAA,GAAAM,EAAAiP,IAAA1P,EAAA,CAAAsG,KAAAtG,EAAA+G,KAAAhH,EAAAiK,MAAA7J,EAAA,EAAAA,EAAA,EAAAD,KAAAC,GAAA,EAAAD,GAAA,MAAAF,IAAA,MAAAM,EAAAmkF,GAAAxkF,EAAAG,EAAA,GAAAF,EAAA8/E,UAAA8D,GAAA7jF,EAAAG,EAAA,IAAAF,EAAA4kF,iBAAAhB,GAAA7jF,EAAAG,EAAA,IAAAF,EAAAujF,eAAAK,GAAA7jF,EAAAG,EAAA,IAAA,MAAA2R,EAAAtR,EAAA0J,IAAA,GAAA4H,IAAA,SAAA/R,EAAAE,GAAAA,EAAA6kF,OAAA,EAAA,MAAA9kF,EAAA2jF,GAAA5jF,EAAA+G,MAAA/G,EAAAoa,OAAA,GAAA,IAAA,IAAAla,EAAA,EAAAA,EAAA6S,KAAAwR,MAAAvkB,EAAA+G,KAAAhG,OAAA,GAAAb,IAAAF,EAAAoa,OAAA1Y,KAAAsjF,GAAA/kF,EAAA,EAAA,EAAAC,IAAA,MAAAE,EAAAyuB,GAAA3K,QAAAlkB,GAAAE,EAAAF,IAAAwtB,IAAA,IAAA,IAAAttB,EAAA,EAAAA,EAAAE,EAAAW,OAAAb,IAAAF,EAAAI,EAAAF,IAAAF,EAAAoa,OAAAla,GAAA2uB,GAAA3qB,SAAAjE,IAAA,GAAAC,EAAAD,IAAAutB,EAAA,CAAA,QAAA,IAAAxtB,EAAAC,GAAA,MAAA,IAAAS,MAAAwtB,IAAAhuB,EAAAD,GAAAD,EAAAC,OAAA,CAAA8R,EAAA7R,GAAAA,EAAA+kF,gBAAAlzE,GAAA,MAAAE,EAAAxR,EAAA0J,IAAA,OAAA8H,IAAAizE,GAAAjzE,EAAA,WAAA,cAAA/R,EAAAF,GAAAE,EAAAilF,sBAAAlzE,GAAA,MAAAzR,EAAAC,EAAA0J,IAAA,OAAA3J,IAAA0kF,GAAA1kF,EAAA,UAAA,aAAAN,EAAAF,GAAAE,EAAAklF,yBAAA5kF,GAAA,MAAAH,EAAAI,EAAA0J,IAAA,OAAA9J,GAAA,SAAAL,EAAAE,EAAAD,GAAA,MAAAG,EAAAwjF,GAAA5jF,EAAA+G,MAAA/G,EAAAqlF,cAAAC,GAAAllF,EAAA,GAAAJ,EAAAulF,SAAAD,GAAAllF,EAAA,GAAA,MAAAL,EAAAulF,GAAAllF,EAAA,GAAAJ,EAAAm/E,SAAAp/E,EAAAC,EAAA6jF,0BAAA5jF,EAAAC,EAAAojF,kBAAAtjF,EAAAsjF,kBAAAmB,GAAArkF,EAAA,GAAA,CAAAC,EAAAH,EAAAI,GAAAJ,EAAAmjF,cAAAhjF,GAAAH,EAAAojF,kBAAAhjF,EAAA,MAAAwN,EAAArN,EAAA0J,IAAA,IAAA2D,IAAA,SAAA9N,EAAAE,GAAA,MAAAD,EAAA2jF,GAAA5jF,EAAA+G,MAAA,IAAA3G,EAAAL,EAAA,EAAA,IAAA,KAAAA,EAAAC,EAAA+G,KAAAhG,SAAAX,GAAA,CAAA,MAAAF,EAAAukF,GAAAxkF,EAAAF,GAAAU,EAAAgkF,GAAAxkF,EAAAF,EAAA,GAAA,GAAAG,IAAAE,EAAAJ,EAAA+G,KAAAiD,MAAAjK,EAAA,EAAAA,EAAA,EAAAU,IAAAV,GAAA,EAAAU,GAAA,MAAAT,IAAA,IAAA,GAAAI,GAAA,IAAAA,EAAAW,OAAA,CAAA,MAAAd,EAAA2jF,GAAAxjF,GAAAL,EAAAE,EAAAulF,aAAA,GAAA,GAAA/kF,EAAAR,EAAAulF,aAAA,GAAA,GAAA5yE,EAAA3S,EAAAulF,aAAA,IAAA,GAAAtzE,OAAA+K,OAAAjd,EAAA,CAAAwjF,eAAAzjF,EAAA0lF,kBAAAhlF,EAAAilF,gBAAA9yE,IAAA,MAAAzS,EAAAwlF,GAAA5lF,GAAAgS,EAAA,CAAA4yE,YAAAxkF,EAAA+jF,eAAAyB,GAAAllF,GAAA0jF,aAAAwB,GAAA/yE,IAAAV,OAAA+K,OAAAjd,EAAA+R,GAAAG,OAAA+K,OAAA/c,EAAA6R,IAAA,MAAA/R,KAAA,CAAA8N,EAAA5N,GAAAA,EAAA0lF,eAAA93E,GAAA,MAAAwG,EAAA7T,EAAA0J,IAAA,OAAAmK,IAAA,SAAAtU,EAAAE,GAAA,MAAAD,EAAA2jF,GAAA5jF,EAAA+G,MAAA3G,EAAAklF,GAAArlF,EAAA,GAAAF,EAAA,GAAAU,EAAA,GAAA,IAAA,EAAAL,KAAAL,EAAA2B,KAAA,eAAAjB,EAAAiB,KAAA,mBAAA,IAAA,EAAAtB,KAAAL,EAAA2B,KAAA,kBAAAjB,EAAAiB,KAAA,sBAAA,IAAA,EAAAtB,KAAAL,EAAA2B,KAAA,gBAAAjB,EAAAiB,KAAA,oBAAA,IAAAkR,EAAA,EAAA7S,EAAAmE,SAAA,CAAA9D,EAAAL,KAAA,GAAAC,EAAA+G,KAAAhG,QAAA6R,EAAA,EAAA,CAAA,MAAAzS,EAAA2jF,GAAA7jF,EAAA2S,GAAA1S,EAAAE,GAAAJ,EAAAI,GAAA,IAAA4pC,KAAA,IAAA7pC,GAAA,MAAAG,EAAAG,EAAAV,GAAAC,EAAAM,GAAAH,EAAAyS,GAAA,KAAA,CAAA0B,EAAApU,GAAAA,EAAA2lF,4BAAAvxE,GAAA,SAAA4wE,GAAAllF,EAAAE,EAAAD,EAAAG,EAAAL,GAAA,MAAAU,EAAAmjF,GAAA5jF,EAAA+G,MAAA/G,EAAAiD,QAAAqiF,GAAA7kF,EAAA,GAAAT,EAAAggF,UAAA8D,GAAArjF,EAAA,GAAA,MAAAmS,EAAA,IAAAkb,EAAAlb,EAAA8oE,OAAA37E,EAAAE,IAAA,MAAAE,EAAAyjF,GAAA,IAAA7kC,WAAA,IAAA5+C,EAAA+vD,UAAA,EAAAt9C,EAAAzI,OAAA,GAAAnK,EAAAE,IAAA,IAAA8uE,aAAAC,OAAAjvE,EAAA+G,KAAAkhD,SAAA,IAAAjoD,EAAAunE,OAAAxnE,EAAAwjF,QAAAmB,sBAAA1kF,EAAAggF,WAAA8D,GAAA3jF,EAAA,GAAAH,EAAAunE,QAAAnnE,EAAAF,GAAAF,EAAAE,GAAAE,EAAAF,EAAA,SAAA,GAAA,SAAA4uB,GAAA9uB,EAAAE,EAAAD,GAAA,YAAA,IAAAC,EAAAD,GAAAD,EAAA6B,QAAA5B,GAAAC,EAAAD,GAAA,SAAA6lF,GAAA9lF,EAAAE,GAAA,OAAAA,GAAA,SAAAA,EAAA6E,OAAA1B,cAAA,IAAA2rE,YAAA9uE,GAAA+uE,OAAAjvE,GAAA,CAAAA,IAAA,IAAAE,EAAA,GAAA,IAAA,IAAAD,EAAA,EAAAA,EAAAD,EAAAe,OAAAd,IAAAC,GAAA2tB,EAAA7tB,EAAAC,IAAA,OAAAC,GAAA,CAAAF,GAAA,SAAA4kF,GAAA5kF,GAAA,MAAAE,GAAA,WAAAF,IAAA,GAAAC,EAAA,MAAAD,EAAA,IAAA,OAAA,IAAAgqC,KAAA,OAAA,MAAA9pC,IAAA,KAAA,IAAAA,IAAA,GAAA,EAAA,GAAAA,GAAA,MAAAD,IAAA,IAAA,KAAAA,IAAA,EAAA,GAAA,GAAAA,GAAA,GAAA,MAAAD,KAAA,SAAA2lF,GAAA3lF,GAAA,OAAA,IAAAgqC,KAAAzgB,OAAAvpB,EAAA+lF,OAAA,KAAAA,OAAA,eAAA,SAAAT,GAAAtlF,EAAAE,GAAA,OAAAF,EAAAwvD,SAAAtvD,GAAA,SAAAukF,GAAAzkF,EAAAE,GAAA,OAAAF,EAAA0vD,UAAAxvD,GAAA,GAAA,SAAA4jF,GAAA9jF,EAAAE,GAAA,OAAAF,EAAA4vD,UAAA1vD,GAAA,GAAA,SAAA8kF,GAAAhlF,EAAAE,GAAA,OAAAqpB,OAAAvpB,EAAAwlF,aAAAtlF,GAAA,IAAA,SAAA0jF,GAAA5jF,GAAA,OAAA,IAAA4pD,SAAA5pD,EAAAumD,QAAA,SAAAo9B,GAAA3jF,EAAAE,EAAAD,GAAA,OAAAD,EAAAu7E,eAAAr7E,EAAAD,GAAAiV,EAAA,CAAAilE,QAAA,SAAAn6E,GAAA,MAAAE,EAAA,IAAA4S,EAAA7S,EAAAD,GAAAA,EAAA45E,UAAA7mE,KAAAwR,MAAA,EAAAvkB,EAAA45E,WAAA,OAAA75E,EAAA,IAAAg/C,WAAA9+C,GAAA,IAAAQ,GAAA,EAAAP,EAAAo5E,cAAAp5E,EAAAy4E,SAAA54E,EAAA8G,KAAA60E,OAAA,SAAA17E,EAAA4S,GAAA,MAAAzS,EAAA,GAAA,IAAAG,EAAAyR,EAAAE,EAAA,EAAAzR,EAAA,EAAAH,EAAA,EAAA,GAAA,IAAAL,EAAAe,OAAA,CAAAb,EAAA03E,cAAA,EAAA13E,EAAAs5E,QAAAx5E,EAAAE,EAAA23E,SAAA73E,EAAAe,OAAA,EAAA,CAAA,GAAAb,EAAAs4E,eAAA,EAAAt4E,EAAAu4E,UAAAx4E,EAAA,IAAAC,EAAA23E,UAAAp3E,IAAAP,EAAA03E,cAAA,EAAAn3E,GAAA,GAAAH,EAAAJ,EAAAq5E,QAAA,GAAA94E,GAAAH,IAAAF,GAAA,GAAA,IAAAF,EAAA23E,SAAA,MAAA,IAAAn3E,MAAA,6BAAA,GAAA,IAAAJ,GAAA,IAAAA,EAAA,MAAA,IAAAI,MAAA,cAAAR,EAAA4kD,KAAA,IAAArkD,GAAA,IAAAH,IAAAJ,EAAA23E,WAAA73E,EAAAe,OAAA,MAAA,IAAAL,MAAA,wBAAAR,EAAAs4E,iBAAAt4E,EAAAs4E,iBAAAv4E,EAAAE,EAAAuB,KAAA,IAAAq9C,WAAAh/C,IAAAI,EAAAuB,KAAA3B,EAAAiK,MAAA,EAAA9J,EAAAs4E,kBAAAn4E,GAAAH,EAAAs4E,eAAA5lE,GAAA1S,EAAA03E,cAAA,GAAA13E,EAAA03E,eAAA3lE,IAAAW,EAAA1S,EAAA03E,eAAA3lE,EAAA/R,EAAA03E,qBAAA13E,EAAA23E,SAAA,GAAA,IAAA33E,EAAAu4E,WAAA,OAAAt4E,EAAAY,OAAA,GAAAgR,EAAA,IAAAgtC,WAAA1+C,GAAAF,EAAA+D,SAAA,SAAAlE,GAAA+R,EAAArC,IAAA1P,EAAAQ,GAAAA,GAAAR,EAAAe,WAAAgR,EAAA5R,EAAA,IAAA,IAAA4+C,WAAA,GAAAhtC,IAAAlL,KAAAyzE,MAAA,WAAAp6E,EAAAm5E,iBAAAr5E,EAAAgmF,WAAAxqE,EAAAxb,EAAAimF,WAAA,cAAAr4D,EAAA/W,YAAA7W,GAAAw6E,QAAA3zE,KAAAgyC,OAAA,EAAAhyC,KAAAq/E,YAAAlmF,EAAA6G,KAAA4zE,KAAA,IAAA0L,KAAA,GAAA,CAAA7/E,KAAAtG,IAAAohD,sBAAAphD,GAAAw6E,MAAAD,gBAAAv6E,GAAA6G,KAAA4zE,KAAA,IAAA0L,KAAA,CAAAt/E,KAAA4zE,KAAAz6E,EAAAumD,QAAA,CAAAjgD,KAAAO,KAAAq/E,cAAAr/E,KAAAgyC,OAAAhyC,KAAA4zE,KAAAr5E,KAAAmjF,UAAA,OAAA19E,KAAA4zE,OAAAz6E,EAAAomF,gBAAA,cAAA/qE,EAAAxE,YAAA7W,GAAAw6E,QAAA3zE,KAAAw/E,QAAArmF,EAAA,IAAAE,EAAAF,EAAAe,OAAA,KAAA,KAAAf,EAAA4T,OAAA1T,EAAA,IAAAA,IAAA2G,KAAAy/E,UAAAtmF,EAAAsD,QAAA,KAAA,EAAAuD,KAAAzF,KAAA2R,KAAAwR,MAAA,KAAArkB,EAAA2G,KAAAy/E,YAAAllC,qBAAAphD,EAAAE,GAAA,MAAAD,EAAA,IAAA8+C,WAAA7+C,GAAAE,EAAA,EAAA2S,KAAAwR,MAAAvkB,EAAA,GAAAD,EAAAgvE,KAAAloE,KAAAw/E,QAAAz1D,UAAAxwB,EAAAyG,KAAAy/E,UAAA,EAAAvzE,KAAA+W,MAAA9pB,EAAAE,GAAA,GAAA2G,KAAAy/E,YAAA7lF,EAAAT,EAAA,EAAA+S,KAAAwR,MAAAnkB,EAAA,GAAA,IAAA,IAAAJ,EAAAS,EAAAT,EAAAS,EAAAP,EAAAF,IAAAC,EAAAD,EAAAS,GAAAV,EAAAksB,WAAAjsB,GAAA,OAAAC,IAAAD,EAAAumF,gBAAA,cAAA34D,EAAA/W,YAAA7W,GAAAw6E,QAAA3zE,KAAAE,KAAA,SAAA/G,GAAA,IAAA,WAAA6G,KAAA2/E,QAAA,GAAAplC,sBAAAphD,GAAAw6E,MAAAD,gBAAAv6E,GAAA,IAAAE,EAAA,EAAAD,EAAA4G,KAAA2/E,QAAA,MAAApmF,EAAAyG,KAAA2/E,QAAAzlF,OAAA,IAAA8F,KAAA2/E,QAAA,GAAAtmF,EAAA,EAAAA,EAAA,EAAA6S,KAAAwR,OAAAnkB,EAAAJ,EAAAe,QAAA,GAAAX,EAAAF,IAAAD,GAAAghB,OAAAwL,aAAAzsB,EAAAE,IAAA,KAAAA,EAAAF,EAAAe,OAAAb,IAAA2G,KAAA2/E,SAAAvlE,OAAAwL,aAAAzsB,EAAAE,IAAAD,EAAAc,OAAA,EAAA8F,KAAAE,MAAA0/E,KAAAxmF,GAAA4G,KAAA2/E,QAAAvmF,EAAAskF,UAAA,OAAA19E,KAAAE,KAAA0/E,KAAA5/E,KAAA2/E,WAAAxmF,EAAA0mF,UAAAnjF,EAAAvD,EAAA2mF,eAAA3D,GAAAhjF,EAAA4mF,gCAAAxD,GAAApjF,EAAA6mF,cAAAz4D,GAAApuB,EAAA8mF,kCAAA3D,GAAAnjF,EAAA+mF,oBAAA9D,GAAAjjF,EAAAgnF,0BAAA9D,GAAAljF,EAAAinF,+BAAA/4D,GAAAluB,EAAAknF,eAAAnvE,EAAA/X,EAAAmnF,qBAAAtwB,GAAA72D,EAAAonF,sBAAAjG,GAAAnhF,EAAAqnF,gCAAAl5D,GAAAnuB,EAAAsnF,4BAAA/4D,GAAAvuB,EAAAunF,2BAAA74D,GAAA1uB,EAAAwnF,gBAAA,cAAAz5D,EAAAlX,YAAA7W,EAAAE,EAAA,IAAAA,EAAA26E,gBAAA,EAAAL,MAAAx6E,EAAAE,KAAAF,EAAAynF,WAAA15D,EAAA/tB,EAAA0nF,OAAArsE,EAAArb,EAAA2nF,WAAA,cAAAtsE,EAAAxE,YAAA7W,GAAAw6E,QAAA3zE,KAAA+gF,WAAA,IAAApsE,EAAA,IAAA2qE,KAAA,CAAAnmF,GAAA,CAAAsG,KAAAyd,KAAAq9B,aAAAo5B,MAAA9gD,OAAA7yB,KAAA+gF,WAAAluD,OAAA7yB,KAAAzF,KAAAyF,KAAA+gF,WAAAxmF,KAAAggD,qBAAAphD,EAAAE,GAAA,OAAA2G,KAAA+gF,WAAArM,eAAAv7E,EAAAE,KAAAF,EAAA6nF,WAAA,cAAAj6D,EAAA/W,YAAA7W,GAAAw6E,QAAA3zE,KAAAmuE,SAAAh1E,EAAA6G,KAAA4zE,KAAA,IAAA0L,KAAA,GAAA,CAAA7/E,KAAAyd,IAAAq9B,sBAAAphD,GAAAw6E,MAAAD,gBAAAv6E,GAAA6G,KAAA4zE,KAAA,IAAA0L,KAAA,CAAAt/E,KAAA4zE,KAAAz6E,EAAAumD,QAAA,CAAAjgD,KAAAyd,IAAAwgE,UAAA,MAAAvkF,EAAA,IAAA06E,WAAA,OAAA,IAAA/mC,SAAA,CAAAzzC,EAAAD,KAAAD,EAAAwG,OAAAxG,GAAAE,EAAAF,EAAA2U,OAAAtQ,QAAArE,EAAAilD,QAAA,IAAAhlD,EAAAD,EAAAuJ,OAAAvJ,EAAA8nF,WAAAjhF,KAAA4zE,KAAA5zE,KAAAmuE,eAAAh1E,EAAA+nF,iBAAA,cAAA1sE,EAAAxE,YAAA7W,GAAAw6E,QAAA3zE,KAAA0I,MAAAvP,EAAA6G,KAAAzF,KAAApB,EAAAe,OAAAqgD,qBAAAphD,EAAAE,GAAA,OAAA2G,KAAA0I,MAAAvF,MAAAhK,EAAAA,EAAAE,KAAAF,EAAAgoF,iBAAA,cAAAp6D,EAAA/W,cAAA2jE,QAAA3zE,KAAA0I,MAAA,IAAAwvC,WAAA,GAAAqC,sBAAAphD,GAAAw6E,MAAAD,gBAAAv6E,GAAA,MAAAE,EAAA2G,KAAA0I,MAAA1I,KAAA0I,MAAA,IAAAwvC,WAAA7+C,EAAAa,OAAAf,EAAAe,QAAA8F,KAAA0I,MAAAG,IAAAxP,GAAA2G,KAAA0I,MAAAG,IAAA1P,EAAAE,EAAAa,QAAAwjF,UAAA,OAAA19E,KAAA0I,QAAAvP,EAAAioF,OAAAr6D,EAAA5tB,EAAAkoF,UAAA,MAAArxE,YAAA7W,EAAAE,EAAA,IAAAgS,OAAA+K,OAAApW,KAAA,CAAAy0E,OAAAt7E,EAAA6B,QAAA3B,EAAA0U,OAAA5C,IAAAovC,iBAAAphD,EAAA,IAAA,MAAAE,EAAA2G,KAAA5G,EAAAC,EAAAo7E,OAAA,GAAAr7E,EAAAu4B,mBAAAv4B,EAAAy5B,OAAAz5B,EAAAmB,KAAA,GAAA,MAAA,IAAAV,MAAAsiF,IAAA,MAAA5iF,QAAAghD,eAAAphD,EAAAE,EAAAD,EAAAG,EAAAL,GAAA,MAAAU,EAAA,IAAAs+C,WAAA,IAAA,SAAA/+C,EAAAE,EAAAD,GAAAD,EAAAkwD,UAAA,EAAAhwD,WAAA,GAAA,CAAA0jF,GAAAnjF,IAAA,aAAAN,EAAA,WAAAA,EAAA4S,KAAAkI,IAAA7a,QAAAH,IAAAmhD,eAAAjhD,EAAAD,GAAA,MAAAH,EAAAE,EAAAC,EAAA0S,QAAA+wE,GAAA3jF,EAAAD,EAAAG,GAAA,IAAA,IAAAF,EAAA4S,EAAA7R,OAAA,GAAAf,GAAA,EAAAA,IAAA,GAAA4S,EAAA5S,IAAAS,EAAA,IAAAmS,EAAA5S,EAAA,IAAAS,EAAA,IAAAmS,EAAA5S,EAAA,IAAAS,EAAA,IAAAmS,EAAA5S,EAAA,IAAAS,EAAA,GAAA,MAAA,CAAAo4C,OAAA94C,EAAAC,EAAAumD,OAAA3zC,EAAA5I,MAAAhK,EAAAA,EAAA,IAAAumD,SAAAnF,CAAAnhD,EAAA,EAAAA,EAAAmB,MAAA,IAAAhB,EAAA,MAAA,IAAAM,MAAAuiF,IAAA,MAAAljF,EAAA6jF,GAAAxjF,GAAA,IAAAK,EAAAqjF,GAAA/jF,EAAA,IAAA6S,EAAAkxE,GAAA/jF,EAAA,IAAAI,EAAAskF,GAAA1kF,EAAA,GAAAO,EAAA,EAAA,GAAAsS,GAAA4a,GAAA,OAAArtB,EAAA,CAAA,MAAAH,EAAA4jF,SAAAD,GAAA1jF,EAAAG,EAAAy4C,OAAA,GAAA,KAAA,GAAA,WAAAirC,GAAA9jF,EAAA,GAAA,MAAA,IAAAU,MAAAwiF,IAAAtwE,EAAAoyE,GAAAhlF,EAAA,GAAA,IAAAE,QAAAyjF,GAAA1jF,EAAA2S,EAAA,IAAA7S,EAAA6jF,GAAA1jF,GAAA,MAAA6R,EAAA3R,EAAAy4C,OAAA,GAAA,GAAA,GAAAirC,GAAA/jF,EAAA,IAAAktB,GAAAra,GAAAb,EAAA,CAAA,MAAA/R,EAAA4S,EAAAA,EAAAb,EAAAzR,EAAAsS,EAAA5S,EAAAE,QAAAyjF,GAAA1jF,EAAA2S,EAAA,IAAA7S,EAAA6jF,GAAA1jF,GAAA,GAAA4jF,GAAA/jF,EAAA,IAAAktB,EAAA,MAAA,IAAAvsB,MAAAyiF,IAAAhjF,EAAA6kF,GAAAjlF,EAAA,IAAAU,EAAAqjF,GAAA9jF,EAAA,GAAA4S,GAAAoyE,GAAAjlF,EAAA,IAAA,GAAA6S,EAAA,GAAAA,GAAA3S,EAAAmB,KAAA,MAAA,IAAAV,MAAAsiF,IAAA,IAAAjxE,EAAA,EAAAE,QAAA0xE,GAAA1jF,EAAA2S,EAAA3S,EAAAmB,KAAAwR,GAAApS,EAAAojF,GAAA3xE,GAAA,MAAA5R,EAAAD,EAAAy4C,OAAAp4C,EAAA,GAAAqjF,GAAAtjF,EAAAuR,IAAAkc,GAAArb,GAAAvS,EAAA,CAAA,MAAAL,EAAA4S,EAAAA,EAAAvS,EAAAC,EAAAsS,EAAA5S,EAAAiS,QAAA0xE,GAAA1jF,EAAA2S,EAAA3S,EAAAmB,KAAAwR,GAAApS,EAAAojF,GAAA3xE,GAAA,GAAAW,EAAA,GAAAA,GAAA3S,EAAAmB,KAAA,MAAA,IAAAV,MAAAsiF,IAAA,MAAAl1E,EAAA,GAAA,IAAA,IAAA1N,EAAA,EAAAA,EAAAD,EAAAC,IAAA,CAAA,MAAAL,EAAA,IAAAuuB,GAAAruB,EAAAC,EAAA0U,OAAA1U,EAAA2B,SAAA,GAAAiiF,GAAAtjF,EAAAuR,IAAAkc,EAAA,MAAA,IAAAvtB,MAAA0iF,IAAAr0D,GAAAhvB,EAAAS,EAAAuR,EAAA,GAAA,MAAAtR,EAAA6jB,QAAAvkB,EAAAwjF,QAAAmB,sBAAA9xE,EAAAb,EAAA,GAAA1R,EAAAuS,EAAA7S,EAAAgkF,eAAAzvE,EAAAjU,EAAAN,EAAAikF,iBAAAn2E,EAAA42E,GAAAjkF,EAAAuR,EAAA,GAAAnR,EAAA,IAAA,EAAAiN,GAAAqE,OAAA+K,OAAAld,EAAA,CAAAooF,cAAAt6E,EAAAu6E,gBAAAxnF,EAAA6iF,eAAA,EAAAqB,iBAAA,EAAAuD,cAAA5D,GAAAjkF,EAAAuR,EAAA,IAAAu2E,UAAA1nF,GAAA,KAAA,GAAA0kF,GAAA9kF,EAAAuR,EAAA,KAAA8mC,OAAAirC,GAAAtjF,EAAAuR,EAAA,IAAAzR,EAAAioF,sBAAAzE,GAAAtjF,EAAAuR,EAAA,IAAAy2E,sBAAA1E,GAAAtjF,EAAAuR,EAAA,IAAA02E,YAAAx2E,EAAAg2C,SAAAr1C,EAAAvS,GAAAqoF,aAAAjoF,EAAAkoF,YAAAloF,EAAAwjF,cAAAhyE,EAAAg2C,SAAA5nD,EAAAiU,KAAA,MAAAP,EAAAO,EAAAvU,EAAAsoF,cAAAtoF,EAAA6oF,WAAA32E,EAAAg2C,SAAA3zC,EAAAP,GAAAhU,EAAAopE,SAAA2c,GAAA/lF,EAAA0oF,YAAA1oF,EAAA2oF,aAAA/5D,GAAAG,GAAA5uB,EAAAF,EAAA,qBAAAD,EAAA8oF,QAAA/C,GAAA/lF,EAAA6oF,WAAA7oF,EAAA4oF,YAAAh6D,GAAAG,GAAA5uB,EAAAF,EAAA,qBAAAD,EAAAuoF,WAAAvoF,EAAAopE,SAAA2f,SAAA,OAAA/oF,EAAAuoF,WAAA,GAAA15D,GAAA7uB,EAAAA,EAAAS,EAAAuR,EAAA,GAAA,MAAA+B,EAAA,IAAAivE,GAAAhjF,GAAA,GAAA+T,EAAAywE,QAAA,CAAAvkF,EAAAE,IAAAH,EAAAwkF,QAAAvkF,EAAA8T,EAAA5T,GAAA4N,EAAApM,KAAAoS,GAAA/B,EAAAgC,EAAA/T,EAAA8iD,WAAA,IAAA9iD,EAAA8iD,WAAA1iD,EAAA,EAAAD,EAAA,IAAA4iF,GAAAhjF,IAAA,MAAAC,KAAA,OAAA8N,EAAAszC,iBAAAphD,EAAA+oF,UAAA7zE,EAAAlV,EAAAgpF,YAAA,WAAA,MAAA,4BAAA92E,OAAAC,eAAAnS,EAAA,aAAA,CAAA8C,OAAA,OvMAA,SAAA/C,EAAAC,EAAAC,EAAAC,GAAA,SAAAC,EAAAC,EAAAC,GAAA,IAAAJ,EAAAG,GAAA,CAAA,IAAAJ,EAAAI,GAAA,CAAA,IAAAE,EAAA,mBAAAC,SAAAA,QAAA,IAAAF,GAAAC,EAAA,OAAAA,EAAAF,GAAA,GAAA,GAAAI,EAAA,OAAAA,EAAAJ,GAAA,GAAA,IAAAK,EAAA,IAAAC,MAAA,uBAAAN,EAAA,KAAA,MAAAK,EAAAE,KAAA,mBAAAF,EAAA,IAAAG,EAAAX,EAAAG,GAAA,CAAAS,QAAA,IAAAb,EAAAI,GAAA,GAAAU,KAAAF,EAAAC,SAAA,SAAAd,GAAA,OAAAI,EAAAH,EAAAI,GAAA,GAAAL,IAAAA,KAAAa,EAAAA,EAAAC,QAAAd,EAAAC,EAAAC,EAAAC,GAAA,OAAAD,EAAAG,GAAAS,QAAA,IAAA,IAAAL,EAAA,mBAAAD,SAAAA,QAAAH,EAAA,EAAAA,EAAAF,EAAAa,OAAAX,IAAAD,EAAAD,EAAAE,IAAA,OAAAD,EAAA,CAAA,CAAA,EAAA,CAAA,SAAAI,EAAAS,EAAAH,GwMAA,aAEAA,EAAAguD,WAuCA,SAAAo6B,GACA,IAAAC,EAAAC,EAAAF,GACAG,EAAAF,EAAA,GACAG,EAAAH,EAAA,GACA,OAAA,GAAAE,EAAAC,GAAA,EAAAA,GA1CAxoF,EAAAyoF,YAiDA,SAAAL,GACA,IAAAM,EAcAnpF,EAbA8oF,EAAAC,EAAAF,GACAG,EAAAF,EAAA,GACAG,EAAAH,EAAA,GAEAM,EAAA,IAAAC,EAVA,SAAAR,EAAAG,EAAAC,GACA,OAAA,GAAAD,EAAAC,GAAA,EAAAA,EASAK,CAAAT,EAAAG,EAAAC,IAEAM,EAAA,EAGAn4E,EAAA63E,EAAA,EACAD,EAAA,EACAA,EAGA,IAAAhpF,EAAA,EAAAA,EAAAoR,EAAApR,GAAA,EACAmpF,EACAK,EAAAX,EAAAh9D,WAAA7rB,KAAA,GACAwpF,EAAAX,EAAAh9D,WAAA7rB,EAAA,KAAA,GACAwpF,EAAAX,EAAAh9D,WAAA7rB,EAAA,KAAA,EACAwpF,EAAAX,EAAAh9D,WAAA7rB,EAAA,IACAopF,EAAAG,KAAAJ,GAAA,GAAA,IACAC,EAAAG,KAAAJ,GAAA,EAAA,IACAC,EAAAG,KAAA,IAAAJ,EAGA,IAAAF,IACAE,EACAK,EAAAX,EAAAh9D,WAAA7rB,KAAA,EACAwpF,EAAAX,EAAAh9D,WAAA7rB,EAAA,KAAA,EACAopF,EAAAG,KAAA,IAAAJ,GAGA,IAAAF,IACAE,EACAK,EAAAX,EAAAh9D,WAAA7rB,KAAA,GACAwpF,EAAAX,EAAAh9D,WAAA7rB,EAAA,KAAA,EACAwpF,EAAAX,EAAAh9D,WAAA7rB,EAAA,KAAA,EACAopF,EAAAG,KAAAJ,GAAA,EAAA,IACAC,EAAAG,KAAA,IAAAJ,GAGA,OAAAC,GA3FA3oF,EAAAgpF,cAkHA,SAAAC,GAQA,IAPA,IAAAP,EACA/3E,EAAAs4E,EAAA/oF,OACAgpF,EAAAv4E,EAAA,EACAuhE,EAAA,GACAiX,EAAA,MAGA5pF,EAAA,EAAA6pF,EAAAz4E,EAAAu4E,EAAA3pF,EAAA6pF,EAAA7pF,GAAA4pF,EACAjX,EAAArxE,KAAAwoF,EAAAJ,EAAA1pF,EAAAA,EAAA4pF,EAAAC,EAAAA,EAAA7pF,EAAA4pF,IAIA,IAAAD,GACAR,EAAAO,EAAAt4E,EAAA,GACAuhE,EAAArxE,KACAyoF,EAAAZ,GAAA,GACAY,EAAAZ,GAAA,EAAA,IACA,OAEA,IAAAQ,IACAR,GAAAO,EAAAt4E,EAAA,IAAA,GAAAs4E,EAAAt4E,EAAA,GACAuhE,EAAArxE,KACAyoF,EAAAZ,GAAA,IACAY,EAAAZ,GAAA,EAAA,IACAY,EAAAZ,GAAA,EAAA,IACA,MAIA,OAAAxW,EAAAjuE,KAAA,KAzIA,IALA,IAAAqlF,EAAA,GACAP,EAAA,GACAH,EAAA,oBAAA1qC,WAAAA,WAAAj1C,MAEAnJ,EAAA,mEACAP,EAAA,EAAAoR,EAAA7Q,EAAAI,OAAAX,EAAAoR,IAAApR,EACA+pF,EAAA/pF,GAAAO,EAAAP,GACAwpF,EAAAjpF,EAAAsrB,WAAA7rB,IAAAA,EAQA,SAAA+oF,EAAAF,GACA,IAAAz3E,EAAAy3E,EAAAloF,OAEA,GAAAyQ,EAAA,EAAA,EACA,MAAA,IAAA9Q,MAAA,kDAKA,IAAA0oF,EAAAH,EAAA3lF,QAAA,KAOA,OANA,IAAA8lF,IAAAA,EAAA53E,GAMA,CAAA43E,EAJAA,IAAA53E,EACA,EACA,EAAA43E,EAAA,GAsEA,SAAAc,EAAAJ,EAAA31E,EAAAE,GAGA,IAFA,IAAAk1E,EARAxrE,EASAqkC,EAAA,GACAhiD,EAAA+T,EAAA/T,EAAAiU,EAAAjU,GAAA,EACAmpF,GACAO,EAAA1pF,IAAA,GAAA,WACA0pF,EAAA1pF,EAAA,IAAA,EAAA,QACA,IAAA0pF,EAAA1pF,EAAA,IACAgiD,EAAA1gD,KAdAyoF,GADApsE,EAeAwrE,IAdA,GAAA,IACAY,EAAApsE,GAAA,GAAA,IACAosE,EAAApsE,GAAA,EAAA,IACAosE,EAAA,GAAApsE,IAaA,OAAAqkC,EAAAt9C,KAAA,IAjGA8kF,EAAA,IAAA39D,WAAA,IAAA,GACA29D,EAAA,IAAA39D,WAAA,IAAA,IC4JE,IAAI,EAAE,CAAC,SAAS1rB,EAAQS,EAAOH,GxJ/KjC,IAAAkoD,EAAAxoD,EAAA,4BACAyoD,EAAAzoD,EAAA,8BAEA0oD,EAAAplC,UAGA7iB,EAAAH,QAAA,SAAAqoD,GACA,GAAAH,EAAAG,GAAA,OAAAA,EACA,MAAAD,EAAAD,EAAAE,GAAA,wBwJmLE,CAAC,2BAA2B,GAAG,6BAA6B,MAAM,EAAE,CAAC,SAAS3oD,EAAQS,EAAOH,GrJ3L/F,IAAAkoD,EAAAxoD,EAAA,4BAEA6oD,EAAAnoC,OACAgoC,EAAAplC,UAEA7iB,EAAAH,QAAA,SAAAqoD,GACA,GAAA,iBAAAA,GAAAH,EAAAG,GAAA,OAAAA,EACA,MAAAD,EAAA,aAAAG,EAAAF,GAAA,qBqJ+LE,CAAC,2BAA2B,KAAK,EAAE,CAAC,SAAS3oD,EAAQS,EAAOH,GpJtM9D,IAAAwoD,EAAA9oD,EAAA,kCACAiS,EAAAjS,EAAA,8BACA4R,EAAA5R,EAAA,uCAAAF,EAEAipD,EAAAD,EAAA,eACAE,EAAAz/C,MAAAC,UAIAy/C,MAAAD,EAAAD,IACAn3C,EAAAo3C,EAAAD,EAAA,CACAxlC,cAAA,EACAhhB,MAAA0P,EAAA,QAKAxR,EAAAH,QAAA,SAAAsuB,GACAo6B,EAAAD,GAAAn6B,IAAA,IoJ0ME,CAAC,6BAA6B,GAAG,sCAAsC,GAAG,iCAAiC,MAAM,EAAE,CAAC,SAAS5uB,EAAQS,EAAOH,GnJ5N9I,aACA,IAAA+S,EAAArT,EAAA,iCAAAqT,OAIA5S,EAAAH,QAAA,SAAAkjB,EAAAlI,EAAA8P,GACA,OAAA9P,GAAA8P,EAAA/X,EAAAmQ,EAAAlI,GAAA9a,OAAA,KmJgOE,CAAC,gCAAgC,KAAK,EAAE,CAAC,SAASR,EAAQS,EAAOH,GlJtOnE,IAAAgqB,EAAAtqB,EAAA,uCAEA0oD,EAAAplC,UAEA7iB,EAAAH,QAAA,SAAA6tB,EAAA+6B,GACA,GAAA5+B,EAAA4+B,EAAA/6B,GAAA,OAAAA,EACA,MAAAu6B,EAAA,0BkJ0OE,CAAC,sCAAsC,KAAK,EAAE,CAAC,SAAS1oD,EAAQS,EAAOH,GjJhPzE,IAAA6oD,EAAAnpD,EAAA,0BAEA6oD,EAAAnoC,OACAgoC,EAAAplC,UAGA7iB,EAAAH,QAAA,SAAAqoD,GACA,GAAAQ,EAAAR,GAAA,OAAAA,EACA,MAAAD,EAAAG,EAAAF,GAAA,uBiJoPE,CAAC,yBAAyB,KAAK,EAAE,CAAC,SAAS3oD,EAAQS,EAAOH,GC5P5D,aACA,IAAA4R,EAAAlS,EAAA,sCACAO,EAAAP,EAAA,8BACA8vD,EAAA9vD,EAAA,0BACA6pF,EAAA7pF,EAAA,iDACAkhE,EAAAlhE,EAAA,yCACA4oD,EAAA5oD,EAAA,+BACAgwD,EAAAhwD,EAAA,qCACAsxD,EAAAtxD,EAAA,gCACAihE,EAAAjhE,EAAA,6BACAs3D,EAAAt3D,EAAA,oCAEAuxD,EAAAhoD,MAIA9I,EAAAH,QAAA,SAAA+iE,GACA,IAAA1vD,EAAAm8C,EAAAuT,GACAymB,EAAAlhC,EAAAtiD,MACA2pD,EAAAvmD,UAAAlJ,OACA2gE,EAAAlR,EAAA,EAAAvmD,UAAA,QAAAu/C,EACArf,OAAAqf,IAAAkY,EACAv3B,IAAAu3B,EAAAjvD,EAAAivD,EAAAlR,EAAA,EAAAvmD,UAAA,QAAAu/C,IACA,IAEAzoD,EAAAsD,EAAAoiC,EAAAta,EAAAnI,EAAAlhB,EAFAi1D,EAAAF,EAAA3jD,GACA2H,EAAA,EAGA,IAAAk8C,GAAAlxD,OAAAirD,GAAA2P,EAAA1J,GAWA,IAFAh3D,EAAAwvD,EAAAr8C,GACA7P,EAAAgmF,EAAA,IAAAxjF,KAAA9F,GAAA+wD,EAAA/wD,GACAA,EAAA8a,EAAAA,IACA/Y,EAAAqnC,EAAAu3B,EAAAxtD,EAAA2H,GAAAA,GAAA3H,EAAA2H,GACAg2C,EAAAxtD,EAAAwX,EAAA/Y,QATA,IAFAkhB,GADAmI,EAAAq1C,EAAAttD,EAAA6jD,IACA/zC,KACA3f,EAAAgmF,EAAA,IAAAxjF,KAAA,KACA4/B,EAAA3lC,EAAAkjB,EAAAmI,IAAAze,KAAAmO,IACA/Y,EAAAqnC,EAAAigD,EAAAj+D,EAAAu1C,EAAA,CAAAj7B,EAAA3jC,MAAA+Y,IAAA,GAAA4qB,EAAA3jC,MACA+uD,EAAAxtD,EAAAwX,EAAA/Y,GAWA,OADAuB,EAAAtD,OAAA8a,EACAxX,IDgQE,CAAC,gDAAgD,GAAG,+BAA+B,GAAG,qCAAqC,GAAG,6BAA6B,GAAG,4BAA4B,GAAG,mCAAmC,GAAG,wCAAwC,GAAG,8BAA8B,GAAG,oCAAoC,GAAG,yBAAyB,MAAM,EAAE,CAAC,SAAS9D,EAAQS,EAAOH,G5I5SlZ,IAAA6vD,EAAAnwD,EAAA,kCACA+vD,EAAA/vD,EAAA,kCACAgwD,EAAAhwD,EAAA,qCAGAowD,EAAA,SAAAC,GACA,OAAA,SAAAC,EAAAxnD,EAAAynD,GACA,IAGAhuD,EAHAoR,EAAAw8C,EAAAG,GACA9vD,EAAAwvD,EAAAr8C,GACA2H,EAAAy0C,EAAAQ,EAAA/vD,GAIA,GAAA6vD,GAAAvnD,GAAAA,GAAA,KAAAtI,EAAA8a,GAGA,IAFA/Y,EAAAoR,EAAA2H,OAEA/Y,EAAA,OAAA,OAEA,KAAA/B,EAAA8a,EAAAA,IACA,IAAA+0C,GAAA/0C,KAAA3H,IAAAA,EAAA2H,KAAAxS,EAAA,OAAAunD,GAAA/0C,GAAA,EACA,OAAA+0C,IAAA,IAIA5vD,EAAAH,QAAA,CAGAojB,SAAA0sC,GAAA,GAGArtD,QAAAqtD,GAAA,K4IgTE,CAAC,oCAAoC,GAAG,iCAAiC,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAASpwD,EAAQS,EAAOH,G1I9UjJ,IAAAyvD,EAAA/vD,EAAA,kCACAgwD,EAAAhwD,EAAA,qCACAsxD,EAAAtxD,EAAA,gCAEAuxD,EAAAhoD,MACAsR,EAAArI,KAAAqI,IAEApa,EAAAH,QAAA,SAAAqT,EAAAC,EAAAE,GAKA,IAJA,IAAAtT,EAAAwvD,EAAAr8C,GACAgB,EAAAo7C,EAAAn8C,EAAApT,GACAgxD,EAAAzB,OAAA9G,IAAAn1C,EAAAtT,EAAAsT,EAAAtT,GACAsD,EAAAytD,EAAA12C,EAAA22C,EAAA78C,EAAA,IACAjV,EAAA,EAAAiV,EAAA68C,EAAA78C,IAAAjV,IAAA4xD,EAAAxtD,EAAApE,EAAAiU,EAAAgB,IAEA,OADA7Q,EAAAtD,OAAAd,EACAoE,I0IkVE,CAAC,+BAA+B,GAAG,oCAAoC,GAAG,iCAAiC,KAAK,GAAG,CAAC,SAAS9D,EAAQS,EAAOH,GzIhW9I,IAAAosD,EAAA1sD,EAAA,mCAEAgkB,EAAAxR,KAAAwR,MAEAytC,EAAA,SAAAziD,EAAA0iD,GACA,IAAAlxD,EAAAwO,EAAAxO,OACAmxD,EAAA3tC,EAAAxjB,EAAA,GACA,OAAAA,EAAA,EAAAoxD,EAAA5iD,EAAA0iD,GAAAG,EACA7iD,EACAyiD,EAAA/E,EAAA19C,EAAA,EAAA2iD,GAAAD,GACAD,EAAA/E,EAAA19C,EAAA2iD,GAAAD,GACAA,IAIAE,EAAA,SAAA5iD,EAAA0iD,GAKA,IAJA,IAEAhtD,EAAAygB,EAFA3kB,EAAAwO,EAAAxO,OACAX,EAAA,EAGAA,EAAAW,GAAA,CAGA,IAFA2kB,EAAAtlB,EACA6E,EAAAsK,EAAAnP,GACAslB,GAAAusC,EAAA1iD,EAAAmW,EAAA,GAAAzgB,GAAA,GACAsK,EAAAmW,GAAAnW,IAAAmW,GAEAA,IAAAtlB,MAAAmP,EAAAmW,GAAAzgB,GACA,OAAAsK,GAGA6iD,EAAA,SAAA7iD,EAAA3E,EAAAF,EAAAunD,GAMA,IALA,IAAAI,EAAAznD,EAAA7J,OACAuxD,EAAA5nD,EAAA3J,OACAwxD,EAAA,EACAC,EAAA,EAEAD,EAAAF,GAAAG,EAAAF,GACA/iD,EAAAgjD,EAAAC,GAAAD,EAAAF,GAAAG,EAAAF,EACAL,EAAArnD,EAAA2nD,GAAA7nD,EAAA8nD,KAAA,EAAA5nD,EAAA2nD,KAAA7nD,EAAA8nD,KACAD,EAAAF,EAAAznD,EAAA2nD,KAAA7nD,EAAA8nD,KACA,OAAAjjD,GAGAvO,EAAAH,QAAAmxD,GyImWE,CAAC,kCAAkC,KAAK,GAAG,CAAC,SAASzxD,EAAQS,EAAOH,GE9YtE,IAAA+2D,EAAAr3D,EAAA,0BACA+pF,EAAA/pF,EAAA,+BAGAS,EAAAH,QAAA,SAAAsrB,EAAA1qB,EAAAqB,EAAA6xD,GACA,IACA,OAAAA,EAAAlzD,EAAAm2D,EAAA90D,GAAA,GAAAA,EAAA,IAAArB,EAAAqB,GACA,MAAAyG,GACA+gF,EAAAn+D,EAAA,QAAA5iB,MFmZE,CAAC,yBAAyB,EAAE,8BAA8B,KAAK,GAAG,CAAC,SAAShJ,EAAQS,EAAOH,GrI3Z7F,IAAA0rD,EAAAhsD,EAAA,sCAEAmkB,EAAA6nC,EAAA,GAAA7nC,UACAwuC,EAAA3G,EAAA,GAAAviD,OAEAhJ,EAAAH,QAAA,SAAA6tB,GACA,OAAAwkC,EAAAxuC,EAAAgK,GAAA,GAAA,KqI+ZE,CAAC,qCAAqC,KAAK,GAAG,CAAC,SAASnuB,EAAQS,EAAOH,GpIrazE,IAAAsyD,EAAA5yD,EAAA,sCACAwoD,EAAAxoD,EAAA,4BACA6yD,EAAA7yD,EAAA,4BAGAuqD,EAFAvqD,EAAA,iCAEA8oD,CAAA,eACAgK,EAAAnhD,OAGAohD,EAAA,aAAAF,EAAA,WAAA,OAAAnpD,UAAA,IAUAjJ,EAAAH,QAAAsyD,EAAAC,EAAA,SAAA1kC,GACA,IAAAxa,EAAAsa,EAAAnqB,EACA,YAAAmlD,IAAA96B,EAAA,YAAA,OAAAA,EAAA,OAEA,iBAAAF,EAXA,SAAAE,EAAAS,GACA,IACA,OAAAT,EAAAS,GACA,MAAA5lB,KAQAghF,CAAAr2E,EAAAm/C,EAAA3kC,GAAAo8B,IAAAt8B,EAEA8kC,EAAAF,EAAAl/C,GAEA,WAAA7P,EAAA+uD,EAAAl/C,KAAA60C,EAAA70C,EAAAyQ,QAAA,YAAAtgB,IoIyaE,CAAC,2BAA2B,GAAG,2BAA2B,GAAG,qCAAqC,IAAI,iCAAiC,MAAM,GAAG,CAAC,SAAS9D,EAAQS,EAAOH,GnIpc3K,IAAAgoB,EAAAtoB,EAAA,iCACAgzD,EAAAhzD,EAAA,yBACAizD,EAAAjzD,EAAA,mDACAkzD,EAAAlzD,EAAA,uCAEAS,EAAAH,QAAA,SAAA8T,EAAAkV,EAAA6pC,GAIA,IAHA,IAAAv5C,EAAAo5C,EAAA1pC,GACA1X,EAAAshD,EAAApzD,EACAooB,EAAA+qC,EAAAnzD,EACAD,EAAA,EAAAA,EAAA+Z,EAAApZ,OAAAX,IAAA,CACA,IAAA+uB,EAAAhV,EAAA/Z,GACAyoB,EAAAlU,EAAAwa,IAAAukC,GAAA7qC,EAAA6qC,EAAAvkC,IACAhd,EAAAwC,EAAAwa,EAAA1G,EAAAoB,EAAAsF,OmI0cE,CAAC,gCAAgC,GAAG,sCAAsC,GAAG,kDAAkD,GAAG,wBAAwB,KAAK,GAAG,CAAC,SAAS5uB,EAAQS,EAAOH,GlItd7L,IAAA6rD,EAAAnsD,EAAA,sBAEAS,EAAAH,SAAA6rD,GAAA,WACA,SAAAhiC,KAGA,OAFAA,EAAA3gB,UAAA8M,YAAA,KAEA3E,OAAA0S,eAAA,IAAA8F,KAAAA,EAAA3gB,ckI0dE,CAAC,qBAAqB,KAAK,GAAG,CAAC,SAASxJ,EAAQS,EAAOH,GjIhezD,aACA,IAAAgkB,EAAAtkB,EAAA,+BAAAskB,kBACArS,EAAAjS,EAAA,8BACAozD,EAAApzD,EAAA,2CACA2sD,EAAA3sD,EAAA,kCACAqzD,EAAArzD,EAAA,0BAEAszD,EAAA,WAAA,OAAAhtD,MAEA7F,EAAAH,QAAA,SAAAizD,EAAAjK,EAAA7lC,EAAA+vC,GACA,IAAAjJ,EAAAjB,EAAA,YAIA,OAHAiK,EAAA/pD,UAAAyI,EAAAqS,EAAA,CAAAb,KAAA2vC,IAAAI,EAAA/vC,KACAkpC,EAAA4G,EAAAhJ,GAAA,GAAA,GACA8I,EAAA9I,GAAA+I,EACAC,IiIoeE,CAAC,0CAA0C,GAAG,yBAAyB,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,iCAAiC,KAAK,GAAG,CAAC,SAASvzD,EAAQS,EAAOH,GhIlf/M,IAAAmpD,EAAAzpD,EAAA,4BACAkzD,EAAAlzD,EAAA,uCACAozD,EAAApzD,EAAA,2CAEAS,EAAAH,QAAAmpD,EAAA,SAAA9kD,EAAAiqB,EAAArsB,GACA,OAAA2wD,EAAApzD,EAAA6E,EAAAiqB,EAAAwkC,EAAA,EAAA7wD,KACA,SAAAoC,EAAAiqB,EAAArsB,GAEA,OADAoC,EAAAiqB,GAAArsB,EACAoC,IgIsfE,CAAC,0CAA0C,GAAG,2BAA2B,GAAG,sCAAsC,KAAK,GAAG,CAAC,SAAS3E,EAAQS,EAAOH,G/H9frJG,EAAAH,QAAA,SAAAmzD,EAAAlxD,GACA,MAAA,CACAsP,aAAA,EAAA4hD,GACAlwC,eAAA,EAAAkwC,GACAlvC,WAAA,EAAAkvC,GACAlxD,MAAAA,K+HmgBE,IAAI,GAAG,CAAC,SAASvC,EAAQS,EAAOH,G9HxgBlC,aACA,IAAAozD,EAAA1zD,EAAA,gCACAkzD,EAAAlzD,EAAA,uCACAozD,EAAApzD,EAAA,2CAEAS,EAAAH,QAAA,SAAAqE,EAAAiqB,EAAArsB,GACA,IAAAoxD,EAAAD,EAAA9kC,GACA+kC,KAAAhvD,EAAAuuD,EAAApzD,EAAA6E,EAAAgvD,EAAAP,EAAA,EAAA7wD,IACAoC,EAAAgvD,GAAApxD,I8H4gBE,CAAC,0CAA0C,GAAG,sCAAsC,GAAG,+BAA+B,MAAM,GAAG,CAAC,SAASvC,EAAQS,EAAOH,GGphB1J,IAAAszD,EAAA5zD,EAAA,8BACA4R,EAAA5R,EAAA,uCAEAS,EAAAH,QAAA,SAAA8T,EAAA/R,EAAAszD,GAGA,OAFAA,EAAA/rD,KAAAgqD,EAAA+B,EAAA/rD,IAAAvH,EAAA,CAAA8mB,QAAA,IACAwsC,EAAAxmD,KAAAykD,EAAA+B,EAAAxmD,IAAA9M,EAAA,CAAA+mB,QAAA,IACAxX,EAAA9R,EAAAsU,EAAA/R,EAAAszD,KHwhBE,CAAC,6BAA6B,GAAG,sCAAsC,KAAK,GAAG,CAAC,SAAS31D,EAAQS,EAAOH,G7H9hB1G,IAAAkoD,EAAAxoD,EAAA,4BACAkzD,EAAAlzD,EAAA,uCACA4zD,EAAA5zD,EAAA,8BACA6zD,EAAA7zD,EAAA,uCAEAS,EAAAH,QAAA,SAAAqT,EAAAib,EAAArsB,EAAAjB,GACAA,IAAAA,EAAA,IACA,IAAAwyD,EAAAxyD,EAAAuQ,WACAxP,OAAA4mD,IAAA3nD,EAAAe,KAAAf,EAAAe,KAAAusB,EAEA,GADA45B,EAAAjmD,IAAAqxD,EAAArxD,EAAAF,EAAAf,GACAA,EAAAkjB,OACAsvC,EAAAngD,EAAAib,GAAArsB,EACAsxD,EAAAjlC,EAAArsB,OACA,CACA,IACAjB,EAAAmjB,OACA9Q,EAAAib,KAAAklC,GAAA,UADAngD,EAAAib,GAEA,MAAA5lB,IACA8qD,EAAAngD,EAAAib,GAAArsB,EACA2wD,EAAApzD,EAAA6T,EAAAib,EAAA,CACArsB,MAAAA,EACAsP,YAAA,EACA0R,cAAAjiB,EAAAojB,gBACAH,UAAAjjB,EAAAqjB,cAEA,OAAAhR,I6HkiBE,CAAC,sCAAsC,GAAG,2BAA2B,GAAG,6BAA6B,GAAG,sCAAsC,KAAK,GAAG,CAAC,SAAS3T,EAAQS,EAAOH,G5H3jBjL,IAAAspD,EAAA5pD,EAAA,gCAEAS,EAAAH,QAAA,SAAA8T,EAAA6V,EAAA3oB,GACA,IAAA,IAAAstB,KAAA3E,EAAA2/B,EAAAx1C,EAAAwa,EAAA3E,EAAA2E,GAAAttB,GACA,OAAA8S,I4H+jBE,CAAC,+BAA+B,KAAK,GAAG,CAAC,SAASpU,EAAQS,EAAOH,G3HnkBnE,IAAAkkB,EAAAxkB,EAAA,uBAGA4R,EAAAD,OAAAC,eAEAnR,EAAAH,QAAA,SAAAsuB,EAAArsB,GACA,IACAqP,EAAA4S,EAAAoK,EAAA,CAAArsB,MAAAA,EAAAghB,cAAA,EAAAgB,UAAA,IACA,MAAAvb,GACAwb,EAAAoK,GAAArsB,EACA,OAAAA,I2HukBE,CAAC,sBAAsB,KAAK,GAAG,CAAC,SAASvC,EAAQS,EAAOH,G1HjlB1D,aACA,IAAA0sB,EAAAhtB,EAAA,uBACAO,EAAAP,EAAA,8BACA+zD,EAAA/zD,EAAA,wBACAisD,EAAAjsD,EAAA,8BACAwoD,EAAAxoD,EAAA,4BACAg0D,EAAAh0D,EAAA,4CACAqkB,EAAArkB,EAAA,wCACAyqB,EAAAzqB,EAAA,wCACA2sD,EAAA3sD,EAAA,kCACA2pD,EAAA3pD,EAAA,+CACA4pD,EAAA5pD,EAAA,gCACA8oD,EAAA9oD,EAAA,kCACAqzD,EAAArzD,EAAA,0BACAi0D,EAAAj0D,EAAA,+BAEA4sD,EAAAX,EAAArnC,OACAioC,EAAAZ,EAAApnC,aACAP,EAAA2vC,EAAA3vC,kBACAQ,EAAAmvC,EAAAnvC,uBACAutC,EAAAvJ,EAAA,YACAoL,EAAA,OACAC,EAAA,SACAC,EAAA,UAEAd,EAAA,WAAA,OAAAhtD,MAEA7F,EAAAH,QAAA,SAAA+zD,EAAA/K,EAAAiK,EAAA9vC,EAAA6wC,EAAAC,EAAAC,GACAR,EAAAT,EAAAjK,EAAA7lC,GAEA,IAkBAgxC,EAAAC,EAAA/I,EAlBAgJ,EAAA,SAAAC,GACA,GAAAA,IAAAN,GAAAO,EAAA,OAAAA,EACA,IAAA/vC,GAAA8vC,KAAAE,EAAA,OAAAA,EAAAF,GACA,OAAAA,GACA,KAAAV,EACA,KAAAC,EACA,KAAAC,EAAA,OAAA,WAAA,OAAA,IAAAb,EAAAjtD,KAAAsuD,IACA,OAAA,WAAA,OAAA,IAAArB,EAAAjtD,QAGAikD,EAAAjB,EAAA,YACAyL,GAAA,EACAD,EAAAT,EAAA7qD,UACAwrD,EAAAF,EAAAzC,IACAyC,EAAA,eACAR,GAAAQ,EAAAR,GACAO,GAAA/vC,GAAAkwC,GAAAL,EAAAL,GACAW,EAAA,SAAA3L,GAAAwL,EAAAzvC,SAAA2vC,EA+BA,GA3BAC,IACAR,EAAApwC,EAAA4wC,EAAA10D,KAAA,IAAA8zD,OACA1iD,OAAAnI,WAAAirD,EAAAhxC,OACAswC,GAAA1vC,EAAAowC,KAAAnwC,IACAmG,EACAA,EAAAgqC,EAAAnwC,GACAkkC,EAAAiM,EAAApC,KACAzI,EAAA6K,EAAApC,EAAAiB,IAIA3G,EAAA8H,EAAAlK,GAAA,GAAA,GACAwJ,IAAAV,EAAA9I,GAAA+I,IAKA1G,GAAA0H,GAAAH,GAAAa,GAAAA,EAAA3yD,OAAA8xD,KACAJ,GAAAlH,EACAlD,EAAAmL,EAAA,OAAAX,IAEAY,GAAA,EACAF,EAAA,WAAA,OAAAt0D,EAAAy0D,EAAA1uD,SAKAguD,EAMA,GALAI,EAAA,CACA76C,OAAA86C,EAAAR,GACAv6C,KAAA26C,EAAAM,EAAAF,EAAAT,GACA7uC,QAAAsvC,EAAAP,IAEAI,EAAA,IAAA7I,KAAA+I,GACA5vC,GAAAiwC,KAAApJ,KAAAmJ,KACAlL,EAAAkL,EAAAnJ,EAAA+I,EAAA/I,SAEA3+B,EAAA,CAAA5Y,OAAAk1C,EAAAhkC,OAAA,EAAAC,OAAAT,GAAAiwC,GAAAL,GASA,OALAX,IAAAS,GAAAM,EAAAzC,KAAAwC,GACAjL,EAAAkL,EAAAzC,EAAAwC,EAAA,CAAAxyD,KAAAiyD,IAEAjB,EAAA/J,GAAAuL,EAEAH,I0HqlBE,CAAC,2CAA2C,GAAG,8CAA8C,GAAG,+BAA+B,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,6BAA6B,GAAG,2BAA2B,GAAG,uBAAuB,GAAG,yBAAyB,GAAG,8BAA8B,GAAG,uCAAuC,GAAG,uCAAuC,GAAG,iCAAiC,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAAS10D,EAAQS,EAAOH,GzHtrB7gB,IAAA6rD,EAAAnsD,EAAA,sBAGAS,EAAAH,SAAA6rD,GAAA,WAEA,OAAA,GAAAx6C,OAAAC,eAAA,GAAA,EAAA,CAAAhI,IAAA,WAAA,OAAA,KAAA,OyH0rBE,CAAC,qBAAqB,KAAK,GAAG,CAAC,SAAS5J,EAAQS,EAAOH,GxH/rBzD,IAAAkkB,EAAAxkB,EAAA,uBACAmpD,EAAAnpD,EAAA,0BAEAkD,EAAAshB,EAAAthB,SAEAilB,EAAAghC,EAAAjmD,IAAAimD,EAAAjmD,EAAAC,eAEA1C,EAAAH,QAAA,SAAA6tB,GACA,OAAAhG,EAAAjlB,EAAAC,cAAAgrB,GAAA,KwHmsBE,CAAC,sBAAsB,GAAG,yBAAyB,KAAK,GAAG,CAAC,SAASnuB,EAAQS,EAAOH,GvHzsBtFG,EAAAH,QAAA,CACAklB,YAAA,EACAC,oBAAA,EACAC,aAAA,EACAC,eAAA,EACAC,YAAA,EACAC,cAAA,EACAC,aAAA,EACAC,qBAAA,EACAC,SAAA,EACAC,kBAAA,EACAC,eAAA,EACAC,gBAAA,EACAC,kBAAA,EACAC,UAAA,EACAC,cAAA,EACAC,aAAA,EACAC,SAAA,EACAC,iBAAA,EACAC,OAAA,EACAC,YAAA,EACAC,cAAA,EACAC,cAAA,EACAC,eAAA,EACAC,aAAA,EACAC,cAAA,EACAC,iBAAA,EACAC,iBAAA,EACAC,eAAA,EACAC,iBAAA,EACAC,cAAA,EACAC,UAAA,IuH+sBE,IAAI,GAAG,CAAC,SAAStnB,EAAQS,EAAOH,GtH/uBlC,IAEAmf,EAFAzf,EAAA,uCAEAk7D,CAAA,QAAAz7C,UACAy1C,EAAAz1C,GAAAA,EAAAnJ,aAAAmJ,EAAAnJ,YAAA9M,UAEA/I,EAAAH,QAAA40D,IAAAvjD,OAAAnI,eAAAy/C,EAAAiM,GsHmvBE,CAAC,uCAAuC,KAAK,GAAG,CAAC,SAASl1D,EAAQS,EAAOH,GnHzvB3E,IAAA+0D,EAAAr1D,EAAA,6BAEAS,EAAAH,QAAA+0D,EAAA,YAAA,cAAA,ImH4vBE,CAAC,4BAA4B,KAAK,GAAG,CAAC,SAASr1D,EAAQS,EAAOH,GlH9vBhE,IAOAyS,EAAArQ,EAPA8hB,EAAAxkB,EAAA,uBACA6C,EAAA7C,EAAA,kCAEAoB,EAAAojB,EAAApjB,QACAmmB,EAAA/C,EAAA+C,KACAC,EAAApmB,GAAAA,EAAAomB,UAAAD,GAAAA,EAAA7kB,QACA+kB,EAAAD,GAAAA,EAAAC,GAGAA,IAIA/kB,GAHAqQ,EAAA0U,EAAA5U,MAAA,MAGA,GAAA,GAAAE,EAAA,GAAA,EAAA,IAAAA,EAAA,GAAAA,EAAA,MAKArQ,GAAAG,MACAkQ,EAAAlQ,EAAAkQ,MAAA,iBACAA,EAAA,IAAA,MACAA,EAAAlQ,EAAAkQ,MAAA,oBACArQ,GAAAqQ,EAAA,IAIAtS,EAAAH,QAAAoC,GkHiwBE,CAAC,iCAAiC,GAAG,sBAAsB,KAAK,GAAG,CAAC,SAAS1C,EAAQS,EAAOH,GhH1xB9FG,EAAAH,QAAA,CACA,cACA,iBACA,gBACA,uBACA,iBACA,WACA,YgH+xBE,IAAI,GAAG,CAAC,SAASN,EAAQS,EAAOH,G/GvyBlC,IAAAkkB,EAAAxkB,EAAA,uBACAkoB,EAAAloB,EAAA,mDAAAF,EACA6pD,EAAA3pD,EAAA,+CACA4pD,EAAA5pD,EAAA,gCACA6zD,EAAA7zD,EAAA,uCACAu1D,EAAAv1D,EAAA,4CACAw1D,EAAAx1D,EAAA,0BAiBAS,EAAAH,QAAA,SAAAgB,EAAAgoB,GACA,IAGAlV,EAAAwa,EAAA6mC,EAAAC,EAAAC,EAHAC,EAAAt0D,EAAA8S,OACAyhD,EAAAv0D,EAAAkjB,OACAsxC,EAAAx0D,EAAAomB,KASA,GANAtT,EADAyhD,EACArxC,EACAsxC,EACAtxC,EAAAoxC,IAAA/B,EAAA+B,EAAA,KAEApxC,EAAAoxC,IAAA,IAAApsD,UAEA,IAAAolB,KAAAtF,EAAA,CAQA,GAPAosC,EAAApsC,EAAAsF,GAGA6mC,EAFAn0D,EAAAqmB,gBACAguC,EAAAztC,EAAA9T,EAAAwa,KACA+mC,EAAApzD,MACA6R,EAAAwa,IACA4mC,EAAAK,EAAAjnC,EAAAgnC,GAAAE,EAAA,IAAA,KAAAlnC,EAAAttB,EAAAikB,cAEA0jC,IAAAwM,EAAA,CACA,UAAAC,UAAAD,EAAA,SACAF,EAAAG,EAAAD,IAGAn0D,EAAAsmB,MAAA6tC,GAAAA,EAAA7tC,OACA+hC,EAAA+L,EAAA,QAAA,GAEA9L,EAAAx1C,EAAAwa,EAAA8mC,EAAAp0D,M+G4yBE,CAAC,2CAA2C,GAAG,8CAA8C,GAAG,+BAA+B,GAAG,sCAAsC,GAAG,sBAAsB,GAAG,yBAAyB,GAAG,kDAAkD,KAAK,GAAG,CAAC,SAAStB,EAAQS,EAAOH,G9G/1BrTG,EAAAH,QAAA,SAAAynB,GACA,IACA,QAAAA,IACA,MAAA/e,GACA,OAAA,K8Go2BE,IAAI,GAAG,CAAC,SAAShJ,EAAQS,EAAOH,G7Gx2BlC,aAEAN,EAAA,6BACA,IAAAgsD,EAAAhsD,EAAA,sCACA4pD,EAAA5pD,EAAA,gCACA+1D,EAAA/1D,EAAA,4BACAmsD,EAAAnsD,EAAA,sBACA8oD,EAAA9oD,EAAA,kCACA2pD,EAAA3pD,EAAA,+CAEAkyD,EAAApJ,EAAA,WACAkN,EAAAnuC,OAAAre,UAEA/I,EAAAH,QAAA,SAAAqrD,EAAA5jC,EAAAysC,EAAAyB,GACA,IAAAC,EAAApN,EAAA6C,GAEAwK,GAAAhK,GAAA,WAEA,IAAAx4C,EAAA,GAEA,OADAA,EAAAuiD,GAAA,WAAA,OAAA,GACA,GAAA,GAAAvK,GAAAh4C,MAGAyiD,EAAAD,IAAAhK,GAAA,WAEA,IAAAkK,GAAA,EACAC,EAAA,IAkBA,MAhBA,UAAA3K,KAIA2K,EAAA,IAGAhgD,YAAA,GACAggD,EAAAhgD,YAAA47C,GAAA,WAAA,OAAAoE,GACAA,EAAAxuC,MAAA,GACAwuC,EAAAJ,GAAA,IAAAA,IAGAI,EAAAvuC,KAAA,WAAA,OAAAsuC,GAAA,EAAA,MAEAC,EAAAJ,GAAA,KACAG,KAGA,IACAF,IACAC,GACA5B,EACA,CACA,IAAA+B,EAAAvK,EAAA,IAAAkK,IACAxB,EAAA3sC,EAAAmuC,EAAA,GAAAvK,IAAA,SAAA6K,EAAAzpC,EAAA0pC,EAAAC,EAAAC,GACA,IAAAC,EAAA5K,EAAAwK,GACAK,EAAA9pC,EAAAhF,KACA,OAAA8uC,IAAAd,GAAAc,IAAAb,EAAAjuC,KACAouC,IAAAQ,EAIA,CAAAxpD,MAAA,EAAA5K,MAAAg0D,EAAAxpC,EAAA0pC,EAAAC,IAEA,CAAAvpD,MAAA,EAAA5K,MAAAq0D,EAAAH,EAAA1pC,EAAA2pC,IAEA,CAAAvpD,MAAA,MAGAy8C,EAAAlpC,OAAAlX,UAAAmiD,EAAA+I,EAAA,IACA9K,EAAAoM,EAAAE,EAAAxB,EAAA,IAGAuB,GAAAtM,EAAAqM,EAAAE,GAAA,QAAA,K6G42BE,CAAC,8CAA8C,GAAG,+BAA+B,GAAG,qBAAqB,GAAG,qCAAqC,GAAG,2BAA2B,GAAG,iCAAiC,IAAI,4BAA4B,MAAM,GAAG,CAAC,SAASl2D,EAAQS,EAAOH,G5Gp7BvR,IAAAw2D,EAAA92D,EAAA,qCAEA+2D,EAAA/uC,SAAAxe,UACAM,EAAAitD,EAAAjtD,MACAvJ,EAAAw2D,EAAAx2D,KAGAE,EAAAH,QAAA,iBAAA2nB,SAAAA,QAAAne,QAAAgtD,EAAAv2D,EAAA2R,KAAApI,GAAA,WACA,OAAAvJ,EAAAuJ,MAAAA,EAAAJ,c4Gw7BE,CAAC,oCAAoC,KAAK,GAAG,CAAC,SAAS1J,EAAQS,EAAOH,G3Gh8BxE,IAAA0rD,EAAAhsD,EAAA,sCACAg3D,EAAAh3D,EAAA,2BACA82D,EAAA92D,EAAA,qCAEAkS,EAAA85C,EAAAA,EAAA95C,MAGAzR,EAAAH,QAAA,SAAAY,EAAAiwD,GAEA,OADA6F,EAAA91D,QACA+nD,IAAAkI,EAAAjwD,EAAA41D,EAAA5kD,EAAAhR,EAAAiwD,GAAA,WACA,OAAAjwD,EAAA4I,MAAAqnD,EAAAznD,c2Gq8BE,CAAC,0BAA0B,EAAE,oCAAoC,GAAG,qCAAqC,KAAK,GAAG,CAAC,SAAS1J,EAAQS,EAAOH,G1G/8B5I,IAAA6rD,EAAAnsD,EAAA,sBAEAS,EAAAH,SAAA6rD,GAAA,WAEA,IAAA9xC,EAAA,aAAAnI,OAEA,MAAA,mBAAAmI,GAAAA,EAAAjI,eAAA,iB0Gm9BE,CAAC,qBAAqB,KAAK,GAAG,CAAC,SAASpS,EAAQS,EAAOH,GzGz9BzD,IAAAw2D,EAAA92D,EAAA,qCAEAO,EAAAynB,SAAAxe,UAAAjJ,KAEAE,EAAAH,QAAAw2D,EAAAv2D,EAAA2R,KAAA3R,GAAA,WACA,OAAAA,EAAAuJ,MAAAvJ,EAAAmJ,ayG69BE,CAAC,oCAAoC,KAAK,GAAG,CAAC,SAAS1J,EAAQS,EAAOH,GxGl+BxE,IAAAmpD,EAAAzpD,EAAA,4BACAsoB,EAAAtoB,EAAA,iCAEA+2D,EAAA/uC,SAAAxe,UAEAytD,EAAAxN,GAAA93C,OAAAuW,yBAEAC,EAAAG,EAAAyuC,EAAA,QAEAnyC,EAAAuD,GAAA,cAAA,aAAA9lB,KACAwiB,EAAAsD,KAAAshC,GAAAA,GAAAwN,EAAAF,EAAA,QAAAxzC,cAEA9iB,EAAAH,QAAA,CACA6nB,OAAAA,EACAvD,OAAAA,EACAC,aAAAA,IwGs+BE,CAAC,2BAA2B,GAAG,gCAAgC,KAAK,GAAG,CAAC,SAAS7kB,EAAQS,EAAOH,GvGr/BlG,IAAAw2D,EAAA92D,EAAA,qCAEA+2D,EAAA/uC,SAAAxe,UACA0I,EAAA6kD,EAAA7kD,KACA3R,EAAAw2D,EAAAx2D,KACAyrD,EAAA8K,GAAA5kD,EAAAA,KAAA3R,EAAAA,GAEAE,EAAAH,QAAAw2D,EAAA,SAAA51D,GACA,OAAAA,GAAA8qD,EAAA9qD,IACA,SAAAA,GACA,OAAAA,GAAA,WACA,OAAAX,EAAAuJ,MAAA5I,EAAAwI,cuG0/BE,CAAC,oCAAoC,KAAK,GAAG,CAAC,SAAS1J,EAAQS,EAAOH,GtGrgCxE,IAAAkkB,EAAAxkB,EAAA,uBACAwoD,EAAAxoD,EAAA,4BAEAk3D,EAAA,SAAAvO,GACA,OAAAH,EAAAG,GAAAA,OAAAM,GAGAxoD,EAAAH,QAAA,SAAA62D,EAAA3uD,GACA,OAAAkB,UAAAlJ,OAAA,EAAA02D,EAAA1yC,EAAA2yC,IAAA3yC,EAAA2yC,IAAA3yC,EAAA2yC,GAAA3uD,KsGygCE,CAAC,sBAAsB,GAAG,2BAA2B,KAAK,GAAG,CAAC,SAASxI,EAAQS,EAAOH,GrGjhCxF,IAAAopD,EAAA1pD,EAAA,wBACAo3D,EAAAp3D,EAAA,2BACAqzD,EAAArzD,EAAA,0BAGAqyD,EAFAryD,EAAA,iCAEA8oD,CAAA,YAEAroD,EAAAH,QAAA,SAAA6tB,GACA,GAAA86B,MAAA96B,EAAA,OAAAipC,EAAAjpC,EAAAkkC,IACA+E,EAAAjpC,EAAA,eACAklC,EAAA3J,EAAAv7B,MqGqhCE,CAAC,uBAAuB,GAAG,0BAA0B,GAAG,yBAAyB,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAASnuB,EAAQS,EAAOH,GpG/hCzJ,IAAAC,EAAAP,EAAA,8BACAg3D,EAAAh3D,EAAA,2BACAq3D,EAAAr3D,EAAA,0BACAyoD,EAAAzoD,EAAA,8BACAs3D,EAAAt3D,EAAA,oCAEA0oD,EAAAplC,UAEA7iB,EAAAH,QAAA,SAAAqoD,EAAA4O,GACA,IAAAC,EAAA9tD,UAAAlJ,OAAA,EAAA82D,EAAA3O,GAAA4O,EACA,GAAAP,EAAAQ,GAAA,OAAAH,EAAA92D,EAAAi3D,EAAA7O,IACA,MAAAD,EAAAD,EAAAE,GAAA,sBoGmiCE,CAAC,0BAA0B,EAAE,yBAAyB,EAAE,6BAA6B,GAAG,mCAAmC,GAAG,6BAA6B,MAAM,GAAG,CAAC,SAAS3oD,EAAQS,EAAOH,GnG9iC/L,IAAA02D,EAAAh3D,EAAA,2BAIAS,EAAAH,QAAA,SAAA4sB,EAAA3V,GACA,IAAAkgD,EAAAvqC,EAAA3V,GACA,OAAA,MAAAkgD,OAAAxO,EAAA+N,EAAAS,KmGkjCE,CAAC,0BAA0B,IAAI,GAAG,CAAC,SAASz3D,EAAQS,EAAOH,GlGxjC7D,IAAA0rD,EAAAhsD,EAAA,sCACA8vD,EAAA9vD,EAAA,0BAEAgkB,EAAAxR,KAAAwR,MACA3Q,EAAA24C,EAAA,GAAA34C,QACAzN,EAAAomD,EAAA,GAAApmD,SACA+sD,EAAA3G,EAAA,GAAAviD,OACAiuD,EAAA,8BACAC,EAAA,sBAIAl3D,EAAAH,QAAA,SAAAs3D,EAAAnB,EAAAjxD,EAAAqyD,EAAAC,EAAAC,GACA,IAAAC,EAAAxyD,EAAAoyD,EAAAp3D,OACAiR,EAAAomD,EAAAr3D,OACAy3D,EAAAN,EAKA,YAJA1O,IAAA6O,IACAA,EAAAhI,EAAAgI,GACAG,EAAAP,GAEA9xD,EAAAmyD,EAAAE,GAAA,SAAAllD,EAAAmlD,GACA,IAAAh8B,EACA,OAAA7oB,EAAA6kD,EAAA,IACA,IAAA,IAAA,MAAA,IACA,IAAA,IAAA,OAAAN,EACA,IAAA,IAAA,OAAAjF,EAAA8D,EAAA,EAAAjxD,GACA,IAAA,IAAA,OAAAmtD,EAAA8D,EAAAuB,GACA,IAAA,IACA97B,EAAA47B,EAAAnF,EAAAuF,EAAA,GAAA,IACA,MACA,QACA,IAAAx4D,GAAAw4D,EACA,GAAA,IAAAx4D,EAAA,OAAAqT,EACA,GAAArT,EAAA+R,EAAA,CACA,IAAA3R,EAAAkkB,EAAAtkB,EAAA,IACA,OAAA,IAAAI,EAAAiT,EACAjT,GAAA2R,OAAAw3C,IAAA4O,EAAA/3D,EAAA,GAAAuT,EAAA6kD,EAAA,GAAAL,EAAA/3D,EAAA,GAAAuT,EAAA6kD,EAAA,GACAnlD,EAEAmpB,EAAA27B,EAAAn4D,EAAA,GAEA,YAAAupD,IAAA/sB,EAAA,GAAAA,OkG6jCE,CAAC,qCAAqC,GAAG,yBAAyB,MAAM,GAAG,CAAC,SAASl8B,EAAQS,EAAOH,IACtG,SAAWkkB,IAAQ,WjGvmCnB,IAAA2zC,EAAA,SAAAhqC,GACA,OAAAA,GAAAA,EAAA3b,MAAAA,MAAA2b,GAIA1tB,EAAAH,QAEA63D,EAAA,iBAAA/vC,YAAAA,aACA+vC,EAAA,iBAAA10D,QAAAA,SAEA00D,EAAA,iBAAA9vC,MAAAA,OACA8vC,EAAA,iBAAA3zC,GAAAA,IAEA,WAAA,OAAAle,KAAA,IAAA0hB,SAAA,cAAAA,KiG0mCGznB,KAAK+F,QAAQ/F,KAAK+F,KAAuB,oBAAXke,OAAyBA,OAAyB,oBAAT6D,KAAuBA,KAAyB,oBAAX5kB,OAAyBA,OAAS,KAE/I,IAAI,GAAG,CAAC,SAASzD,EAAQS,EAAOH,GhGznClC,IAAA0rD,EAAAhsD,EAAA,sCACA8vD,EAAA9vD,EAAA,0BAEAoS,EAAA45C,EAAA,GAAA55C,gBAKA3R,EAAAH,QAAAqR,OAAA2W,QAAA,SAAA6F,EAAAS,GACA,OAAAxc,EAAA09C,EAAA3hC,GAAAS,KgG6nCE,CAAC,qCAAqC,GAAG,yBAAyB,MAAM,GAAG,CAAC,SAAS5uB,EAAQS,EAAOH,G/FtoCtGG,EAAAH,QAAA,I+FyoCE,IAAI,GAAG,CAAC,SAASN,EAAQS,EAAOH,G9FzoClC,IAAA+0D,EAAAr1D,EAAA,6BAEAS,EAAAH,QAAA+0D,EAAA,WAAA,oB8F4oCE,CAAC,4BAA4B,KAAK,GAAG,CAAC,SAASr1D,EAAQS,EAAOH,G7F9oChE,IAAAmpD,EAAAzpD,EAAA,4BACAmsD,EAAAnsD,EAAA,sBACAmD,EAAAnD,EAAA,wCAGAS,EAAAH,SAAAmpD,IAAA0C,GAAA,WAEA,OAEA,GAFAx6C,OAAAC,eAAAzO,EAAA,OAAA,IAAA,CACAyG,IAAA,WAAA,OAAA,KACA1J,M6FkpCE,CAAC,2BAA2B,GAAG,uCAAuC,GAAG,qBAAqB,KAAK,GAAG,CAAC,SAASF,EAAQS,EAAOH,G3F3pCjI,IAAA0rD,EAAAhsD,EAAA,sCACAmsD,EAAAnsD,EAAA,sBACA0pD,EAAA1pD,EAAA,4BAEA8yD,EAAAnhD,OACAkB,EAAAm5C,EAAA,GAAAn5C,OAGApS,EAAAH,QAAA6rD,GAAA,WAGA,OAAA2G,EAAA,KAAAvqC,qBAAA,MACA,SAAA4F,GACA,MAAA,UAAAu7B,EAAAv7B,GAAAtb,EAAAsb,EAAA,IAAA2kC,EAAA3kC,IACA2kC,G2F8pCE,CAAC,2BAA2B,GAAG,qBAAqB,GAAG,qCAAqC,KAAK,GAAG,CAAC,SAAS9yD,EAAQS,EAAOH,GzF5qC/H,IAAA0rD,EAAAhsD,EAAA,sCACAwoD,EAAAxoD,EAAA,4BACAquD,EAAAruD,EAAA,6BAEAm5D,EAAAnN,EAAAhkC,SAAA7D,UAGAqkC,EAAA6F,EAAA7lC,iBACA6lC,EAAA7lC,cAAA,SAAA2F,GACA,OAAAgrC,EAAAhrC,KAIA1tB,EAAAH,QAAA+tD,EAAA7lC,eyF+qCE,CAAC,qCAAqC,GAAG,2BAA2B,GAAG,4BAA4B,KAAK,GAAG,CAAC,SAASxoB,EAAQS,EAAOH,GxF5rCtI,IAaA6O,EAAAvF,EAAAgJ,EAbAwmD,EAAAp5D,EAAA,gCACAwkB,EAAAxkB,EAAA,uBACAgsD,EAAAhsD,EAAA,sCACAmpD,EAAAnpD,EAAA,0BACA2pD,EAAA3pD,EAAA,+CACAsoB,EAAAtoB,EAAA,iCACAq5D,EAAAr5D,EAAA,6BACAs5D,EAAAt5D,EAAA,2BACAu5D,EAAAv5D,EAAA,4BAEAw5D,EAAA,6BACAl2C,EAAAkB,EAAAlB,UACAmF,EAAAjE,EAAAiE,QAgBA,GAAA2wC,GAAAC,EAAAjzD,MAAA,CACA,IAAAioD,EAAAgL,EAAAjzD,QAAAizD,EAAAjzD,MAAA,IAAAqiB,GACAgxC,EAAAzN,EAAAqC,EAAAzkD,KACA8vD,EAAA1N,EAAAqC,EAAAz7C,KACA+mD,EAAA3N,EAAAqC,EAAAl/C,KACAA,EAAA,SAAAgf,EAAAyrC,GACA,GAAAF,EAAArL,EAAAlgC,GAAA,MAAA,IAAA7K,EAAAk2C,GAGA,OAFAI,EAAAlxC,OAAAyF,EACAwrC,EAAAtL,EAAAlgC,EAAAyrC,GACAA,GAEAhwD,EAAA,SAAAukB,GACA,OAAAsrC,EAAApL,EAAAlgC,IAAA,IAEAvb,EAAA,SAAAub,GACA,OAAAurC,EAAArL,EAAAlgC,QAEA,CACA,IAAA0rC,EAAAP,EAAA,SACAC,EAAAM,IAAA,EACA1qD,EAAA,SAAAgf,EAAAyrC,GACA,GAAAtxC,EAAA6F,EAAA0rC,GAAA,MAAA,IAAAv2C,EAAAk2C,GAGA,OAFAI,EAAAlxC,OAAAyF,EACAw7B,EAAAx7B,EAAA0rC,EAAAD,GACAA,GAEAhwD,EAAA,SAAAukB,GACA,OAAA7F,EAAA6F,EAAA0rC,GAAA1rC,EAAA0rC,GAAA,IAEAjnD,EAAA,SAAAub,GACA,OAAA7F,EAAA6F,EAAA0rC,IAIAp5D,EAAAH,QAAA,CACA6O,IAAAA,EACAvF,IAAAA,EACAgJ,IAAAA,EACA+V,QAnDA,SAAAwF,GACA,OAAAvb,EAAAub,GAAAvkB,EAAAukB,GAAAhf,EAAAgf,EAAA,KAmDAvF,UAhDA,SAAA8nC,GACA,OAAA,SAAAviC,GACA,IAAA/nB,EACA,IAAA+iD,EAAAh7B,KAAA/nB,EAAAwD,EAAAukB,IAAApoB,OAAA2qD,EACA,MAAAptC,EAAA,0BAAAotC,EAAA,aACA,OAAAtqD,MwF2uCE,CAAC,8CAA8C,GAAG,qCAAqC,GAAG,sBAAsB,GAAG,gCAAgC,GAAG,2BAA2B,GAAG,yBAAyB,GAAG,+BAA+B,GAAG,0BAA0B,GAAG,4BAA4B,KAAK,GAAG,CAAC,SAASpG,EAAQS,EAAOH,GvFnwC9U,IAAAwoD,EAAA9oD,EAAA,kCACAqzD,EAAArzD,EAAA,0BAEAqyD,EAAAvJ,EAAA,YACAE,EAAAz/C,MAAAC,UAGA/I,EAAAH,QAAA,SAAA6tB,GACA,YAAA86B,IAAA96B,IAAAklC,EAAA9pD,QAAA4kB,GAAA66B,EAAAqJ,KAAAlkC,KuFuwCE,CAAC,yBAAyB,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAASnuB,EAAQS,EAAOH,GrF7wClGG,EAAAH,QAAA,SAAAqoD,GACA,MAAA,mBAAAA,IqFmxCE,IAAI,GAAG,CAAC,SAAS3oD,EAAQS,EAAOH,GpFtxClC,IAAA0rD,EAAAhsD,EAAA,sCACAmsD,EAAAnsD,EAAA,sBACAwoD,EAAAxoD,EAAA,4BACA0pD,EAAA1pD,EAAA,wBACAq1D,EAAAr1D,EAAA,6BACAwoB,EAAAxoB,EAAA,+BAEAoR,EAAA,aACA0oD,EAAA,GACAC,EAAA1E,EAAA,UAAA,aACA2E,EAAA,2BACAjyC,EAAAikC,EAAAgO,EAAAjyC,MACAkyC,GAAAD,EAAAjyC,KAAA3W,GAEA8oD,EAAA,SAAAvR,GACA,IAAAH,EAAAG,GAAA,OAAA,EACA,IAEA,OADAoR,EAAA3oD,EAAA0oD,EAAAnR,IACA,EACA,MAAA3/C,GACA,OAAA,IAIAmxD,EAAA,SAAAxR,GACA,IAAAH,EAAAG,GAAA,OAAA,EACA,OAAAe,EAAAf,IACA,IAAA,gBACA,IAAA,oBACA,IAAA,yBAAA,OAAA,EAEA,IAIA,OAAAsR,KAAAlyC,EAAAiyC,EAAAxxC,EAAAmgC,IACA,MAAA3/C,GACA,OAAA,IAIAmxD,EAAAvyC,MAAA,EAIAnnB,EAAAH,SAAAy5D,GAAA5N,GAAA,WACA,IAAAoG,EACA,OAAA2H,EAAAA,EAAA35D,QACA25D,EAAAvoD,UACAuoD,GAAA,WAAA3H,GAAA,MACAA,KACA4H,EAAAD,GoFyxCE,CAAC,uBAAuB,GAAG,qBAAqB,GAAG,qCAAqC,GAAG,4BAA4B,GAAG,8BAA8B,GAAG,2BAA2B,KAAK,GAAG,CAAC,SAASl6D,EAAQS,EAAOH,GnF50CzN,IAAA6rD,EAAAnsD,EAAA,sBACAwoD,EAAAxoD,EAAA,4BAEA+3D,EAAA,kBAEAvC,EAAA,SAAA4E,EAAAC,GACA,IAAA93D,EAAAiE,EAAAqiB,EAAAuxC,IACA,OAAA73D,GAAAwmB,GACAxmB,GAAAumB,IACA0/B,EAAA6R,GAAAlO,EAAAkO,KACAA,IAGAxxC,EAAA2sC,EAAA3sC,UAAA,SAAAgE,GACA,OAAAnM,OAAAmM,GAAAjnB,QAAAmyD,EAAA,KAAAj1D,eAGA0D,EAAAgvD,EAAAhvD,KAAA,GACAsiB,EAAA0sC,EAAA1sC,OAAA,IACAC,EAAAysC,EAAAzsC,SAAA,IAEAtoB,EAAAH,QAAAk1D,GmF+0CE,CAAC,qBAAqB,GAAG,2BAA2B,KAAK,GAAG,CAAC,SAASx1D,EAAQS,EAAOH,GjFp2CvF,IAAAkoD,EAAAxoD,EAAA,4BAEAS,EAAAH,QAAA,SAAA6tB,GACA,MAAA,iBAAAA,EAAA,OAAAA,EAAAq6B,EAAAr6B,KiFw2CE,CAAC,2BAA2B,KAAK,GAAG,CAAC,SAASnuB,EAAQS,EAAOH,GhF32C/DG,EAAAH,SAAA,GgF82CE,IAAI,GAAG,CAAC,SAASN,EAAQS,EAAOH,G/E92ClC,IAAA+0D,EAAAr1D,EAAA,6BACAwoD,EAAAxoD,EAAA,4BACAsqB,EAAAtqB,EAAA,uCACAs6D,EAAAt6D,EAAA,kCAEA8yD,EAAAnhD,OAEAlR,EAAAH,QAAAg6D,EAAA,SAAAnsC,GACA,MAAA,iBAAAA,GACA,SAAAA,GACA,IAAAosC,EAAAlF,EAAA,UACA,OAAA7M,EAAA+R,IAAAjwC,EAAAiwC,EAAA/wD,UAAAspD,EAAA3kC,M+Ek3CE,CAAC,4BAA4B,GAAG,2BAA2B,GAAG,sCAAsC,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAASnuB,EAAQS,EAAOH,GI73C5K,IAAAC,EAAAP,EAAA,8BACAq3D,EAAAr3D,EAAA,0BACAo3D,EAAAp3D,EAAA,2BAEAS,EAAAH,QAAA,SAAAsrB,EAAAE,EAAAvpB,GACA,IAAA0nF,EAAAC,EACA7yB,EAAAzrC,GACA,IAEA,KADAq+D,EAAA7yB,EAAAxrC,EAAA,WACA,CACA,GAAA,UAAAE,EAAA,MAAAvpB,EACA,OAAAA,EAEA0nF,EAAA1pF,EAAA0pF,EAAAr+D,GACA,MAAA5iB,GACAkhF,GAAA,EACAD,EAAAjhF,EAEA,GAAA,UAAA8iB,EAAA,MAAAvpB,EACA,GAAA2nF,EAAA,MAAAD,EAEA,OADA5yB,EAAA4yB,GACA1nF,IJi4CE,CAAC,yBAAyB,EAAE,6BAA6B,GAAG,0BAA0B,KAAK,GAAG,CAAC,SAASvC,EAAQS,EAAOH,G9Et5CzH,aACA,IAaAgkB,EAAAk2C,EAAAC,EAbAtO,EAAAnsD,EAAA,sBACAwoD,EAAAxoD,EAAA,4BACAiS,EAAAjS,EAAA,8BACAqkB,EAAArkB,EAAA,wCACA4pD,EAAA5pD,EAAA,gCACA8oD,EAAA9oD,EAAA,kCACA+zD,EAAA/zD,EAAA,wBAEAqyD,EAAAvJ,EAAA,YACAhkC,GAAA,EAOA,GAAAlL,OAGA,SAFA6gD,EAAA,GAAA7gD,SAIA4gD,EAAAn2C,EAAAA,EAAAo2C,OACA9oD,OAAAnI,YAAA8a,EAAAk2C,GAHA11C,GAAA,GAOAmkC,MAAA3kC,GAAA6nC,GAAA,WACA,IAAA9xC,EAAA,GAEA,OAAAiK,EAAA+tC,GAAA9xD,KAAA8Z,KAAAA,KAGAiK,EAAA,GACAyvC,IAAAzvC,EAAArS,EAAAqS,IAIAkkC,EAAAlkC,EAAA+tC,KACAzI,EAAAtlC,EAAA+tC,GAAA,WACA,OAAA/rD,QAIA7F,EAAAH,QAAA,CACAgkB,kBAAAA,EACAQ,uBAAAA,I8E05CE,CAAC,+BAA+B,GAAG,qBAAqB,GAAG,2BAA2B,GAAG,uBAAuB,GAAG,6BAA6B,GAAG,uCAAuC,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAAS9kB,EAAQS,EAAOH,GAClQoJ,UAAU,GAAG,IAAI,GAAGI,MAAMxJ,EAAQoJ,YAChC,CAACgxD,IAAM,KAAK,GAAG,CAAC,SAAS16D,EAAQS,EAAOH,G7E18C1C,IAAAgsD,EAAAtsD,EAAA,0BAIAS,EAAAH,QAAA,SAAAuO,GACA,OAAAy9C,EAAAz9C,EAAArO,U6E88CE,CAAC,yBAAyB,MAAM,GAAG,CAAC,SAASR,EAAQS,EAAOH,G5En9C9D,IAAA6rD,EAAAnsD,EAAA,sBACAwoD,EAAAxoD,EAAA,4BACAsoB,EAAAtoB,EAAA,iCACAypD,EAAAzpD,EAAA,4BACA6sD,EAAA7sD,EAAA,8BAAA6kB,aACA2D,EAAAxoB,EAAA,+BACA8pD,EAAA9pD,EAAA,+BAEA+pD,EAAAD,EAAAnhC,QACAqhC,EAAAF,EAAAlgD,IAEAgI,EAAAD,OAAAC,eAEA+oD,EAAAlR,IAAA0C,GAAA,WACA,OAAA,IAAAv6C,GAAA,cAAA,SAAA,CAAArP,MAAA,IAAA/B,UAGAo6D,EAAAl6C,OAAAA,QAAA7N,MAAA,UAEA+gD,EAAAnzD,EAAAH,QAAA,SAAAiC,EAAAF,EAAAf,GACA,YAAAof,OAAAre,GAAAoH,MAAA,EAAA,KACApH,EAAA,IAAAqe,OAAAre,GAAAuD,QAAA,qBAAA,MAAA,KAEAtE,GAAAA,EAAA6nB,SAAA9mB,EAAA,OAAAA,GACAf,GAAAA,EAAA8nB,SAAA/mB,EAAA,OAAAA,KACAimB,EAAA/lB,EAAA,SAAAsqD,GAAAtqD,EAAAF,OAAAA,KACAonD,EAAA73C,EAAArP,EAAA,OAAA,CAAAA,MAAAF,EAAAkhB,cAAA,IACAhhB,EAAAF,KAAAA,GAEAs4D,GAAAr5D,GAAAgnB,EAAAhnB,EAAA,UAAAiB,EAAA/B,SAAAc,EAAA+nB,OACAzX,EAAArP,EAAA,SAAA,CAAAA,MAAAjB,EAAA+nB,QAEA,IACA/nB,GAAAgnB,EAAAhnB,EAAA,gBAAAA,EAAAgV,YACAmzC,GAAA73C,EAAArP,EAAA,YAAA,CAAAgiB,UAAA,IAEAhiB,EAAAiH,YAAAjH,EAAAiH,eAAAy/C,GACA,MAAAjgD,IACA,IAAA5C,EAAA2jD,EAAAxnD,GAGA,OAFA+lB,EAAAliB,EAAA,YACAA,EAAAkjB,OAAAsxC,EAAAr2D,KAAA,iBAAAlC,EAAAA,EAAA,KACAE,GAKAylB,SAAAxe,UAAA2a,SAAAyvC,GAAA,WACA,OAAApL,EAAAliD,OAAA0jD,EAAA1jD,MAAAgjB,QAAAd,EAAAliB,QACA,a4Es9CE,CAAC,2BAA2B,GAAG,qBAAqB,GAAG,6BAA6B,GAAG,gCAAgC,GAAG,8BAA8B,GAAG,8BAA8B,GAAG,2BAA2B,KAAK,GAAG,CAAC,SAAStG,EAAQS,EAAOH,G3EtgD1P,IAAAipB,EAAA/W,KAAA+W,KACAvF,EAAAxR,KAAAwR,MAKAvjB,EAAAH,QAAAkS,KAAAgX,OAAA,SAAAlX,GACA,IAAA5S,GAAA4S,EACA,OAAA5S,EAAA,EAAAskB,EAAAuF,GAAA7pB,K2E0gDE,IAAI,GAAG,CAAC,SAASM,EAAQS,EAAOH,G1EjhDlC,IAAAu6D,EAAA76D,EAAA,kCACAmsD,EAAAnsD,EAAA,sBAGAS,EAAAH,UAAAqR,OAAAgY,wBAAAwiC,GAAA,WACA,IAAAtxB,EAAA/oB,SAGA,OAAA4O,OAAAma,MAAAlpB,OAAAkpB,aAAA/oB,UAEAA,OAAA8V,MAAAizC,GAAAA,EAAA,O0EshDE,CAAC,iCAAiC,GAAG,qBAAqB,KAAK,GAAG,CAAC,SAAS76D,EAAQS,EAAOH,GKjiD7F,IAAA6rD,EAAAnsD,EAAA,sBACA8oD,EAAA9oD,EAAA,kCACA+zD,EAAA/zD,EAAA,wBAEAqyD,EAAAvJ,EAAA,YAEAroD,EAAAH,SAAA6rD,GAAA,WAEA,IAAAlJ,EAAA,IAAA6+B,IAAA,gBAAA,YACAqI,EAAAlnC,EAAAknC,aACArmF,EAAA,GAMA,OALAm/C,EAAAmnC,SAAA,QACAD,EAAAxmF,SAAA,SAAApB,EAAAqsB,GACAu7D,EAAA,OAAA,KACArmF,GAAA8qB,EAAArsB,KAEAwxD,IAAA9Q,EAAAonC,SACAF,EAAAl+D,MACA,2BAAAg3B,EAAAg4B,MACA,MAAAkP,EAAAvgF,IAAA,MACA,QAAA8W,OAAA,IAAA4pE,gBAAA,WACAH,EAAA93B,IAEA,MAAA,IAAAyvB,IAAA,eAAAyI,UACA,MAAA,IAAAD,gBAAA,IAAAA,gBAAA,QAAA1gF,IAAA,MAEA,eAAA,IAAAk4E,IAAA,eAAAhW,MAEA,YAAA,IAAAgW,IAAA,cAAAtE,MAEA,SAAA15E,GAEA,MAAA,IAAAg+E,IAAA,gBAAA74B,GAAA6iB,SLqiDE,CAAC,qBAAqB,GAAG,uBAAuB,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAAS9rE,EAAQS,EAAOH,GzErkDxH,IAAAkkB,EAAAxkB,EAAA,uBACAwoD,EAAAxoD,EAAA,4BACAwoB,EAAAxoB,EAAA,+BAEAyoB,EAAAjE,EAAAiE,QAEAhoB,EAAAH,QAAAkoD,EAAA//B,IAAA,cAAApO,KAAAmO,EAAAC,KyEwkDE,CAAC,sBAAsB,GAAG,8BAA8B,GAAG,2BAA2B,KAAK,GAAG,CAAC,SAASzoB,EAAQS,EAAOH,GM9kDzH,aACA,IAAAmpD,EAAAzpD,EAAA,4BACAgsD,EAAAhsD,EAAA,sCACAO,EAAAP,EAAA,8BACAmsD,EAAAnsD,EAAA,sBACA+7D,EAAA/7D,EAAA,4BACAg9D,EAAAh9D,EAAA,gDACAq8D,EAAAr8D,EAAA,8CACA8vD,EAAA9vD,EAAA,0BACAwwD,EAAAxwD,EAAA,+BAGAwqF,EAAA74E,OAAA+K,OAEA9K,EAAAD,OAAAC,eACAzF,EAAA6/C,EAAA,GAAA7/C,QAIA1L,EAAAH,SAAAkqF,GAAAr+B,GAAA,WAEA,GAAA1C,GAQA,IARA+gC,EAAA,CAAAh3E,EAAA,GAAAg3E,EAAA54E,EAAA,GAAA,IAAA,CACAC,YAAA,EACAjI,IAAA,WACAgI,EAAAtL,KAAA,IAAA,CACA/D,MAAA,EACAsP,YAAA,OAGA,CAAA2B,EAAA,KAAAA,EAAA,OAAA,EAEA,IAAAwR,EAAA,GACAyH,EAAA,GAEAoO,EAAA/oB,SACA24E,EAAA,uBAGA,OAFAzlE,EAAA6V,GAAA,EACA4vD,EAAA53E,MAAA,IAAAlP,SAAA,SAAA+mF,GAAAj+D,EAAAi+D,GAAAA,KACA,GAAAF,EAAA,GAAAxlE,GAAA6V,IAAAkhC,EAAAyuB,EAAA,GAAA/9D,IAAAloB,KAAA,KAAAkmF,KACA,SAAAr2E,EAAAkV,GAMA,IALA,IAAA5U,EAAAo7C,EAAA17C,GACA67C,EAAAvmD,UAAAlJ,OACA8a,EAAA,EACAqO,EAAAqzC,EAAAl9D,EACAyoB,EAAA8zC,EAAAv8D,EACAmwD,EAAA30C,GAMA,IALA,IAIAsT,EAJApL,EAAAgtC,EAAA9mD,UAAA4R,MACA1B,EAAA+P,EAAAxd,EAAA4vD,EAAAv4C,GAAAmG,EAAAnG,IAAAu4C,EAAAv4C,GACAhjB,EAAAoZ,EAAApZ,OACA2kB,EAAA,EAEA3kB,EAAA2kB,GACAyJ,EAAAhV,EAAAuL,KACAskC,IAAAlpD,EAAAgoB,EAAA/E,EAAAoL,KAAAla,EAAAka,GAAApL,EAAAoL,IAEA,OAAAla,GACA81E,GNilDE,CAAC,2BAA2B,GAAG,qBAAqB,GAAG,6BAA6B,GAAG,qCAAqC,GAAG,8BAA8B,GAAG,+CAA+C,GAAG,2BAA2B,GAAG,6CAA6C,GAAG,yBAAyB,MAAM,GAAG,CAAC,SAASxqF,EAAQS,EAAOH,GxExoD7V,IAmDAw6D,EAnDAzD,EAAAr3D,EAAA,0BACA+6D,EAAA/6D,EAAA,yCACAg7D,EAAAh7D,EAAA,8BACAu5D,EAAAv5D,EAAA,4BACAi7D,EAAAj7D,EAAA,qBACAk7D,EAAAl7D,EAAA,wCACAs5D,EAAAt5D,EAAA,2BAMAm7D,EAAA7B,EAAA,YAEA8B,EAAA,aAEAC,EAAA,SAAAC,GACA,MAAAC,WAAAD,EAAAC,KAAAA,WAIAC,EAAA,SAAAV,GACAA,EAAAlxC,MAAAyxC,EAAA,KACAP,EAAAjxC,QACA,IAAA4xC,EAAAX,EAAAhxC,aAAAnY,OAEA,OADAmpD,EAAA,KACAW,GA0BAC,EAAA,WACA,IACAZ,EAAA,IAAA/wC,cAAA,YACA,MAAA/gB,IAzBA,IAIA2yD,EAFAC,EAwBAF,EAAA,oBAAAx4D,SACAA,SAAA8mB,QAAA8wC,EACAU,EAAAV,KA1BAc,EAAAV,EAAA,WAGAl2D,MAAA0R,QAAA,OACAukD,EAAAx0D,YAAAm1D,GAEAA,EAAA3xC,IAAAvJ,OALA,gBAMAi7C,EAAAC,EAAA1xC,cAAAhnB,UACAsf,OACAm5C,EAAA/xC,MAAAyxC,EAAA,sBACAM,EAAA9xC,QACA8xC,EAAAxxC,GAiBAqxC,EAAAV,GAEA,IADA,IAAAt6D,EAAAw6D,EAAAx6D,OACAA,YAAAk7D,EAAA,UAAAV,EAAAx6D,IACA,OAAAk7D,KAGAnC,EAAA4B,IAAA,EAKA16D,EAAAH,QAAAqR,OAAAM,QAAA,SAAA0B,EAAAkoD,GACA,IAAA/3D,EAQA,OAPA,OAAA6P,GACAynD,EAAA,UAAA/D,EAAA1jD,GACA7P,EAAA,IAAAs3D,EACAA,EAAA,UAAA,KAEAt3D,EAAAq3D,GAAAxnD,GACA7P,EAAA43D,SACAzS,IAAA4S,EAAA/3D,EAAAi3D,EAAAj7D,EAAAgE,EAAA+3D,KwE6oDE,CAAC,yBAAyB,EAAE,uCAAuC,GAAG,6BAA6B,GAAG,2BAA2B,GAAG,oBAAoB,GAAG,wCAAwC,GAAG,0BAA0B,KAAK,GAAG,CAAC,SAAS77D,EAAQS,EAAOH,GvE9tDnQ,IAAAmpD,EAAAzpD,EAAA,4BACA87D,EAAA97D,EAAA,wCACAkzD,EAAAlzD,EAAA,uCACAq3D,EAAAr3D,EAAA,0BACAmwD,EAAAnwD,EAAA,kCACA+7D,EAAA/7D,EAAA,4BAKAM,EAAAR,EAAA2pD,IAAAqS,EAAAnqD,OAAAyY,iBAAA,SAAAzW,EAAAkoD,GACAxE,EAAA1jD,GAMA,IALA,IAIAib,EAJA7L,EAAAotC,EAAA0L,GACAjiD,EAAAmiD,EAAAF,GACAr7D,EAAAoZ,EAAApZ,OACA8a,EAAA,EAEA9a,EAAA8a,GAAA43C,EAAApzD,EAAA6T,EAAAib,EAAAhV,EAAA0B,KAAAyH,EAAA6L,IACA,OAAAjb,IuEkuDE,CAAC,yBAAyB,EAAE,2BAA2B,GAAG,sCAAsC,GAAG,2BAA2B,GAAG,iCAAiC,IAAI,uCAAuC,MAAM,GAAG,CAAC,SAAS3T,EAAQS,EAAOH,GtEpvDjP,IAAAmpD,EAAAzpD,EAAA,4BACAg8D,EAAAh8D,EAAA,+BACA87D,EAAA97D,EAAA,wCACAq3D,EAAAr3D,EAAA,0BACA0zD,EAAA1zD,EAAA,gCAEA0oD,EAAAplC,UAEA24C,EAAAtqD,OAAAC,eAEAsqD,EAAAvqD,OAAAuW,yBACAyiE,EAAA,aACA9lE,EAAA,eACA+lE,EAAA,WAIAtqF,EAAAR,EAAA2pD,EAAAqS,EAAA,SAAAnoD,EAAA4D,EAAA4kD,GAIA,GAHA9E,EAAA1jD,GACA4D,EAAAm8C,EAAAn8C,GACA8/C,EAAA8E,GACA,mBAAAxoD,GAAA,cAAA4D,GAAA,UAAA4kD,GAAAyuB,KAAAzuB,IAAAA,EAAA,SAAA,CACA,IAAAC,EAAAF,EAAAvoD,EAAA4D,GACA6kD,GAAAA,EAAA,WACAzoD,EAAA4D,GAAA4kD,EAAA55D,MACA45D,EAAA,CACA54C,aAAAsB,KAAAs3C,EAAAA,EAAA,aAAAC,EAAA,aACAvqD,WAAA84E,KAAAxuB,EAAAA,EAAA,WAAAC,EAAA,WACA73C,UAAA,IAGA,OAAA03C,EAAAtoD,EAAA4D,EAAA4kD,IACAF,EAAA,SAAAtoD,EAAA4D,EAAA4kD,GAIA,GAHA9E,EAAA1jD,GACA4D,EAAAm8C,EAAAn8C,GACA8/C,EAAA8E,GACAH,EAAA,IACA,OAAAC,EAAAtoD,EAAA4D,EAAA4kD,GACA,MAAAnzD,IACA,GAAA,QAAAmzD,GAAA,QAAAA,EAAA,MAAAzT,EAAA,2BAEA,MADA,UAAAyT,IAAAxoD,EAAA4D,GAAA4kD,EAAA55D,OACAoR,IsEwvDE,CAAC,yBAAyB,EAAE,2BAA2B,GAAG,8BAA8B,GAAG,+BAA+B,IAAI,uCAAuC,MAAM,GAAG,CAAC,SAAS3T,EAAQS,EAAOH,GrEjyDzM,IAAAmpD,EAAAzpD,EAAA,4BACAO,EAAAP,EAAA,8BACAq8D,EAAAr8D,EAAA,8CACAozD,EAAApzD,EAAA,2CACAmwD,EAAAnwD,EAAA,kCACA0zD,EAAA1zD,EAAA,gCACAsoB,EAAAtoB,EAAA,iCACAg8D,EAAAh8D,EAAA,+BAGAk8D,EAAAvqD,OAAAuW,yBAIA5nB,EAAAR,EAAA2pD,EAAAyS,EAAA,SAAAvoD,EAAA4D,GAGA,GAFA5D,EAAAw8C,EAAAx8C,GACA4D,EAAAm8C,EAAAn8C,GACAykD,EAAA,IACA,OAAAE,EAAAvoD,EAAA4D,GACA,MAAAvO,IACA,GAAAsf,EAAA3U,EAAA4D,GAAA,OAAA67C,GAAA7yD,EAAA87D,EAAAv8D,EAAA6T,EAAA4D,GAAA5D,EAAA4D,MqEqyDE,CAAC,0CAA0C,GAAG,2BAA2B,GAAG,6BAA6B,GAAG,gCAAgC,GAAG,8BAA8B,GAAG,6CAA6C,GAAG,iCAAiC,IAAI,+BAA+B,MAAM,GAAG,CAAC,SAASvX,EAAQS,EAAOH,GpEzzDxU,IAAAg8D,EAAAt8D,EAAA,qCAGAu5D,EAFAv5D,EAAA,8BAEAmM,OAAA,SAAA,aAKA7L,EAAAR,EAAA6R,OAAA0Y,qBAAA,SAAA1W,GACA,OAAA2oD,EAAA3oD,EAAA4lD,KoE6zDE,CAAC,6BAA6B,GAAG,oCAAoC,KAAK,GAAG,CAAC,SAASv5D,EAAQS,EAAOH,GnEr0DxGA,EAAAR,EAAA6R,OAAAgY,uBmEy0DE,IAAI,GAAG,CAAC,SAAS3pB,EAAQS,EAAOH,GlE10DlC,IAAAgoB,EAAAtoB,EAAA,iCACAwoD,EAAAxoD,EAAA,4BACA8vD,EAAA9vD,EAAA,0BACAs5D,EAAAt5D,EAAA,2BACAu8D,EAAAv8D,EAAA,yCAEAm7D,EAAA7B,EAAA,YACAxG,EAAAnhD,OACA24C,EAAAwI,EAAAtpD,UAKA/I,EAAAH,QAAAi8D,EAAAzJ,EAAAzuC,eAAA,SAAA1Q,GACA,IAAAhP,EAAAmrD,EAAAn8C,GACA,GAAA2U,EAAA3jB,EAAAw2D,GAAA,OAAAx2D,EAAAw2D,GACA,IAAA7kD,EAAA3R,EAAA2R,YACA,OAAAkyC,EAAAlyC,IAAA3R,aAAA2R,EACAA,EAAA9M,UACA7E,aAAAmuD,EAAAxI,EAAA,OkE80DE,CAAC,wCAAwC,GAAG,gCAAgC,GAAG,2BAA2B,GAAG,0BAA0B,GAAG,yBAAyB,MAAM,GAAG,CAAC,SAAStqD,EAAQS,EAAOH,GjEj2DvM,IAAA0rD,EAAAhsD,EAAA,sCAEAS,EAAAH,QAAA0rD,EAAA,GAAA1hC,gBiEo2DE,CAAC,qCAAqC,KAAK,GAAG,CAAC,SAAStqB,EAAQS,EAAOH,GhEt2DzE,IAAA0rD,EAAAhsD,EAAA,sCACAsoB,EAAAtoB,EAAA,iCACAmwD,EAAAnwD,EAAA,kCACA+C,EAAA/C,EAAA,+BAAA+C,QACAw2D,EAAAv5D,EAAA,4BAEAmB,EAAA6qD,EAAA,GAAA7qD,MAEAV,EAAAH,QAAA,SAAAqE,EAAA63D,GACA,IAGA5tC,EAHAjb,EAAAw8C,EAAAxrD,GACA9E,EAAA,EACAiE,EAAA,GAEA,IAAA8qB,KAAAjb,GAAA2U,EAAAixC,EAAA3qC,IAAAtG,EAAA3U,EAAAib,IAAAztB,EAAA2C,EAAA8qB,GAEA,KAAA4tC,EAAAh8D,OAAAX,GAAAyoB,EAAA3U,EAAAib,EAAA4tC,EAAA38D,SACAkD,EAAAe,EAAA8qB,IAAAztB,EAAA2C,EAAA8qB,IAEA,OAAA9qB,IgE02DE,CAAC,8BAA8B,EAAE,qCAAqC,GAAG,gCAAgC,GAAG,2BAA2B,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAAS9D,EAAQS,EAAOH,G/D53D/M,IAAAg8D,EAAAt8D,EAAA,qCACAg7D,EAAAh7D,EAAA,8BAKAS,EAAAH,QAAAqR,OAAAiI,MAAA,SAAAjG,GACA,OAAA2oD,EAAA3oD,EAAAqnD,K+Dg4DE,CAAC,6BAA6B,GAAG,oCAAoC,KAAK,GAAG,CAAC,SAASh7D,EAAQS,EAAOH,G9Dv4DxG,aACA,IAAAm8D,EAAA,GAAAl0C,qBAEAL,EAAAvW,OAAAuW,yBAGAw0C,EAAAx0C,IAAAu0C,EAAAl8D,KAAA,CAAA,EAAA,GAAA,GAIAD,EAAAR,EAAA48D,EAAA,SAAAxvC,GACA,IAAAyoC,EAAAztC,EAAA5hB,KAAA4mB,GACA,QAAAyoC,GAAAA,EAAA9jD,YACA4qD,G8D04DE,IAAI,GAAG,CAAC,SAASz8D,EAAQS,EAAOH,G7Dt5DlC,IAAA0rD,EAAAhsD,EAAA,sCACAq3D,EAAAr3D,EAAA,0BACA28D,EAAA38D,EAAA,qCAMAS,EAAAH,QAAAqR,OAAA8Y,iBAAA,aAAA,GAAA,WACA,IAEArB,EAFAwzC,GAAA,EACAviD,EAAA,GAEA,KAEA+O,EAAA4iC,EAAAr6C,OAAAuW,yBAAAvW,OAAAnI,UAAA,aAAA2F,MACAkL,EAAA,IACAuiD,EAAAviD,aAAA9Q,MACA,MAAAP,IACA,OAAA,SAAA2K,EAAA2R,GAKA,OAJA+xC,EAAA1jD,GACAgpD,EAAAr3C,GACAs3C,EAAAxzC,EAAAzV,EAAA2R,GACA3R,EAAA+W,UAAApF,EACA3R,GAfA,QAiBAs1C,I6D05DE,CAAC,oCAAoC,EAAE,yBAAyB,EAAE,qCAAqC,KAAK,GAAG,CAAC,SAASjpD,EAAQS,EAAOH,G5Dp7D1I,IAAAC,EAAAP,EAAA,8BACAwoD,EAAAxoD,EAAA,4BACAmpD,EAAAnpD,EAAA,0BAEA0oD,EAAAplC,UAIA7iB,EAAAH,QAAA,SAAA0qB,EAAA6xC,GACA,IAAA37D,EAAA47D,EACA,GAAA,WAAAD,GAAArU,EAAAtnD,EAAA8pB,EAAA7G,YAAAglC,EAAA2T,EAAAv8D,EAAAW,EAAA8pB,IAAA,OAAA8xC,EACA,GAAAtU,EAAAtnD,EAAA8pB,EAAArK,WAAAwoC,EAAA2T,EAAAv8D,EAAAW,EAAA8pB,IAAA,OAAA8xC,EACA,GAAA,WAAAD,GAAArU,EAAAtnD,EAAA8pB,EAAA7G,YAAAglC,EAAA2T,EAAAv8D,EAAAW,EAAA8pB,IAAA,OAAA8xC,EACA,MAAApU,EAAA,6C4Dw7DE,CAAC,6BAA6B,GAAG,2BAA2B,GAAG,yBAAyB,KAAK,GAAG,CAAC,SAAS1oD,EAAQS,EAAOH,G3Dr8D3H,IAAA+0D,EAAAr1D,EAAA,6BACAgsD,EAAAhsD,EAAA,sCACA+8D,EAAA/8D,EAAA,8CACAg9D,EAAAh9D,EAAA,gDACAq3D,EAAAr3D,EAAA,0BAEAmM,EAAA6/C,EAAA,GAAA7/C,QAGA1L,EAAAH,QAAA+0D,EAAA,UAAA,YAAA,SAAAlnC,GACA,IAAAvU,EAAAmjD,EAAAj9D,EAAAu3D,EAAAlpC,IACAxE,EAAAqzC,EAAAl9D,EACA,OAAA6pB,EAAAxd,EAAAyN,EAAA+P,EAAAwE,IAAAvU,I2Dy8DE,CAAC,yBAAyB,EAAE,qCAAqC,GAAG,4BAA4B,GAAG,6CAA6C,GAAG,+CAA+C,KAAK,GAAG,CAAC,SAAS5Z,EAAQS,EAAOH,G1Dr9DrO,IAAAC,EAAAP,EAAA,8BACAq3D,EAAAr3D,EAAA,0BACAwoD,EAAAxoD,EAAA,4BACA0pD,EAAA1pD,EAAA,4BACA+1D,EAAA/1D,EAAA,4BAEA0oD,EAAAplC,UAIA7iB,EAAAH,QAAA,SAAA2kB,EAAAzB,GACA,IAAAuE,EAAA9C,EAAA8C,KACA,GAAAygC,EAAAzgC,GAAA,CACA,IAAAjkB,EAAAvD,EAAAwnB,EAAA9C,EAAAzB,GAEA,OADA,OAAA1f,GAAAuzD,EAAAvzD,GACAA,EAEA,GAAA,WAAA4lD,EAAAzkC,GAAA,OAAA1kB,EAAAw1D,EAAA9wC,EAAAzB,GACA,MAAAklC,EAAA,iD0Dy9DE,CAAC,yBAAyB,EAAE,2BAA2B,GAAG,6BAA6B,GAAG,2BAA2B,GAAG,2BAA2B,KAAK,GAAG,CAAC,SAAS1oD,EAAQS,EAAOH,GzD3+DtL,aAGA,IAoBA28D,EACAC,EArBA38D,EAAAP,EAAA,8BACAgsD,EAAAhsD,EAAA,sCACAmkB,EAAAnkB,EAAA,0BACAm9D,EAAAn9D,EAAA,6BACAo9D,EAAAp9D,EAAA,sCACAq5D,EAAAr5D,EAAA,uBACAiS,EAAAjS,EAAA,8BACAgqD,EAAAhqD,EAAA,+BAAA4J,IACAyzD,EAAAr9D,EAAA,2CACAs9D,EAAAt9D,EAAA,uCAEAu9D,EAAAlE,EAAA,wBAAA34C,OAAAlX,UAAA5D,SACA43D,EAAA31C,OAAAre,UAAAue,KACA01C,EAAAD,EACAnqD,EAAA24C,EAAA,GAAA34C,QACAtQ,EAAAipD,EAAA,GAAAjpD,SACA6C,EAAAomD,EAAA,GAAApmD,SACA+sD,EAAA3G,EAAA,GAAAviD,OAEAi0D,GAEAR,EAAA,MACA38D,EAAAi9D,EAFAP,EAAA,IAEA,KACA18D,EAAAi9D,EAAAN,EAAA,KACA,IAAAD,EAAAtyC,WAAA,IAAAuyC,EAAAvyC,WAGAY,EAAA6xC,EAAAxyC,aAGA+yC,OAAA1U,IAAA,OAAAlhC,KAAA,IAAA,IAEA21C,GAAAC,GAAApyC,GAAA8xC,GAAAC,KAGAG,EAAA,SAAA5wC,GACA,IAIA/oB,EAAA85D,EAAAjzC,EAAA5X,EAAAlT,EAAA8E,EAAAk5D,EAJAvH,EAAAhwD,KACAF,EAAA4jD,EAAAsM,GACAG,EAAAtyC,EAAA0I,GACAzR,EAAAhV,EAAAgV,IAGA,GAAAA,EAIA,OAHAA,EAAAuP,UAAA2rC,EAAA3rC,UACA7mB,EAAAvD,EAAAk9D,EAAAriD,EAAAq7C,GACAH,EAAA3rC,UAAAvP,EAAAuP,UACA7mB,EAGA,IAAA+mB,EAAAzkB,EAAAykB,OACAC,EAAAS,GAAA+qC,EAAAxrC,OACAhD,EAAAvnB,EAAA48D,EAAA7G,GACAhtC,EAAAgtC,EAAAhtC,OACAw0C,EAAA,EACAC,EAAAtH,EA+CA,GA7CA3rC,IACAhD,EAAAliB,EAAAkiB,EAAA,IAAA,KACA,IAAA/kB,EAAA+kB,EAAA,OACAA,GAAA,KAGAi2C,EAAApL,EAAA8D,EAAAH,EAAA3rC,WAEA2rC,EAAA3rC,UAAA,KAAA2rC,EAAAvrC,WAAAurC,EAAAvrC,WAAA,OAAA1X,EAAAojD,EAAAH,EAAA3rC,UAAA,MACArB,EAAA,OAAAA,EAAA,IACAy0C,EAAA,IAAAA,EACAD,KAIAF,EAAA,IAAA/1C,OAAA,OAAAyB,EAAA,IAAAxB,IAGA61C,IACAC,EAAA,IAAA/1C,OAAA,IAAAyB,EAAA,WAAAxB,IAEA41C,IAAA/yC,EAAA2rC,EAAA3rC,WAEA5X,EAAAxS,EAAAi9D,EAAA1yC,EAAA8yC,EAAAtH,EAAAyH,GAEAjzC,EACA/X,GACAA,EAAAiY,MAAA2nC,EAAA5/C,EAAAiY,MAAA8yC,GACA/qD,EAAA,GAAA4/C,EAAA5/C,EAAA,GAAA+qD,GACA/qD,EAAAuI,MAAAg7C,EAAA3rC,UACA2rC,EAAA3rC,WAAA5X,EAAA,GAAAvS,QACA81D,EAAA3rC,UAAA,EACA+yC,GAAA3qD,IACAujD,EAAA3rC,UAAA2rC,EAAA9xC,OAAAzR,EAAAuI,MAAAvI,EAAA,GAAAvS,OAAAmqB,GAEAgzC,GAAA5qD,GAAAA,EAAAvS,OAAA,GAGAD,EAAAg9D,EAAAxqD,EAAA,GAAA6qD,GAAA,WACA,IAAA/9D,EAAA,EAAAA,EAAA6J,UAAAlJ,OAAA,EAAAX,SACAopD,IAAAv/C,UAAA7J,KAAAkT,EAAAlT,QAAAopD,MAKAl2C,GAAA8X,EAEA,IADA9X,EAAA8X,OAAAlmB,EAAAsN,EAAA,MACApS,EAAA,EAAAA,EAAAgrB,EAAArqB,OAAAX,IAEA8E,GADAk5D,EAAAhzC,EAAAhrB,IACA,IAAAkT,EAAA8qD,EAAA,IAIA,OAAA9qD,IAIAtS,EAAAH,QAAAm9D,GyD8+DE,CAAC,6BAA6B,GAAG,qCAAqC,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,4BAA4B,GAAG,qCAAqC,GAAG,0CAA0C,GAAG,sCAAsC,GAAG,sBAAsB,GAAG,yBAAyB,MAAM,GAAG,CAAC,SAASz9D,EAAQS,EAAOH,GxDlmE7X,aACA,IAAA+2D,EAAAr3D,EAAA,0BAIAS,EAAAH,QAAA,WACA,IAAA6wD,EAAAkG,EAAA/wD,MACAxC,EAAA,GASA,OARAqtD,EAAAlmC,aAAAnnB,GAAA,KACAqtD,EAAA3sC,SAAA1gB,GAAA,KACAqtD,EAAAjmC,aAAApnB,GAAA,KACAqtD,EAAApmC,YAAAjnB,GAAA,KACAqtD,EAAAhmC,SAAArnB,GAAA,KACAqtD,EAAA/lC,UAAAtnB,GAAA,KACAqtD,EAAA9lC,cAAAvnB,GAAA,KACAqtD,EAAArmC,SAAAhnB,GAAA,KACAA,IwDsmEE,CAAC,yBAAyB,IAAI,GAAG,CAAC,SAAS9D,EAAQS,EAAOH,GvDtnE5D,IAAA6rD,EAAAnsD,EAAA,sBAIAg+D,EAHAh+D,EAAA,uBAGA6nB,OAEA0D,EAAA4gC,GAAA,WACA,IAAAmK,EAAA0H,EAAA,IAAA,KAEA,OADA1H,EAAA3rC,UAAA,EACA,MAAA2rC,EAAAvuC,KAAA,WAKAuD,EAAAC,GAAA4gC,GAAA,WACA,OAAA6R,EAAA,IAAA,KAAAlzC,UAGAF,EAAAW,GAAA4gC,GAAA,WAEA,IAAAmK,EAAA0H,EAAA,KAAA,MAEA,OADA1H,EAAA3rC,UAAA,EACA,MAAA2rC,EAAAvuC,KAAA,UAGAtnB,EAAAH,QAAA,CACAsqB,aAAAA,EACAU,cAAAA,EACAC,cAAAA,IuD0nEE,CAAC,qBAAqB,GAAG,sBAAsB,KAAK,GAAG,CAAC,SAASvrB,EAAQS,EAAOH,GtDtpElF,IAAA6rD,EAAAnsD,EAAA,sBAIAg+D,EAHAh+D,EAAA,uBAGA6nB,OAEApnB,EAAAH,QAAA6rD,GAAA,WACA,IAAAmK,EAAA0H,EAAA,IAAA,KACA,QAAA1H,EAAAnrC,QAAAmrC,EAAAvuC,KAAA,OAAA,MAAAuuC,EAAAxuC,WsD0pEE,CAAC,qBAAqB,GAAG,sBAAsB,KAAK,GAAG,CAAC,SAAS9nB,EAAQS,EAAOH,GrDlqElF,IAAA6rD,EAAAnsD,EAAA,sBAIAg+D,EAHAh+D,EAAA,uBAGA6nB,OAEApnB,EAAAH,QAAA6rD,GAAA,WACA,IAAAmK,EAAA0H,EAAA,UAAA,KACA,MAAA,MAAA1H,EAAAvuC,KAAA,KAAA8C,OAAA3qB,GACA,OAAA,IAAA0F,QAAA0wD,EAAA,aqDsqEE,CAAC,qBAAqB,GAAG,sBAAsB,KAAK,GAAG,CAAC,SAASt2D,EAAQS,EAAOH,GpD/qElF,IAAAooD,EAAAplC,UAIA7iB,EAAAH,QAAA,SAAA6tB,GACA,GAAA86B,MAAA96B,EAAA,MAAAu6B,EAAA,wBAAAv6B,GACA,OAAAA,IoDmrEE,IAAI,GAAG,CAAC,SAASnuB,EAAQS,EAAOH,GlDzrElC,IAAAsR,EAAA5R,EAAA,uCAAAF,EACAwoB,EAAAtoB,EAAA,iCAGAuqD,EAFAvqD,EAAA,iCAEA8oD,CAAA,eAEAroD,EAAAH,QAAA,SAAA8T,EAAA8pD,EAAApI,GACA1hD,IAAA0hD,IAAA1hD,EAAAA,EAAA5K,WACA4K,IAAAkU,EAAAlU,EAAAm2C,IACA34C,EAAAwC,EAAAm2C,EAAA,CAAAhnC,cAAA,EAAAhhB,MAAA27D,MkD8rEE,CAAC,gCAAgC,GAAG,sCAAsC,GAAG,iCAAiC,MAAM,GAAG,CAAC,SAASl+D,EAAQS,EAAOH,GjDvsElJ,IAAA+4D,EAAAr5D,EAAA,uBACA6pD,EAAA7pD,EAAA,oBAEA4Z,EAAAy/C,EAAA,QAEA54D,EAAAH,QAAA,SAAAsuB,GACA,OAAAhV,EAAAgV,KAAAhV,EAAAgV,GAAAi7B,EAAAj7B,MiD2sEE,CAAC,sBAAsB,GAAG,mBAAmB,MAAM,GAAG,CAAC,SAAS5uB,EAAQS,EAAOH,GhDjtEjF,IAAAkkB,EAAAxkB,EAAA,uBACA6zD,EAAA7zD,EAAA,uCAEAm+D,EAAA,qBACA9P,EAAA7pC,EAAA25C,IAAAtK,EAAAsK,EAAA,IAEA19D,EAAAH,QAAA+tD,GgDotEE,CAAC,sCAAsC,GAAG,sBAAsB,KAAK,GAAG,CAAC,SAASruD,EAAQS,EAAOH,G/C1tEnG,IAAAyzD,EAAA/zD,EAAA,wBACAquD,EAAAruD,EAAA,8BAEAS,EAAAH,QAAA,SAAAsuB,EAAArsB,GACA,OAAA8rD,EAAAz/B,KAAAy/B,EAAAz/B,QAAAq6B,IAAA1mD,EAAAA,EAAA,MACA,WAAA,IAAApB,KAAA,CACAuB,QAAA,SACA0S,KAAA2+C,EAAA,OAAA,SACAvoC,UAAA,4CACAC,QAAA,2DACAnC,OAAA,yC+C8tEE,CAAC,uBAAuB,GAAG,4BAA4B,KAAK,GAAG,CAAC,SAAStpB,EAAQS,EAAOH,G9CxuE1F,IAAA0rD,EAAAhsD,EAAA,sCACAqsD,EAAArsD,EAAA,uCACAmkB,EAAAnkB,EAAA,0BACAo+D,EAAAp+D,EAAA,yCAEAqT,EAAA24C,EAAA,GAAA34C,QACAqY,EAAAsgC,EAAA,GAAAtgC,YACAinC,EAAA3G,EAAA,GAAAviD,OAEA2mD,EAAA,SAAAiO,GACA,OAAA,SAAA/N,EAAAgO,GACA,IAGAC,EAAAC,EAHAh7C,EAAAW,EAAAi6C,EAAA9N,IACA9qD,EAAA6mD,EAAAiS,GACAz9D,EAAA2iB,EAAAhjB,OAEA,OAAAgF,EAAA,GAAAA,GAAA3E,EAAAw9D,EAAA,QAAApV,GACAsV,EAAA7yC,EAAAlI,EAAAhe,IACA,OAAA+4D,EAAA,OAAA/4D,EAAA,IAAA3E,IACA29D,EAAA9yC,EAAAlI,EAAAhe,EAAA,IAAA,OAAAg5D,EAAA,MACAH,EACAhrD,EAAAmQ,EAAAhe,GACA+4D,EACAF,EACA1L,EAAAnvC,EAAAhe,EAAAA,EAAA,GACAg5D,EAAA,OAAAD,EAAA,OAAA,IAAA,QAIA99D,EAAAH,QAAA,CAGAqrB,OAAAykC,GAAA,GAGA/8C,OAAA+8C,GAAA,K8C4uEE,CAAC,qCAAqC,GAAG,wCAAwC,GAAG,sCAAsC,IAAI,yBAAyB,MAAM,GAAG,CAAC,SAASpwD,EAAQS,EAAOH,GO9wE3L,aAEA,IAAA0rD,EAAAhsD,EAAA,sCAEA6qF,EAAA,WASAC,EAAA,eACAC,EAAA,yBACAC,EAAA,kDAGAtsB,EAAArR,WACAtlC,EAAAikC,EAAA++B,EAAAhjE,MACA/D,EAAAxR,KAAAwR,MACAkI,EAAAxL,OAAAwL,aACAR,EAAAsgC,EAAA,GAAAtgC,YACAnnB,EAAAynD,EAAA,GAAAznD,MACApD,EAAA6qD,EAAA,GAAA7qD,MACAyE,EAAAomD,EAAA,GAAApmD,SACAiN,EAAAm5C,EAAA,GAAAn5C,OACA/P,EAAAkpD,EAAA,GAAAlpD,aAoCAmoF,EAAA,SAAAC,GAGA,OAAAA,EAAA,GAAA,IAAAA,EAAA,KAOAC,EAAA,SAAAC,EAAAC,EAAAC,GACA,IAAA32E,EAAA,EAGA,IAFAy2E,EAAAE,EAAAtnE,EAAAonE,EAlEA,KAkEAA,GAAA,EACAA,GAAApnE,EAAAonE,EAAAC,GACAD,EAAAG,KACAH,EAAApnE,EAAAonE,EA9DAI,IA+DA72E,GA1EA,GA4EA,OAAAqP,EAAArP,EAAA,GAAAy2E,GAAAA,EAzEA,MAgFAzL,EAAA,SAAA30D,GACA,IAAA62B,EAAA,GAGA72B,EAxDA,SAAA6B,GAIA,IAHA,IAAAg1B,EAAA,GACA4pC,EAAA,EACAjrF,EAAAqsB,EAAArsB,OACAirF,EAAAjrF,GAAA,CACA,IAAA+B,EAAAmpB,EAAAmB,EAAA4+D,KACA,GAAAlpF,GAAA,OAAAA,GAAA,OAAAkpF,EAAAjrF,EAAA,CAEA,IAAAkrF,EAAAhgE,EAAAmB,EAAA4+D,KACA,QAAA,MAAAC,GACAvqF,EAAA0gD,IAAA,KAAAt/C,IAAA,KAAA,KAAAmpF,GAAA,QAIAvqF,EAAA0gD,EAAAt/C,GACAkpF,UAGAtqF,EAAA0gD,EAAAt/C,GAGA,OAAAs/C,EAmCA8pC,CAAA3gE,GAGA,IAMAnrB,EAAA+rF,EANAC,EAAA7gE,EAAAxqB,OAGAd,EAvFA,IAwFA0rF,EAAA,EACAU,EA1FA,GA8FA,IAAAjsF,EAAA,EAAAA,EAAAmrB,EAAAxqB,OAAAX,KACA+rF,EAAA5gE,EAAAnrB,IACA,KACAsB,EAAA0gD,EAAA31B,EAAA0/D,IAIA,IAAAG,EAAAlqC,EAAArhD,OACAwrF,EAAAD,EAQA,IALAA,GACA5qF,EAAA0gD,EAxGA,KA4GAmqC,EAAAH,GAAA,CAEA,IAAAp6E,EAAAo5E,EACA,IAAAhrF,EAAA,EAAAA,EAAAmrB,EAAAxqB,OAAAX,KACA+rF,EAAA5gE,EAAAnrB,KACAH,GAAAksF,EAAAn6E,IACAA,EAAAm6E,GAKA,IAAAK,EAAAD,EAAA,EACA,GAAAv6E,EAAA/R,EAAAskB,GAAA6mE,EAAAO,GAAAa,GACA,MAAAvtB,EAAAssB,GAMA,IAHAI,IAAA35E,EAAA/R,GAAAusF,EACAvsF,EAAA+R,EAEA5R,EAAA,EAAAA,EAAAmrB,EAAAxqB,OAAAX,IAAA,CAEA,IADA+rF,EAAA5gE,EAAAnrB,IACAH,KAAA0rF,EAAAP,EACA,MAAAnsB,EAAAssB,GAEA,GAAAY,GAAAlsF,EAAA,CAIA,IAFA,IAAA8tB,EAAA49D,EACAz2E,EA9IA,KA+IA,CACA,IAAAhV,EAAAgV,GAAAm3E,EA/IA,EA+IAn3E,GAAAm3E,EA9IA,GAAA,GA8IAn3E,EAAAm3E,EACA,GAAAt+D,EAAA7tB,EAAA,MACA,IAAAusF,EAAA1+D,EAAA7tB,EACAwsF,EAnJA,GAmJAxsF,EACAwB,EAAA0gD,EAAA31B,EAAA++D,EAAAtrF,EAAAusF,EAAAC,KACA3+D,EAAAxJ,EAAAkoE,EAAAC,GACAx3E,GAtJA,GAyJAxT,EAAA0gD,EAAA31B,EAAA++D,EAAAz9D,KACAs+D,EAAAX,EAAAC,EAAAa,EAAAD,GAAAD,GACAX,EAAA,EACAY,KAIAZ,IACA1rF,IAEA,OAAA6E,EAAAs9C,EAAA,KAGAphD,EAAAH,QAAA,SAAA0qB,GACA,IAEAnrB,EAAAusF,EAFAC,EAAA,GACAC,EAAAz5E,EAAAjN,EAAA9C,EAAAkoB,GAAA+/D,EAAA,KAAA,KAEA,IAAAlrF,EAAA,EAAAA,EAAAysF,EAAA9rF,OAAAX,IACAusF,EAAAE,EAAAzsF,GACAsB,EAAAkrF,EAAAtkE,EAAA+iE,EAAAsB,GAAA,OAAAzM,EAAAyM,GAAAA,GAEA,OAAA7nF,EAAA8nF,EAAA,OPkxEE,CAAC,qCAAqC,KAAK,GAAG,CAAC,SAASrsF,EAAQS,EAAOH,G7Cr8EzE,IAAA+rD,EAAArsD,EAAA,uCAEA6a,EAAArI,KAAAqI,IACAH,EAAAlI,KAAAkI,IAKAja,EAAAH,QAAA,SAAAgb,EAAA9a,GACA,IAAAi+D,EAAApS,EAAA/wC,GACA,OAAAmjD,EAAA,EAAA5jD,EAAA4jD,EAAAj+D,EAAA,GAAAka,EAAA+jD,EAAAj+D,K6Cy8EE,CAAC,sCAAsC,MAAM,IAAI,CAAC,SAASR,EAAQS,EAAOH,G3Cl9E5E,IAAAkwD,EAAAxwD,EAAA,+BACAo+D,EAAAp+D,EAAA,yCAEAS,EAAAH,QAAA,SAAA6tB,GACA,OAAAqiC,EAAA4N,EAAAjwC,M2Cu9EE,CAAC,8BAA8B,GAAG,wCAAwC,KAAK,IAAI,CAAC,SAASnuB,EAAQS,EAAOH,G1C59E9G,IAAAkpB,EAAAxpB,EAAA,2BAIAS,EAAAH,QAAA,SAAAqoD,GACA,IAAAv5B,GAAAu5B,EAEA,OAAAv5B,GAAAA,GAAA,IAAAA,EAAA,EAAA5F,EAAA4F,K0Cg+EE,CAAC,0BAA0B,KAAK,IAAI,CAAC,SAASpvB,EAAQS,EAAOH,GzCv+E/D,IAAA+rD,EAAArsD,EAAA,uCAEA0a,EAAAlI,KAAAkI,IAIAja,EAAAH,QAAA,SAAAqoD,GACA,OAAAA,EAAA,EAAAjuC,EAAA2xC,EAAA1D,GAAA,kBAAA,IyC2+EE,CAAC,sCAAsC,MAAM,IAAI,CAAC,SAAS3oD,EAAQS,EAAOH,GxCl/E5E,IAAA89D,EAAAp+D,EAAA,yCAEA8yD,EAAAnhD,OAIAlR,EAAAH,QAAA,SAAAqoD,GACA,OAAAmK,EAAAsL,EAAAzV,MwCs/EE,CAAC,wCAAwC,KAAK,IAAI,CAAC,SAAS3oD,EAAQS,EAAOH,GrC7/E7E,IAAAC,EAAAP,EAAA,8BACAmpD,EAAAnpD,EAAA,0BACA6+D,EAAA7+D,EAAA,0BACAo3D,EAAAp3D,EAAA,2BACA8+D,EAAA9+D,EAAA,sCACA8oD,EAAA9oD,EAAA,kCAEA0oD,EAAAplC,UACAy7C,EAAAjW,EAAA,eAIAroD,EAAAH,QAAA,SAAA0qB,EAAA6xC,GACA,IAAA1T,EAAAn+B,IAAA6zC,EAAA7zC,GAAA,OAAAA,EACA,IACAlnB,EADAk7D,EAAA5H,EAAApsC,EAAA+zC,GAEA,GAAAC,EAAA,CAGA,QAFA/V,IAAA4T,IAAAA,EAAA,WACA/4D,EAAAvD,EAAAy+D,EAAAh0C,EAAA6xC,IACA1T,EAAArlD,IAAA+6D,EAAA/6D,GAAA,OAAAA,EACA,MAAA4kD,EAAA,2CAGA,YADAO,IAAA4T,IAAAA,EAAA,UACAiC,EAAA9zC,EAAA6xC,KqCigFE,CAAC,6BAA6B,GAAG,0BAA0B,GAAG,yBAAyB,GAAG,yBAAyB,GAAG,qCAAqC,GAAG,iCAAiC,MAAM,IAAI,CAAC,SAAS78D,EAAQS,EAAOH,GpCxhFpO,IAAA2+D,EAAAj/D,EAAA,6BACA6+D,EAAA7+D,EAAA,0BAIAS,EAAAH,QAAA,SAAAqoD,GACA,IAAA/5B,EAAAqwC,EAAAtW,EAAA,UACA,OAAAkW,EAAAjwC,GAAAA,EAAAA,EAAA,KoC4hFE,CAAC,yBAAyB,GAAG,4BAA4B,MAAM,IAAI,CAAC,SAAS5uB,EAAQS,EAAOH,GnCniF9F,IAGA+Z,EAAA,GAEAA,EALAra,EAAA,iCAEA8oD,CAAA,gBAGA,IAEAroD,EAAAH,QAAA,eAAAogB,OAAArG,ImCsiFE,CAAC,iCAAiC,MAAM,IAAI,CAAC,SAASra,EAAQS,EAAOH,GlC7iFvE,IAAAopD,EAAA1pD,EAAA,wBAEA6oD,EAAAnoC,OAEAjgB,EAAAH,QAAA,SAAAqoD,GACA,GAAA,WAAAe,EAAAf,GAAA,MAAArlC,UAAA,6CACA,OAAAulC,EAAAF,KkCijFE,CAAC,uBAAuB,KAAK,IAAI,CAAC,SAAS3oD,EAAQS,EAAOH,GjCvjF5D,IAAAuoD,EAAAnoC,OAEAjgB,EAAAH,QAAA,SAAAqoD,GACA,IACA,OAAAE,EAAAF,GACA,MAAA3/C,GACA,MAAA,YiC4jFE,IAAI,IAAI,CAAC,SAAShJ,EAAQS,EAAOH,G7BlkFnC,IAAA0rD,EAAAhsD,EAAA,sCAEA2I,EAAA,EACAy4D,EAAA5uD,KAAA+X,SACApG,EAAA6nC,EAAA,GAAA7nC,UAEA1jB,EAAAH,QAAA,SAAAsuB,GACA,MAAA,gBAAAq6B,IAAAr6B,EAAA,GAAAA,GAAA,KAAAzK,IAAAxb,EAAAy4D,EAAA,M6BskFE,CAAC,qCAAqC,KAAK,IAAI,CAAC,SAASphE,EAAQS,EAAOH,G5B5kF1E,IAAA+gE,EAAArhE,EAAA,8BAEAS,EAAAH,QAAA+gE,IACAvvD,OAAA8V,MACA,iBAAA9V,OAAA8Z,U4BglFE,CAAC,6BAA6B,KAAK,IAAI,CAAC,SAAS5rB,EAAQS,EAAOH,G3BrlFlE,IAAAmpD,EAAAzpD,EAAA,4BACAmsD,EAAAnsD,EAAA,sBAIAS,EAAAH,QAAAmpD,GAAA0C,GAAA,WAEA,OAGA,IAHAx6C,OAAAC,gBAAA,cAAA,YAAA,CACArP,MAAA,GACAgiB,UAAA,IACA/a,c2BylFE,CAAC,2BAA2B,GAAG,qBAAqB,KAAK,IAAI,CAAC,SAASxJ,EAAQS,EAAOH,GQnmFxF,IAAAooD,EAAAplC,UAEA7iB,EAAAH,QAAA,SAAAisF,EAAAC,GACA,GAAAD,EAAAC,EAAA,MAAA9jC,EAAA,wBACA,OAAA6jC,IRumFE,IAAI,IAAI,CAAC,SAASvsF,EAAQS,EAAOH,G1B3mFnC,IAAAkkB,EAAAxkB,EAAA,uBACAq5D,EAAAr5D,EAAA,uBACAsoB,EAAAtoB,EAAA,iCACA6pD,EAAA7pD,EAAA,oBACAqhE,EAAArhE,EAAA,8BACAs6D,EAAAt6D,EAAA,kCAEAshE,EAAAjI,EAAA,OACAvnD,EAAA0S,EAAA1S,OACAyvD,EAAAzvD,GAAAA,EAAA,IACA0vD,EAAAlH,EAAAxoD,EAAAA,GAAAA,EAAA+Z,eAAAg+B,EAEAppD,EAAAH,QAAA,SAAA+B,GACA,IAAAimB,EAAAg5C,EAAAj/D,KAAAg/D,GAAA,iBAAAC,EAAAj/D,GAAA,CACA,IAAA6rB,EAAA,UAAA7rB,EACAg/D,GAAA/4C,EAAAxW,EAAAzP,GACAi/D,EAAAj/D,GAAAyP,EAAAzP,GAEAi/D,EAAAj/D,GADAi4D,GAAAiH,EACAA,EAAArzC,GAEAszC,EAAAtzC,GAEA,OAAAozC,EAAAj/D,K0B+mFE,CAAC,sBAAsB,GAAG,gCAAgC,GAAG,6BAA6B,GAAG,sBAAsB,GAAG,mBAAmB,IAAI,iCAAiC,MAAM,IAAI,CAAC,SAASrC,EAAQS,EAAOH,GzBroFnN,aACA,IAAA6vD,EAAAnwD,EAAA,kCACAyhE,EAAAzhE,EAAA,mCACAqzD,EAAArzD,EAAA,0BACA8pD,EAAA9pD,EAAA,+BACA4R,EAAA5R,EAAA,uCAAAF,EACA4hE,EAAA1hE,EAAA,gCACA+zD,EAAA/zD,EAAA,wBACAypD,EAAAzpD,EAAA,4BAEA2hE,EAAA,iBACA7U,EAAAhD,EAAA36C,IACA66C,EAAAF,EAAAlhC,UAAA+4C,GAYAlhE,EAAAH,QAAAohE,EAAAn4D,MAAA,SAAA,SAAAq4D,EAAA91C,GACAghC,EAAAxmD,KAAA,CACAP,KAAA47D,EACAvtD,OAAA+7C,EAAAyR,GACAtmD,MAAA,EACAwQ,KAAAA,OAIA,WACA,IAAA1lB,EAAA4jD,EAAA1jD,MACA8N,EAAAhO,EAAAgO,OACA0X,EAAA1lB,EAAA0lB,KACAxQ,EAAAlV,EAAAkV,QACA,OAAAlH,GAAAkH,GAAAlH,EAAA5T,QACA4F,EAAAgO,YAAA60C,EACA,CAAA1mD,WAAA0mD,EAAA97C,MAAA,IAEA,QAAA2e,EAAA,CAAAvpB,MAAA+Y,EAAAnO,MAAA,GACA,UAAA2e,EAAA,CAAAvpB,MAAA6R,EAAAkH,GAAAnO,MAAA,GACA,CAAA5K,MAAA,CAAA+Y,EAAAlH,EAAAkH,IAAAnO,MAAA,KACA,UAKA,IAAA0M,EAAAw5C,EAAAtnC,UAAAsnC,EAAA9pD,MAQA,GALAk4D,EAAA,QACAA,EAAA,UACAA,EAAA,YAGA1N,GAAAtK,GAAA,WAAA5vC,EAAAxX,KAAA,IACAuP,EAAAiI,EAAA,OAAA,CAAAtX,MAAA,WACA,MAAAyG,MyBwoFE,CAAC,kCAAkC,EAAE,+BAA+B,GAAG,2BAA2B,GAAG,8BAA8B,GAAG,uBAAuB,GAAG,yBAAyB,GAAG,sCAAsC,GAAG,iCAAiC,MAAM,IAAI,CAAC,SAAShJ,EAAQS,EAAOH,GxBpsF3S,aACA,IAAA0sB,EAAAhtB,EAAA,uBACA+nB,EAAA/nB,EAAA,4BAIAgtB,EAAA,CAAA5Y,OAAA,SAAAkR,OAAA,EAAAC,OAAA,IAAAwC,OAAAA,GAAA,CACAA,KAAAA,KwBwsFE,CAAC,sBAAsB,GAAG,2BAA2B,KAAK,IAAI,CAAC,SAAS/nB,EAAQS,EAAOH,GS/sFzF,aACA,IAAA+S,EAAArT,EAAA,iCAAAqT,OACA8Q,EAAAnkB,EAAA,0BACA8pD,EAAA9pD,EAAA,+BACA0hE,EAAA1hE,EAAA,gCAEAysF,EAAA,kBACA3/B,EAAAhD,EAAA36C,IACA66C,EAAAF,EAAAlhC,UAAA6jE,GAIA/qB,EAAAhhD,OAAA,UAAA,SAAAkhD,GACA9U,EAAAxmD,KAAA,CACAP,KAAA0mF,EACA5/D,OAAA1I,EAAAy9C,GACAtmD,MAAA,OAIA,WACA,IAGAoxE,EAHAtmF,EAAA4jD,EAAA1jD,MACAumB,EAAAzmB,EAAAymB,OACAvR,EAAAlV,EAAAkV,MAEA,OAAAA,GAAAuR,EAAArsB,OAAA,CAAA+B,WAAA0mD,EAAA97C,MAAA,IACAu/E,EAAAr5E,EAAAwZ,EAAAvR,GACAlV,EAAAkV,OAAAoxE,EAAAlsF,OACA,CAAA+B,MAAAmqF,EAAAv/E,MAAA,QTmtFE,CAAC,+BAA+B,GAAG,8BAA8B,GAAG,gCAAgC,GAAG,yBAAyB,MAAM,IAAI,CAAC,SAASnN,EAAQS,EAAOH,GvB/uFrK,aACA,IAAAwJ,EAAA9J,EAAA,+BACAO,EAAAP,EAAA,8BACAgsD,EAAAhsD,EAAA,sCACA6hE,EAAA7hE,EAAA,mDACAmsD,EAAAnsD,EAAA,sBACAq3D,EAAAr3D,EAAA,0BACAwoD,EAAAxoD,EAAA,4BACAqsD,EAAArsD,EAAA,uCACAssD,EAAAtsD,EAAA,0BACAmkB,EAAAnkB,EAAA,0BACAo+D,EAAAp+D,EAAA,yCACA8hE,EAAA9hE,EAAA,qCACAo3D,EAAAp3D,EAAA,2BACA+hE,EAAA/hE,EAAA,iCACAgiE,EAAAhiE,EAAA,qCAGAiiE,EAFAjiE,EAAA,iCAEA8oD,CAAA,WACAjuC,EAAArI,KAAAqI,IACAH,EAAAlI,KAAAkI,IACAvO,EAAA6/C,EAAA,GAAA7/C,QACAhL,EAAA6qD,EAAA,GAAA7qD,MACA+gE,EAAAlW,EAAA,GAAAjpD,SACA4vD,EAAA3G,EAAA,GAAAviD,OAQA04D,EAEA,OAAA,IAAAv8D,QAAA,IAAA,MAIAw8D,IACA,IAAAH,IACA,KAAA,IAAAA,GAAA,IAAA,MAiBAJ,EAAA,WAAA,SAAA9tD,EAAAwpD,EAAA8E,GACA,IAAAC,EAAAF,EAAA,IAAA,KAEA,MAAA,CAGA,SAAAG,EAAAC,GACA,IAAA7uD,EAAAyqD,EAAA93D,MACAm8D,EAAAxZ,MAAAsZ,OAAAtZ,EAAAmO,EAAAmL,EAAAN,GACA,OAAAQ,EACAliE,EAAAkiE,EAAAF,EAAA5uD,EAAA6uD,GACAjiE,EAAAg9D,EAAAp5C,EAAAxQ,GAAA4uD,EAAAC,IAIA,SAAA31C,EAAA21C,GACA,IAAAE,EAAArL,EAAA/wD,MACAkd,EAAAW,EAAA0I,GAEA,GACA,iBAAA21C,IACA,IAAAN,EAAAM,EAAAF,KACA,IAAAJ,EAAAM,EAAA,MACA,CACA,IAAAG,EAAAN,EAAA9E,EAAAmF,EAAAl/C,EAAAg/C,GACA,GAAAG,EAAAx1D,KAAA,OAAAw1D,EAAApgE,MAGA,IAAAqgE,EAAApa,EAAAga,GACAI,IAAAJ,EAAAr+C,EAAAq+C,IAEA,IAAAh+C,EAAAk+C,EAAAl+C,OACA,GAAAA,EAAA,CACA,IAAAq+C,EAAAH,EAAAt3C,QACAs3C,EAAA/3C,UAAA,EAGA,IADA,IAAAm4C,EAAA,KACA,CACA,IAAAh/D,EAAAk+D,EAAAU,EAAAl/C,GACA,GAAA,OAAA1f,EAAA,MAGA,GADA3C,EAAA2hE,EAAAh/D,IACA0gB,EAAA,MAGA,KADAL,EAAArgB,EAAA,MACA4+D,EAAA/3C,UAAAm3C,EAAAt+C,EAAA8oC,EAAAoW,EAAA/3C,WAAAk4C,IAKA,IAFA,IA/EA10C,EA+EA40C,EAAA,GACAC,EAAA,EACAnjE,EAAA,EAAAA,EAAAijE,EAAAtiE,OAAAX,IAAA,CAWA,IARA,IAAA+3D,EAAAzzC,GAFArgB,EAAAg/D,EAAAjjE,IAEA,IACA2F,EAAAqV,EAAAH,EAAA2xC,EAAAvoD,EAAAwX,OAAAkI,EAAAhjB,QAAA,GACAq3D,EAAA,GAMA1yC,EAAA,EAAAA,EAAArhB,EAAAtD,OAAA2kB,IAAAhkB,EAAA02D,OA3FA5O,KADA96B,EA4FArqB,EAAAqhB,IA3FAgJ,EAAAzN,OAAAyN,IA4FA,IAAA2pC,EAAAh0D,EAAA+mB,OACA,GAAA+3C,EAAA,CACA,IAAAK,EAAA92D,EAAA,CAAAyrD,GAAAC,EAAAryD,EAAAge,QACAylC,IAAA6O,GAAA32D,EAAA8hE,EAAAnL,GACA,IAAAC,EAAA5zC,EAAAra,EAAA04D,OAAAvZ,EAAAga,SAEAlL,EAAAgK,EAAAnK,EAAAp0C,EAAAhe,EAAAqyD,EAAAC,EAAA0K,GAEAh9D,GAAAw9D,IACAD,GAAApQ,EAAAnvC,EAAAw/C,EAAAx9D,GAAAuyD,EACAiL,EAAAx9D,EAAAoyD,EAAAp3D,QAGA,OAAAuiE,EAAApQ,EAAAnvC,EAAAw/C,SAvFA7W,GAAA,WACA,IAAAmK,EAAA,IAOA,OANAA,EAAAvuC,KAAA,WACA,IAAAjkB,EAAA,GAEA,OADAA,EAAA+mB,OAAA,CAAA3qB,EAAA,KACA4D,GAGA,MAAA,GAAA8B,QAAA0wD,EAAA,aAkFA6L,GAAAC,IuBkvFE,CAAC,oCAAoC,EAAE,yBAAyB,EAAE,qBAAqB,GAAG,kDAAkD,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,qCAAqC,GAAG,0BAA0B,GAAG,gCAAgC,GAAG,2BAA2B,GAAG,oCAAoC,GAAG,wCAAwC,GAAG,sCAAsC,IAAI,yBAAyB,IAAI,yBAAyB,IAAI,iCAAiC,MAAM,IAAI,CAAC,SAASpiE,EAAQS,EAAOH,GhBz3FllB,IAAAkkB,EAAAxkB,EAAA,uBACA+jE,EAAA/jE,EAAA,8BACAk1D,EAAAl1D,EAAA,yCACAgkE,EAAAhkE,EAAA,gCACA2pD,EAAA3pD,EAAA,+CACA8oD,EAAA9oD,EAAA,kCAEAqyD,EAAAvJ,EAAA,YACAyB,EAAAzB,EAAA,eACAmb,EAAAD,EAAAnqD,OAEAqqD,EAAA,SAAAC,EAAAC,GACA,GAAAD,EAAA,CAEA,GAAAA,EAAA9R,KAAA4R,EAAA,IACAta,EAAAwa,EAAA9R,EAAA4R,GACA,MAAAj7D,GACAm7D,EAAA9R,GAAA4R,EAKA,GAHAE,EAAA5Z,IACAZ,EAAAwa,EAAA5Z,EAAA6Z,GAEAL,EAAAK,GAAA,IAAA,IAAAC,KAAAL,EAEA,GAAAG,EAAAE,KAAAL,EAAAK,GAAA,IACA1a,EAAAwa,EAAAE,EAAAL,EAAAK,IACA,MAAAr7D,GACAm7D,EAAAE,GAAAL,EAAAK,MAMA,IAAA,IAAAD,KAAAL,EACAG,EAAA1/C,EAAA4/C,IAAA5/C,EAAA4/C,GAAA56D,UAAA46D,GAGAF,EAAAhP,EAAA,iBgB43FE,CAAC,8CAA8C,GAAG,6BAA6B,GAAG,wCAAwC,GAAG,sBAAsB,GAAG,iCAAiC,IAAI,+BAA+B,MAAM,IAAI,CAAC,SAASl1D,EAAQS,EAAOH,GUj6F/P,aAEAN,EAAA,gCACA,IAAAgtB,EAAAhtB,EAAA,uBACAwkB,EAAAxkB,EAAA,uBACAO,EAAAP,EAAA,8BACAgsD,EAAAhsD,EAAA,sCACAypD,EAAAzpD,EAAA,4BACA2sF,EAAA3sF,EAAA,2BACA4pD,EAAA5pD,EAAA,gCACAksD,EAAAlsD,EAAA,iCACA2sD,EAAA3sD,EAAA,kCACAg0D,EAAAh0D,EAAA,4CACA8pD,EAAA9pD,EAAA,+BACAosD,EAAApsD,EAAA,4BACAwoD,EAAAxoD,EAAA,4BACAsoB,EAAAtoB,EAAA,iCACAkS,EAAAlS,EAAA,sCACA0pD,EAAA1pD,EAAA,wBACAq3D,EAAAr3D,EAAA,0BACAmpD,EAAAnpD,EAAA,0BACA4sF,EAAA5sF,EAAA,0BACAiS,EAAAjS,EAAA,8BACAozD,EAAApzD,EAAA,2CACAihE,EAAAjhE,EAAA,6BACAs3D,EAAAt3D,EAAA,oCACA6sF,EAAA7sF,EAAA,0CACA8oD,EAAA9oD,EAAA,kCACA8sF,EAAA9sF,EAAA,2BAEAqyD,EAAAvJ,EAAA,YACAikC,EAAA,kBACAC,EAAAD,0BACAjgC,EAAAhD,EAAA36C,IACA89E,EAAAnjC,EAAAlhC,UAAAmkE,GACAG,EAAApjC,EAAAlhC,UAAAokE,GAEA9kE,EAAAvW,OAAAuW,yBAGAilE,EAAA,SAAA9qF,GACA,IAAAonD,EAAA,OAAAjlC,EAAAniB,GACA,IAAAszD,EAAAztC,EAAA1D,EAAAniB,GACA,OAAAszD,GAAAA,EAAApzD,OAGA6qF,EAAAD,EAAA,SACAE,EAAAF,EAAA,WACAG,EAAAH,EAAA,WACAI,EAAAF,GAAAA,EAAA7jF,UACAgkF,EAAAF,GAAAA,EAAA9jF,UACAqe,EAAArD,EAAAqD,OACAvE,EAAAkB,EAAAlB,UACAmqE,EAAAjpE,EAAAipE,mBACAC,EAAAlpE,EAAAkpE,mBACAr6E,EAAA24C,EAAA,GAAA34C,QACA9O,EAAAynD,EAAA,GAAAznD,MACApD,EAAA6qD,EAAA,GAAA7qD,MACAyE,EAAAomD,EAAA,GAAApmD,SACA0zB,EAAA0yB,EAAA,GAAA1yB,OACApoB,EAAA86C,EAAA,GAAA96C,QACA2B,EAAAm5C,EAAA,GAAAn5C,OACA8/C,EAAA3G,EAAA,GAAAviD,OAEAkkF,GAAA,MACAC,GAAArkF,MAAA,GAEAskF,GAAA,SAAAt/B,GACA,OAAAq/B,GAAAr/B,EAAA,KAAAq/B,GAAAr/B,EAAA,GAAA1mC,EAAA,qBAAA0mC,EAAA,KAAA,QAGAu/B,GAAA,SAAAC,GACA,IACA,OAAAN,EAAAM,GACA,MAAA/kF,GACA,OAAA+kF,IAIAC,GAAA,SAAA7/D,GACA,IAAArqB,EAAA8B,EAAAuoB,EAAAw/D,GAAA,KACAp/B,EAAA,EACA,IACA,OAAAk/B,EAAA3pF,GACA,MAAAkF,GACA,KAAAulD,GACAzqD,EAAA8B,EAAA9B,EAAA+pF,GAAAt/B,KAAAu/B,IAEA,OAAAhqF,IAIA6e,GAAA,eAEAsrE,GAAA,CACA,IAAA,MACA,IAAA,MACA,IAAA,MACA,IAAA,MACA,IAAA,MACA,MAAA,KAGAxrB,GAAA,SAAA1vD,GACA,OAAAk7E,GAAAl7E,IAGAm7E,GAAA,SAAA//D,GACA,OAAAvoB,EAAA8nF,EAAAv/D,GAAAxL,GAAA8/C,KAGA0rB,GAAAn6B,GAAA,SAAAo6B,EAAAtiE,GACAghC,EAAAxmD,KAAA,CACAP,KAAAinF,EACAphE,SAAAq1C,EAAAgsB,EAAAmB,GAAA/oE,SACAyG,KAAAA,MAEA,YAAA,WACA,IAAA1lB,EAAA8mF,EAAA5mF,MACAwlB,EAAA1lB,EAAA0lB,KACAoa,EAAA9/B,EAAAwlB,SAAAnI,OACA4qE,EAAAnoD,EAAA3jC,MAGA,OAFA2jC,EAAA/4B,OACA+4B,EAAA3jC,MAAA,SAAAupB,EAAAuiE,EAAAz/D,IAAA,WAAA9C,EAAAuiE,EAAA9rF,MAAA,CAAA8rF,EAAAz/D,IAAAy/D,EAAA9rF,QACA2jC,KACA,GAEAooD,GAAA,SAAAn1D,GACA7yB,KAAA+e,QAAA,GACA/e,KAAA28C,IAAA,UAEAgG,IAAA9vB,IACAgwB,EAAAhwB,GAAA7yB,KAAAioF,YAAAp1D,GACA7yB,KAAAkoF,WAAA,iBAAAr1D,EAAA,MAAA9lB,EAAA8lB,EAAA,GAAAw5B,EAAAx5B,EAAA,GAAAA,EAAAyzD,EAAAzzD,MAIAm1D,GAAA9kF,UAAA,CACAzD,KAAAgnF,EACA0B,QAAA,SAAAxrC,GACA38C,KAAA28C,IAAAA,EACA38C,KAAA2Y,UAEAsvE,YAAA,SAAA5pF,GACA,IACAinB,EAAAnI,EAAAyiB,EAAAwoD,EAAAC,EAAApwB,EAAAC,EADAhH,EAAAF,EAAA3yD,GAGA,GAAA6yD,EAGA,IADA/zC,GADAmI,EAAAq1C,EAAAt8D,EAAA6yD,IACA/zC,OACAyiB,EAAA3lC,EAAAkjB,EAAAmI,IAAAze,MAAA,CAGA,GADAwhF,GADAD,EAAAztB,EAAA5J,EAAAnxB,EAAA3jC,SACAkhB,MAEA86C,EAAAh+D,EAAAouF,EAAAD,IAAAvhF,OACAqxD,EAAAj+D,EAAAouF,EAAAD,IAAAvhF,OACA5M,EAAAouF,EAAAD,GAAAvhF,KACA,MAAAmW,EAAA,mCACAniB,EAAAmF,KAAA+e,QAAA,CAAAuJ,IAAAg+D,EAAAruB,EAAAh8D,OAAAA,MAAAqqF,EAAApuB,EAAAj8D,cAEA,IAAA,IAAAqsB,KAAAjqB,EAAA2jB,EAAA3jB,EAAAiqB,IACAztB,EAAAmF,KAAA+e,QAAA,CAAAuJ,IAAAA,EAAArsB,MAAAqqF,EAAAjoF,EAAAiqB,OAGA4/D,WAAA,SAAAI,GACA,GAAAA,EAIA,IAHA,IAEAz2D,EAAAk2D,EAFAQ,EAAAh8E,EAAA+7E,EAAA,KACAtzE,EAAA,EAEAA,EAAAuzE,EAAAruF,SACA23B,EAAA02D,EAAAvzE,MACA9a,SACA6tF,EAAAx7E,EAAAslB,EAAA,KACAh3B,EAAAmF,KAAA+e,QAAA,CACAuJ,IAAAo/D,GAAA10D,EAAA+0D,IACA9rF,MAAAyrF,GAAAzpF,EAAA8pF,EAAA,UAMAH,UAAA,WAKA,IAJA,IAGAG,EAHAhpE,EAAA/e,KAAA+e,QACAvhB,EAAA,GACAwX,EAAA,EAEAA,EAAA+J,EAAA7kB,QACA6tF,EAAAhpE,EAAA/J,KACAna,EAAA2C,EAAAoqF,GAAAG,EAAAz/D,KAAA,IAAAs/D,GAAAG,EAAA9rF,QACA,OAAAgC,EAAAT,EAAA,MAEAmb,OAAA,WACA3Y,KAAA+e,QAAA7kB,OAAA,EACA8F,KAAAkoF,WAAAloF,KAAA28C,IAAA2rC,QAEAE,UAAA,WACAxoF,KAAA28C,KAAA38C,KAAA28C,IAAAhkC,WAMA,IAAA8vE,GAAA,WACA3iC,EAAA9lD,KAAA0oF,IACA,IAAA71D,EAAAzvB,UAAAlJ,OAAA,EAAAkJ,UAAA,QAAAu/C,EACA6D,EAAAxmD,KAAA,IAAAgoF,GAAAn1D,KAGA61D,GAAAD,GAAAvlF,UAwIA,GAtIA0iD,EAAA8iC,GAAA,CAGA7T,OAAA,SAAA94E,EAAAE,GACAsqF,EAAAnjF,UAAAlJ,OAAA,GACA,IAAA4F,EAAA6mF,EAAA3mF,MACAnF,EAAAiF,EAAAif,QAAA,CAAAuJ,IAAAg+D,EAAAvqF,GAAAE,MAAAqqF,EAAArqF,KACA6D,EAAA0oF,aAIAG,OAAA,SAAA5sF,GACAwqF,EAAAnjF,UAAAlJ,OAAA,GAKA,IAJA,IAAA4F,EAAA6mF,EAAA3mF,MACA+e,EAAAjf,EAAAif,QACAuJ,EAAAg+D,EAAAvqF,GACAiZ,EAAA,EACAA,EAAA+J,EAAA7kB,QACA6kB,EAAA/J,GAAAsT,MAAAA,EAAA1d,EAAAmU,EAAA/J,EAAA,GACAA,IAEAlV,EAAA0oF,aAIAllF,IAAA,SAAAvH,GACAwqF,EAAAnjF,UAAAlJ,OAAA,GAIA,IAHA,IAAA6kB,EAAA4nE,EAAA3mF,MAAA+e,QACAuJ,EAAAg+D,EAAAvqF,GACAiZ,EAAA,EACAA,EAAA+J,EAAA7kB,OAAA8a,IACA,GAAA+J,EAAA/J,GAAAsT,MAAAA,EAAA,OAAAvJ,EAAA/J,GAAA/Y,MAEA,OAAA,MAIA2sF,OAAA,SAAA7sF,GACAwqF,EAAAnjF,UAAAlJ,OAAA,GAKA,IAJA,IAAA6kB,EAAA4nE,EAAA3mF,MAAA+e,QACAuJ,EAAAg+D,EAAAvqF,GACAyB,EAAA,GACAwX,EAAA,EACAA,EAAA+J,EAAA7kB,OAAA8a,IACA+J,EAAA/J,GAAAsT,MAAAA,GAAAztB,EAAA2C,EAAAuhB,EAAA/J,GAAA/Y,OAEA,OAAAuB,GAIA8O,IAAA,SAAAvQ,GACAwqF,EAAAnjF,UAAAlJ,OAAA,GAIA,IAHA,IAAA6kB,EAAA4nE,EAAA3mF,MAAA+e,QACAuJ,EAAAg+D,EAAAvqF,GACAiZ,EAAA,EACAA,EAAA+J,EAAA7kB,QACA,GAAA6kB,EAAA/J,KAAAsT,MAAAA,EAAA,OAAA,EAEA,OAAA,GAIAzf,IAAA,SAAA9M,EAAAE,GACAsqF,EAAAnjF,UAAAlJ,OAAA,GAQA,IAPA,IAMA6tF,EANAjoF,EAAA6mF,EAAA3mF,MACA+e,EAAAjf,EAAAif,QACA8pE,GAAA,EACAvgE,EAAAg+D,EAAAvqF,GACAy6D,EAAA8vB,EAAArqF,GACA+Y,EAAA,EAEAA,EAAA+J,EAAA7kB,OAAA8a,KACA+yE,EAAAhpE,EAAA/J,IACAsT,MAAAA,IACAugE,EAAAj+E,EAAAmU,EAAA/J,IAAA,IAEA6zE,GAAA,EACAd,EAAA9rF,MAAAu6D,IAIAqyB,GAAAhuF,EAAAkkB,EAAA,CAAAuJ,IAAAA,EAAArsB,MAAAu6D,IACA12D,EAAA0oF,aAIA7iE,KAAA,WACA,IAAA7lB,EAAA6mF,EAAA3mF,MACAwmF,EAAA1mF,EAAAif,SAAA,SAAAnlB,EAAAsT,GACA,OAAAtT,EAAA0uB,IAAApb,EAAAob,IAAA,GAAA,KAEAxoB,EAAA0oF,aAGAnrF,QAAA,SAAAE,GAKA,IAJA,IAGAwqF,EAHAhpE,EAAA4nE,EAAA3mF,MAAA+e,QACAgsC,EAAAn/C,EAAArO,EAAA6F,UAAAlJ,OAAA,EAAAkJ,UAAA,QAAAu/C,GACA3tC,EAAA,EAEAA,EAAA+J,EAAA7kB,QAEA6wD,GADAg9B,EAAAhpE,EAAA/J,MACA/Y,MAAA8rF,EAAAz/D,IAAAtoB,OAIAsT,KAAA,WACA,OAAA,IAAAu0E,GAAA7nF,KAAA,SAGAuT,OAAA,WACA,OAAA,IAAAs0E,GAAA7nF,KAAA,WAGA+e,QAAA,WACA,OAAA,IAAA8oE,GAAA7nF,KAAA,aAEA,CAAAuL,YAAA,IAGA+3C,EAAAolC,GAAA38B,EAAA28B,GAAA3pE,QAAA,CAAAhjB,KAAA,YAIAunD,EAAAolC,GAAA,YAAA,WACA,OAAA/B,EAAA3mF,MAAA4nF,cACA,CAAAr8E,YAAA,IAEA86C,EAAAoiC,GAAAhC,GAEA//D,EAAA,CAAAxI,QAAA,EAAAlO,aAAA,EAAAiP,QAAAonE,GAAA,CACArC,gBAAAyE,MAIApC,GAAAnkC,EAAA8kC,GAAA,CACA,IAAA8B,GAAApjC,EAAAwhC,EAAA56E,KACAy8E,GAAArjC,EAAAwhC,EAAAr+E,KAEAmgF,GAAA,SAAAn2D,GACA,GAAAgwB,EAAAhwB,GAAA,CACA,IACAshD,EADA/yE,EAAAyxB,EAAAzxB,KAEA,GAAAgiD,EAAAhiD,KAAAqlF,EAKA,OAJAtS,EAAAthD,EAAAshD,QAAA,IAAA6S,EAAAn0D,EAAAshD,SAAA,IAAA6S,EACA8B,GAAA3U,EAAA,iBACA4U,GAAA5U,EAAA,eAAA,mDAEAxoE,EAAAknB,EAAA,CACAzxB,KAAA0rD,EAAA,EAAAw5B,EAAAllF,IACA+yE,QAAArnB,EAAA,EAAAqnB,KAGA,OAAAthD,GAWA,GARAqvB,EAAA4kC,IACApgE,EAAA,CAAAxI,QAAA,EAAA3S,YAAA,EAAA8V,gBAAA,EAAApC,QAAA,GAAA,CACAq1D,MAAA,SAAA5vD,GACA,OAAAoiE,EAAApiE,EAAAthB,UAAAlJ,OAAA,EAAA8uF,GAAA5lF,UAAA,IAAA,OAKA8+C,EAAA6kC,GAAA,CACA,IAAAkC,GAAA,SAAAvkE,GAEA,OADAohC,EAAA9lD,KAAAinF,GACA,IAAAF,EAAAriE,EAAAthB,UAAAlJ,OAAA,EAAA8uF,GAAA5lF,UAAA,IAAA,KAGA6jF,EAAAj3E,YAAAi5E,GACAA,GAAA/lF,UAAA+jF,EAEAvgE,EAAA,CAAAxI,QAAA,EAAAlO,aAAA,EAAAqR,gBAAA,EAAApC,QAAA,GAAA,CACAiqE,QAAAD,MAKA9uF,EAAAH,QAAA,CACAgqF,gBAAAyE,GACA9qF,SAAAgpF,IVq6FE,CAAC,2BAA2B,EAAE,yBAAyB,EAAE,0BAA0B,GAAG,uBAAuB,GAAG,2CAA2C,GAAG,0CAA0C,GAAG,+BAA+B,GAAG,gCAAgC,GAAG,2BAA2B,GAAG,sBAAsB,GAAG,qCAAqC,GAAG,6BAA6B,GAAG,qCAAqC,GAAG,4BAA4B,GAAG,mCAAmC,GAAG,sBAAsB,GAAG,gCAAgC,GAAG,8BAA8B,GAAG,2BAA2B,GAAG,yBAAyB,GAAG,0BAA0B,GAAG,6BAA6B,GAAG,iCAAiC,GAAG,yBAAyB,IAAI,yCAAyC,IAAI,iCAAiC,IAAI,+BAA+B,MAAM,IAAI,CAAC,SAASjtF,EAAQS,EAAOH,GW1yGv6BN,EAAA,iDX8yGE,CAAC,+CAA+C,MAAM,IAAI,CAAC,SAASA,EAAQS,EAAOH,GY/yGrF,aAEAN,EAAA,iCACA,IA+DAyvF,EA/DAziE,EAAAhtB,EAAA,uBACAypD,EAAAzpD,EAAA,4BACA2sF,EAAA3sF,EAAA,2BACAwkB,EAAAxkB,EAAA,uBACAkS,EAAAlS,EAAA,sCACAgsD,EAAAhsD,EAAA,sCACA4pD,EAAA5pD,EAAA,gCACA0vF,EAAA1vF,EAAA,yCACAosD,EAAApsD,EAAA,4BACAsoB,EAAAtoB,EAAA,iCACA0c,EAAA1c,EAAA,8BACA2vF,EAAA3vF,EAAA,2BACA0sD,EAAA1sD,EAAA,mCACA2rB,EAAA3rB,EAAA,iCAAA2rB,OACAikE,EAAA5vF,EAAA,yCACA4sF,EAAA5sF,EAAA,0BACA2sD,EAAA3sD,EAAA,kCACA6sF,EAAA7sF,EAAA,0CACA6vF,EAAA7vF,EAAA,gDACA8pD,EAAA9pD,EAAA,+BAEA8sD,EAAAhD,EAAA36C,IACA2gF,EAAAhmC,EAAAlhC,UAAA,OACA0hE,EAAAuF,EAAAvF,gBACAyF,EAAAF,EAAA5rF,SAEA+rF,EAAAxrE,EAAAs9D,IACAx+D,EAAAkB,EAAAlB,UACA+I,EAAA7H,EAAA6H,SACArI,EAAAxR,KAAAwR,MACAo0C,EAAA5lD,KAAA4lD,IACA/kD,EAAA24C,EAAA,GAAA34C,QACA0U,EAAAikC,EAAA,IAAAjkC,MACAxjB,EAAAynD,EAAA,GAAAznD,MACA0rF,EAAAjkC,EAAA,GAAA7nC,UACAs3D,EAAAzvB,EAAA,GAAAyvB,KACAt6E,EAAA6qD,EAAA,GAAA7qD,MACAyE,EAAAomD,EAAA,GAAApmD,SACA0zB,EAAA0yB,EAAA,GAAA1yB,OACAzmB,EAAAm5C,EAAA,GAAAn5C,OACA8/C,EAAA3G,EAAA,GAAAviD,OACA3G,EAAAkpD,EAAA,GAAAlpD,aACA6G,EAAAqiD,EAAA,GAAAriD,SAGAumF,EAAA,iBACAC,EAAA,eACAC,EAAA,eAEAC,EAAA,SAEAC,EAAA,cACAC,EAAA,KACAC,EAAA,OACAC,EAAA,WACAC,EAAA,QACAC,GAAA,cAEAC,GAAA,6BACAC,GAAA,4BACAC,GAAA,uCACAC,GAAA,YAoJAC,GAAA,SAAAllB,GACA,IAAAhoE,EAAAwX,EAAA21E,EAAAC,EAEA,GAAA,iBAAAplB,EAAA,CAEA,IADAhoE,EAAA,GACAwX,EAAA,EAAAA,EAAA,EAAAA,IACA3R,EAAA7F,EAAAgoE,EAAA,KACAA,EAAA9nD,EAAA8nD,EAAA,KACA,OAAAvnE,EAAAT,EAAA,KAEA,GAAA,iBAAAgoE,EAAA,CAGA,IAFAhoE,EAAA,GACAmtF,EAvCA,SAAAE,GAMA,IALA,IAAAC,EAAA,KACA7gE,EAAA,EACA8gE,EAAA,KACAC,EAAA,EACAh2E,EAAA,EACAA,EAAA,EAAAA,IACA,IAAA61E,EAAA71E,IACAg2E,EAAA/gE,IACA6gE,EAAAC,EACA9gE,EAAA+gE,GAEAD,EAAA,KACAC,EAAA,IAEA,OAAAD,IAAAA,EAAA/1E,KACAg2E,GAOA,OAJAA,EAAA/gE,IACA6gE,EAAAC,EACA9gE,EAAA+gE,GAEAF,EAgBAG,CAAAzlB,GACAxwD,EAAA,EAAAA,EAAA,EAAAA,IACA41E,GAAA,IAAAplB,EAAAxwD,KACA41E,IAAAA,GAAA,GACAD,IAAA31E,GACAxX,GAAAwX,EAAA,IAAA,KACA41E,GAAA,IAEAptF,GAAAmsF,EAAAnkB,EAAAxwD,GAAA,IACAA,EAAA,IAAAxX,GAAA,OAGA,MAAA,IAAAA,EAAA,IACA,OAAAgoE,GAGA0lB,GAAA,GACAC,GAAA/0E,EAAA,GAAA80E,GAAA,CACA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,IAEAE,GAAAh1E,EAAA,GAAA+0E,GAAA,CACA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,IAEAE,GAAAj1E,EAAA,GAAAg1E,GAAA,CACA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,IAGAE,GAAA,SAAAlH,EAAAv7E,GACA,IAAA/O,EAAAurB,EAAA++D,EAAA,GACA,OAAAtqF,EAAA,IAAAA,EAAA,MAAAkoB,EAAAnZ,EAAAu7E,GAAAA,EAAAgD,mBAAAhD,IAIAmH,GAAA,CACAC,IAAA,GACApvC,KAAA,KACAqvC,KAAA,GACAC,MAAA,IACAC,GAAA,GACAC,IAAA,KAIAC,GAAA,SAAAtlE,EAAAulE,GACA,IAAA5zB,EACA,OAAA,GAAA3xC,EAAArsB,QAAAunB,EAAAsoE,EAAAh9E,EAAAwZ,EAAA,MACA,MAAA2xC,EAAAnrD,EAAAwZ,EAAA,MAAAulE,GAAA,KAAA5zB,IAIA6zB,GAAA,SAAAxlE,GACA,IAAAylE,EACA,OAAAzlE,EAAArsB,OAAA,GAAA2xF,GAAAx/B,EAAA9lC,EAAA,EAAA,MACA,GAAAA,EAAArsB,QACA,OAAA8xF,EAAAj/E,EAAAwZ,EAAA,KAAA,OAAAylE,GAAA,MAAAA,GAAA,MAAAA,IAKAC,GAAA,SAAAC,GACA,MAAA,MAAAA,GAAA,QAAA1vF,EAAA0vF,IAUAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GAEAC,GAAA,SAAA7wC,EAAA8wC,EAAAvI,GACA,IACAwI,EAAAC,EAAA9J,EADA+J,EAAAtH,EAAA3pC,GAEA,GAAA8wC,EAAA,CAEA,GADAE,EAAA3tF,KAAAwoE,MAAAolB,GACA,MAAA5wE,EAAA2wE,GACA3tF,KAAA6jF,aAAA,SACA,CAGA,QAFAlhC,IAAAuiC,IAAAwI,EAAA,IAAAF,GAAAtI,GAAA,IACAyI,EAAA3tF,KAAAwoE,MAAAolB,EAAA,KAAAF,GACA,MAAA1wE,EAAA2wE,IACA9J,EAAA4F,EAAA,IAAAzF,IACAmE,QAAAnoF,MACAA,KAAA6jF,aAAAA,IAIA2J,GAAAtqF,UAAA,CACAzD,KAAA,MAGA+oE,MAAA,SAAA9jD,EAAAmpE,EAAA3I,GACA,IAOA4I,EAAA1J,EAAA2J,EAAAJ,EAzDAzB,EAkDAvvC,EAAA38C,KACAF,EAAA+tF,GAAA1B,GACAt2D,EAAA,EACA6pB,EAAA,GACAsuC,GAAA,EACAC,GAAA,EACAC,GAAA,EAsBA,IAnBAxpE,EAAA4hE,EAAA5hE,GAEAmpE,IACAlxC,EAAAwxC,OAAA,GACAxxC,EAAAsnC,SAAA,GACAtnC,EAAAy7B,SAAA,GACAz7B,EAAA6oB,KAAA,KACA7oB,EAAAsnB,KAAA,KACAtnB,EAAA5rB,KAAA,GACA4rB,EAAA2rC,MAAA,KACA3rC,EAAAyxC,SAAA,KACAzxC,EAAA0xC,kBAAA,EACA3pE,EAAAplB,EAAAolB,EAAA8lE,GAAA,KAGA9lE,EAAAplB,EAAAolB,EAAA+lE,GAAA,IAEAqD,EAAAzE,EAAA3kE,GAEAmR,GAAAi4D,EAAA5zF,QAAA,CAEA,OADAkqF,EAAA0J,EAAAj4D,GACA/1B,GACA,KAAAqsF,GACA,IAAA/H,IAAA3iE,EAAAsoE,EAAA3F,GAGA,CAAA,GAAAyJ,EAGA,OAAAjE,EAFA9pF,EAAAusF,GACA,SAJA3sC,GAAAljD,EAAA4nF,GACAtkF,EAAAssF,GAKA,MAEA,KAAAA,GACA,GAAAhI,IAAA3iE,EAAAuoE,EAAA5F,IAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GACA1kC,GAAAljD,EAAA4nF,OACA,CAAA,GAAA,KAAAA,EA0BA,CAAA,GAAAyJ,EAKA,OAAAjE,EAJAlqC,EAAA,GACA5/C,EAAAusF,GACAx2D,EAAA,EACA,SA7BA,GAAAg4D,IACAlxC,EAAA2xC,aAAAtsE,EAAAupE,GAAA7rC,IACA,QAAAA,IAAA/C,EAAA4xC,uBAAA,OAAA5xC,EAAAsnB,OACA,QAAAtnB,EAAAwxC,SAAAxxC,EAAA6oB,MACA,OAEA,GADA7oB,EAAAwxC,OAAAzuC,EACAmuC,EAEA,YADAlxC,EAAA2xC,aAAA/C,GAAA5uC,EAAAwxC,SAAAxxC,EAAAsnB,OAAAtnB,EAAAsnB,KAAA,OAGAvkB,EAAA,GACA,QAAA/C,EAAAwxC,OACAruF,EAAAktF,GACArwC,EAAA2xC,aAAApJ,GAAAA,EAAAiJ,QAAAxxC,EAAAwxC,OACAruF,EAAAwsF,GACA3vC,EAAA2xC,YACAxuF,EAAA4sF,GACA,KAAAoB,EAAAj4D,EAAA,IACA/1B,EAAAysF,GACA12D,MAEA8mB,EAAA0xC,kBAAA,EACAxzF,EAAA8hD,EAAA5rB,KAAA,IACAjxB,EAAAutF,IAQA,MAEA,KAAAhB,GACA,IAAAnH,GAAAA,EAAAmJ,kBAAA,KAAAjK,EAAA,OAAAwF,EACA,GAAA1E,EAAAmJ,kBAAA,KAAAjK,EAAA,CACAznC,EAAAwxC,OAAAjJ,EAAAiJ,OACAxxC,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAA2rC,MAAApD,EAAAoD,MACA3rC,EAAAyxC,SAAA,GACAzxC,EAAA0xC,kBAAA,EACAvuF,EAAAytF,GACA,MAEAztF,EAAA,QAAAolF,EAAAiJ,OAAAnB,GAAAR,GACA,SAEA,KAAAF,GACA,GAAA,KAAAlI,GAAA,KAAA0J,EAAAj4D,EAAA,GAGA,CACA/1B,EAAA0sF,GACA,SAJA1sF,EAAA6sF,GACA92D,IAIA,MAEA,KAAA02D,GACA,GAAA,KAAAnI,EAAA,CACAtkF,EAAA8sF,GACA,MAEA9sF,EAAAstF,GACA,SAGA,KAAAZ,GAEA,GADA7vC,EAAAwxC,OAAAjJ,EAAAiJ,OACA/J,GAAA+E,EACAxsC,EAAAsnC,SAAAiB,EAAAjB,SACAtnC,EAAAy7B,SAAA8M,EAAA9M,SACAz7B,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAAsnB,KAAAihB,EAAAjhB,KACAtnB,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAA2rC,MAAApD,EAAAoD,WACA,GAAA,KAAAlE,GAAA,MAAAA,GAAAznC,EAAA2xC,YACAxuF,EAAA2sF,QACA,GAAA,KAAArI,EACAznC,EAAAsnC,SAAAiB,EAAAjB,SACAtnC,EAAAy7B,SAAA8M,EAAA9M,SACAz7B,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAAsnB,KAAAihB,EAAAjhB,KACAtnB,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAA2rC,MAAA,GACAxoF,EAAAwtF,OACA,CAAA,GAAA,KAAAlJ,EASA,CACAznC,EAAAsnC,SAAAiB,EAAAjB,SACAtnC,EAAAy7B,SAAA8M,EAAA9M,SACAz7B,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAAsnB,KAAAihB,EAAAjhB,KACAtnB,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAA5rB,KAAA72B,SACA4F,EAAAstF,GACA,SAhBAzwC,EAAAsnC,SAAAiB,EAAAjB,SACAtnC,EAAAy7B,SAAA8M,EAAA9M,SACAz7B,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAAsnB,KAAAihB,EAAAjhB,KACAtnB,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAA2rC,MAAApD,EAAAoD,MACA3rC,EAAAyxC,SAAA,GACAtuF,EAAAytF,GAUA,MAEA,KAAAd,GACA,IAAA9vC,EAAA2xC,aAAA,KAAAlK,GAAA,MAAAA,EAEA,CAAA,GAAA,KAAAA,EAEA,CACAznC,EAAAsnC,SAAAiB,EAAAjB,SACAtnC,EAAAy7B,SAAA8M,EAAA9M,SACAz7B,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAAsnB,KAAAihB,EAAAjhB,KACAnkE,EAAAstF,GACA,SAPAttF,EAAA8sF,QAFA9sF,EAAA6sF,GAUA,MAEA,KAAAD,GAEA,GADA5sF,EAAA6sF,GACA,KAAAvI,GAAA,KAAAr3E,EAAA2yC,EAAA7pB,EAAA,GAAA,SACAA,IACA,MAEA,KAAA82D,GACA,GAAA,KAAAvI,GAAA,MAAAA,EAAA,CACAtkF,EAAA8sF,GACA,SACA,MAEA,KAAAA,GACA,GAAA,KAAAxI,EAAA,CACA4J,IAAAtuC,EAAA,MAAAA,GACAsuC,GAAA,EACAD,EAAA1E,EAAA3pC,GACA,IAAA,IAAAnmD,EAAA,EAAAA,EAAAw0F,EAAA7zF,OAAAX,IAAA,CACA,IAAAi1F,EAAAT,EAAAx0F,GACA,GAAA,KAAAi1F,GAAAN,EAAA,CAIA,IAAAO,EAAAnD,GAAAkD,EAAAnD,IACA6C,EAAAvxC,EAAAy7B,UAAAqW,EACA9xC,EAAAsnC,UAAAwK,OALAP,GAAA,EAOAxuC,EAAA,QACA,GACA0kC,GAAA+E,GAAA,KAAA/E,GAAA,KAAAA,GAAA,KAAAA,GACA,MAAAA,GAAAznC,EAAA2xC,YACA,CACA,GAAAN,GAAA,IAAAtuC,EAAA,MAteA,oBAueA7pB,GAAAwzD,EAAA3pC,GAAAxlD,OAAA,EACAwlD,EAAA,GACA5/C,EAAA+sF,QACAntC,GAAA0kC,EACA,MAEA,KAAAyI,GACA,KAAAC,GACA,GAAAe,GAAA,QAAAlxC,EAAAwxC,OAAA,CACAruF,EAAAotF,GACA,SACA,GAAA,KAAA9I,GAAA6J,EAOA,CAAA,GACA7J,GAAA+E,GAAA,KAAA/E,GAAA,KAAAA,GAAA,KAAAA,GACA,MAAAA,GAAAznC,EAAA2xC,YACA,CACA,GAAA3xC,EAAA2xC,aAAA,IAAA5uC,EAAA,OAAAmqC,EACA,GAAAgE,GAAA,IAAAnuC,IAAA/C,EAAA4xC,uBAAA,OAAA5xC,EAAAsnB,MAAA,OAEA,GADA0pB,EAAAhxC,EAAA+xC,UAAAhvC,GACA,OAAAiuC,EAGA,GAFAjuC,EAAA,GACA5/C,EAAAqtF,GACAU,EAAA,OACA,SAEA,KAAAzJ,EAAA6J,GAAA,EACA,KAAA7J,IAAA6J,GAAA,GACAvuC,GAAA0kC,MAtBA,CACA,GAAA,IAAA1kC,EAAA,OAAAmqC,EAEA,GADA8D,EAAAhxC,EAAA+xC,UAAAhvC,GACA,OAAAiuC,EAGA,GAFAjuC,EAAA,GACA5/C,EAAAitF,GACAc,GAAAf,GAAA,OAiBA,MAEA,KAAAC,GACA,IAAAtrE,EAAAwoE,EAAA7F,GAEA,CAAA,GACAA,GAAA+E,GAAA,KAAA/E,GAAA,KAAAA,GAAA,KAAAA,GACA,MAAAA,GAAAznC,EAAA2xC,aACAT,EACA,CACA,GAAA,IAAAnuC,EAAA,CACA,IAAAukB,EAAAl+C,EAAA25B,EAAA,IACA,GAAAukB,EAAA,MAAA,OAAA6lB,EACAntC,EAAAsnB,KAAAtnB,EAAA2xC,aAAArqB,IAAAsnB,GAAA5uC,EAAAwxC,QAAA,KAAAlqB,EACAvkB,EAAA,GAEA,GAAAmuC,EAAA,OACA/tF,EAAAqtF,GACA,SACA,OAAArD,EAfApqC,GAAA0kC,EAgBA,MAEA,KAAA4I,GAEA,GADArwC,EAAAwxC,OAAA,OACA,KAAA/J,GAAA,MAAAA,EAAAtkF,EAAAmtF,OACA,CAAA,IAAA/H,GAAA,QAAAA,EAAAiJ,OAyBA,CACAruF,EAAAstF,GACA,SA1BA,GAAAhJ,GAAA+E,EACAxsC,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAA2rC,MAAApD,EAAAoD,WACA,GAAA,KAAAlE,EACAznC,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAA2rC,MAAA,GACAxoF,EAAAwtF,OACA,CAAA,GAAA,KAAAlJ,EAMA,CACA2H,GAAA9tF,EAAAmoD,EAAA0nC,EAAAj4D,GAAA,OACA8mB,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAAgyC,eAEA7uF,EAAAstF,GACA,SAZAzwC,EAAA6oB,KAAA0f,EAAA1f,KACA7oB,EAAA5rB,KAAAq1B,EAAA8+B,EAAAn0D,MACA4rB,EAAA2rC,MAAApD,EAAAoD,MACA3rC,EAAAyxC,SAAA,GACAtuF,EAAAytF,IAaA,MAEA,KAAAN,GACA,GAAA,KAAA7I,GAAA,MAAAA,EAAA,CACAtkF,EAAAotF,GACA,MAEAhI,GAAA,QAAAA,EAAAiJ,SAAApC,GAAA9tF,EAAAmoD,EAAA0nC,EAAAj4D,GAAA,OACAg2D,GAAA3G,EAAAn0D,KAAA,IAAA,GAAAl2B,EAAA8hD,EAAA5rB,KAAAm0D,EAAAn0D,KAAA,IACA4rB,EAAA6oB,KAAA0f,EAAA1f,MAEA1lE,EAAAstF,GACA,SAEA,KAAAF,GACA,GAAA9I,GAAA+E,GAAA,KAAA/E,GAAA,MAAAA,GAAA,KAAAA,GAAA,KAAAA,EAAA,CACA,IAAAyJ,GAAAhC,GAAAnsC,GACA5/C,EAAAstF,QACA,GAAA,IAAA1tC,EAAA,CAEA,GADA/C,EAAA6oB,KAAA,GACAqoB,EAAA,OACA/tF,EAAAqtF,OACA,CAEA,GADAQ,EAAAhxC,EAAA+xC,UAAAhvC,GACA,OAAAiuC,EAEA,GADA,aAAAhxC,EAAA6oB,OAAA7oB,EAAA6oB,KAAA,IACAqoB,EAAA,OACAnuC,EAAA,GACA5/C,EAAAqtF,GACA,SACAztC,GAAA0kC,EACA,MAEA,KAAA+I,GACA,GAAAxwC,EAAA2xC,aAEA,GADAxuF,EAAAstF,GACA,KAAAhJ,GAAA,MAAAA,EAAA,cACA,GAAAyJ,GAAA,KAAAzJ,EAGA,GAAAyJ,GAAA,KAAAzJ,GAGA,GAAAA,GAAA+E,IACArpF,EAAAstF,GACA,KAAAhJ,GAAA,cAJAznC,EAAAyxC,SAAA,GACAtuF,EAAAytF,QAJA5wC,EAAA2rC,MAAA,GACAxoF,EAAAwtF,GAOA,MAEA,KAAAF,GACA,GACAhJ,GAAA+E,GAAA,KAAA/E,GACA,MAAAA,GAAAznC,EAAA2xC,cACAT,IAAA,KAAAzJ,GAAA,KAAAA,GACA,CAkBA,GAlZA,QADA8H,EAAA1vF,EADA0vF,EAmYAxsC,KAjYA,SAAAwsC,GAAA,SAAAA,GAAA,WAAAA,GAkYAvvC,EAAAgyC,cACA,KAAAvK,GAAA,MAAAA,GAAAznC,EAAA2xC,aACAzzF,EAAA8hD,EAAA5rB,KAAA,KAEAk7D,GAAAvsC,GACA,KAAA0kC,GAAA,MAAAA,GAAAznC,EAAA2xC,aACAzzF,EAAA8hD,EAAA5rB,KAAA,KAGA,QAAA4rB,EAAAwxC,SAAAxxC,EAAA5rB,KAAA72B,QAAA2xF,GAAAnsC,KACA/C,EAAA6oB,OAAA7oB,EAAA6oB,KAAA,IACA9lB,EAAA3yC,EAAA2yC,EAAA,GAAA,KAEA7kD,EAAA8hD,EAAA5rB,KAAA2uB,IAEAA,EAAA,GACA,QAAA/C,EAAAwxC,SAAA/J,GAAA+E,GAAA,KAAA/E,GAAA,KAAAA,GACA,KAAAznC,EAAA5rB,KAAA72B,OAAA,GAAA,KAAAyiD,EAAA5rB,KAAA,IACAiC,EAAA2pB,EAAA5rB,MAGA,KAAAqzD,GACAznC,EAAA2rC,MAAA,GACAxoF,EAAAwtF,IACA,KAAAlJ,IACAznC,EAAAyxC,SAAA,GACAtuF,EAAAytF,SAGA7tC,GAAA4rC,GAAAlH,EAAAgH,IACA,MAEA,KAAAiC,GACA,KAAAjJ,GACAznC,EAAA2rC,MAAA,GACAxoF,EAAAwtF,IACA,KAAAlJ,GACAznC,EAAAyxC,SAAA,GACAtuF,EAAAytF,IACAnJ,GAAA+E,IACAxsC,EAAA5rB,KAAA,IAAAu6D,GAAAlH,EAAA8G,KACA,MAEA,KAAAoC,GACAO,GAAA,KAAAzJ,EAGAA,GAAA+E,IACA,KAAA/E,GAAAznC,EAAA2xC,YAAA3xC,EAAA2rC,OAAA,MACA3rC,EAAA2rC,OAAA,KAAAlE,EAAA,MACAkH,GAAAlH,EAAA8G,MALAvuC,EAAAyxC,SAAA,GACAtuF,EAAAytF,IAKA,MAEA,KAAAA,GACAnJ,GAAA+E,IAAAxsC,EAAAyxC,UAAA9C,GAAAlH,EAAA+G,KAIAt1D,MAIA64D,UAAA,SAAAhqE,GACA,IAAAlnB,EAAAswF,EAAA94E,EACA,GAAA,KAAAjI,EAAA2X,EAAA,GAAA,CACA,GAAA,KAAA3X,EAAA2X,EAAAA,EAAAxqB,OAAA,GAAA,OAAA2vF,EAEA,GADArsF,EAznBA,SAAAknB,GACA,IAIAzoB,EAAA/B,EAAA00F,EAAAC,EAAA/lE,EAAAgmE,EAAAC,EAJA/qB,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GACAgrB,EAAA,EACArE,EAAA,KACA90D,EAAA,EAGAuuD,EAAA,WACA,OAAAr3E,EAAA2X,EAAAmR,IAGA,GAAA,KAAAuuD,IAAA,CACA,GAAA,KAAAr3E,EAAA2X,EAAA,GAAA,OACAmR,GAAA,EAEA80D,IADAqE,EAGA,KAAA5K,KAAA,CACA,GAAA,GAAA4K,EAAA,OACA,GAAA,KAAA5K,IAAA,CAQA,IADAnoF,EAAA/B,EAAA,EACAA,EAAA,GAAAunB,EAAA4oE,GAAAjG,MACAnoF,EAAA,GAAAA,EAAA8pB,EAAAq+D,IAAA,IACAvuD,IACA37B,IAEA,GAAA,KAAAkqF,IAAA,CACA,GAAA,GAAAlqF,EAAA,OAEA,GADA27B,GAAA37B,EACA80F,EAAA,EAAA,OAEA,IADAJ,EAAA,EACAxK,KAAA,CAEA,GADAyK,EAAA,KACAD,EAAA,EAAA,CACA,KAAA,KAAAxK,KAAAwK,EAAA,GACA,OADA/4D,IAGA,IAAApU,EAAAwoE,EAAA7F,KAAA,OACA,KAAA3iE,EAAAwoE,EAAA7F,MAAA,CAEA,GADAt7D,EAAA/C,EAAAq+D,IAAA,IACA,OAAAyK,EAAAA,EAAA/lE,MACA,CAAA,GAAA,GAAA+lE,EAAA,OACAA,EAAA,GAAAA,EAAA/lE,EACA,GAAA+lE,EAAA,IAAA,OACAh5D,IAEAmuC,EAAAgrB,GAAA,IAAAhrB,EAAAgrB,GAAAH,EAEA,KADAD,GACA,GAAAA,GAAAI,IAEA,GAAA,GAAAJ,EAAA,OACA,MACA,GAAA,KAAAxK,KAEA,GADAvuD,KACAuuD,IAAA,YACA,GAAAA,IAAA,OACApgB,EAAAgrB,KAAA/yF,MA3CA,CACA,GAAA,OAAA0uF,EAAA,OACA90D,IAEA80D,IADAqE,GA0CA,GAAA,OAAArE,EAGA,IAFAmE,EAAAE,EAAArE,EACAqE,EAAA,EACA,GAAAA,GAAAF,EAAA,GACAC,EAAA/qB,EAAAgrB,GACAhrB,EAAAgrB,KAAAhrB,EAAA2mB,EAAAmE,EAAA,GACA9qB,EAAA2mB,IAAAmE,GAAAC,OAEA,GAAA,GAAAC,EAAA,OACA,OAAAhrB,EAgjBAirB,CAAA5iC,EAAA3nC,EAAA,GAAA,KACAlnB,EAAA,OAAAqsF,EACA7pF,KAAAwlE,KAAAhoE,OAEA,GAAAwC,KAAAsuF,YAQA,CAEA,GADA5pE,EAAA4kE,EAAA5kE,GACAjD,EAAA6oE,GAAA5lE,GAAA,OAAAmlE,EAEA,GADArsF,EAhrBA,SAAAknB,GACA,IACAwqE,EAAAC,EAAAn6E,EAAAo3D,EAAAgjB,EAAAtmE,EAAAumE,EADAnjB,EAAA3/D,EAAAmY,EAAA,KAMA,GAJAwnD,EAAAhyE,QAAA,IAAAgyE,EAAAA,EAAAhyE,OAAA,IACAgyE,EAAAhyE,UAEAg1F,EAAAhjB,EAAAhyE,QACA,EAAA,OAAAwqB,EAEA,IADAyqE,EAAA,GACAn6E,EAAA,EAAAA,EAAAk6E,EAAAl6E,IAAA,CAEA,GAAA,KADAo3D,EAAAF,EAAAl3D,IACA,OAAA0P,EAMA,GALA0qE,EAAA,GACAhjB,EAAAlyE,OAAA,GAAA,KAAA6S,EAAAq/D,EAAA,KACAgjB,EAAA3tE,EAAAyoE,EAAA9d,GAAA,GAAA,EACAA,EAAA/f,EAAA+f,EAAA,GAAAgjB,EAAA,EAAA,IAEA,KAAAhjB,EACAtjD,EAAA,MACA,CACA,IAAArH,EAAA,IAAA2tE,EAAAhF,EAAA,GAAAgF,EAAAjF,EAAAE,GAAAje,GAAA,OAAA1nD,EACAoE,EAAA/C,EAAAqmD,EAAAgjB,GAEAv0F,EAAAs0F,EAAArmE,GAEA,IAAA9T,EAAA,EAAAA,EAAAk6E,EAAAl6E,IAEA,GADA8T,EAAAqmE,EAAAn6E,GACAA,GAAAk6E,EAAA,GACA,GAAApmE,GAAAgpC,EAAA,IAAA,EAAAo9B,GAAA,OAAA,UACA,GAAApmE,EAAA,IAAA,OAAA,KAGA,IADAumE,EAAAla,EAAAga,GACAn6E,EAAA,EAAAA,EAAAm6E,EAAAj1F,OAAA8a,IACAq6E,GAAAF,EAAAn6E,GAAA88C,EAAA,IAAA,EAAA98C,GAEA,OAAAq6E,EA6oBAC,CAAA5qE,GACA,OAAAlnB,EAAA,OAAAqsF,EACA7pF,KAAAwlE,KAAAhoE,MAbA,CACA,GAAAikB,EAAA8oE,GAAA7lE,GAAA,OAAAmlE,EAGA,IAFArsF,EAAA,GACAswF,EAAAzE,EAAA3kE,GACA1P,EAAA,EAAAA,EAAA84E,EAAA5zF,OAAA8a,IACAxX,GAAA8tF,GAAAwC,EAAA94E,GAAAk2E,IAEAlrF,KAAAwlE,KAAAhoE,IAUA+xF,+BAAA,WACA,OAAAvvF,KAAAwlE,MAAAxlE,KAAAquF,kBAAA,QAAAruF,KAAAmuF,QAGAI,oBAAA,WACA,MAAA,IAAAvuF,KAAAikF,UAAA,IAAAjkF,KAAAo4E,UAGAkW,UAAA,WACA,OAAAtsE,EAAAupE,GAAAvrF,KAAAmuF,SAGAQ,YAAA,WACA,IAAA59D,EAAA/wB,KAAA+wB,KACAy+D,EAAAz+D,EAAA72B,QACAs1F,GAAA,QAAAxvF,KAAAmuF,QAAA,GAAAqB,GAAA3D,GAAA96D,EAAA,IAAA,IACAA,EAAA72B,UAIA0tF,UAAA,WACA,IAAAjrC,EAAA38C,KACAmuF,EAAAxxC,EAAAwxC,OACAlK,EAAAtnC,EAAAsnC,SACA7L,EAAAz7B,EAAAy7B,SACA5S,EAAA7oB,EAAA6oB,KACAvB,EAAAtnB,EAAAsnB,KACAlzC,EAAA4rB,EAAA5rB,KACAu3D,EAAA3rC,EAAA2rC,MACA8F,EAAAzxC,EAAAyxC,SACA7yC,EAAA4yC,EAAA,IAYA,OAXA,OAAA3oB,GACAjqB,GAAA,KACAoB,EAAA4xC,wBACAhzC,GAAA0oC,GAAA7L,EAAA,IAAAA,EAAA,IAAA,KAEA78B,GAAAmvC,GAAAllB,GACA,OAAAvB,IAAA1oB,GAAA,IAAA0oB,IACA,QAAAkqB,IAAA5yC,GAAA,MACAA,GAAAoB,EAAA0xC,iBAAAt9D,EAAA,GAAAA,EAAA72B,OAAA,IAAA+D,EAAA8yB,EAAA,KAAA,GACA,OAAAu3D,IAAA/sC,GAAA,IAAA+sC,GACA,OAAA8F,IAAA7yC,GAAA,IAAA6yC,GACA7yC,GAGAk0C,QAAA,SAAA9a,GACA,IAAAgZ,EAAA3tF,KAAAwoE,MAAAmM,GACA,GAAAgZ,EAAA,MAAA3wE,EAAA2wE,GACA3tF,KAAA6jF,aAAAlrE,UAGA+2E,UAAA,WACA,IAAAvB,EAAAnuF,KAAAmuF,OACAlqB,EAAAjkE,KAAAikE,KACA,GAAA,QAAAkqB,EAAA,IACA,OAAA,IAAAwB,GAAAxB,EAAAp9D,KAAA,IAAA6+D,OACA,MAAAltF,GACA,MAAA,OAEA,MAAA,QAAAyrF,GAAAnuF,KAAAsuF,YACAH,EAAA,MAAAzD,GAAA1qF,KAAAwlE,OAAA,OAAAvB,EAAA,IAAAA,EAAA,IADA,QAIA4rB,YAAA,WACA,OAAA7vF,KAAAmuF,OAAA,KAEA2B,YAAA,SAAAnf,GACA3wE,KAAAwoE,MAAA8d,EAAA3V,GAAA,IAAAwb,KAGA4D,YAAA,WACA,OAAA/vF,KAAAikF,UAEA+L,YAAA,SAAA/L,GACA,IAAA6J,EAAAzE,EAAA/C,EAAArC,IACA,IAAAjkF,KAAAuvF,iCAAA,CACAvvF,KAAAikF,SAAA,GACA,IAAA,IAAA1qF,EAAA,EAAAA,EAAAu0F,EAAA5zF,OAAAX,IACAyG,KAAAikF,UAAAqH,GAAAwC,EAAAv0F,GAAA8xF,MAIA4E,YAAA,WACA,OAAAjwF,KAAAo4E,UAEA8X,YAAA,SAAA9X,GACA,IAAA0V,EAAAzE,EAAA/C,EAAAlO,IACA,IAAAp4E,KAAAuvF,iCAAA,CACAvvF,KAAAo4E,SAAA,GACA,IAAA,IAAA7+E,EAAA,EAAAA,EAAAu0F,EAAA5zF,OAAAX,IACAyG,KAAAo4E,UAAAkT,GAAAwC,EAAAv0F,GAAA8xF,MAIA8E,QAAA,WACA,IAAA3qB,EAAAxlE,KAAAwlE,KACAvB,EAAAjkE,KAAAikE,KACA,OAAA,OAAAuB,EAAA,GACA,OAAAvB,EAAAymB,GAAAllB,GACAklB,GAAAllB,GAAA,IAAAvB,GAEAmsB,QAAA,SAAA5qB,GACAxlE,KAAAquF,kBACAruF,KAAAwoE,MAAAhD,EAAAqnB,KAGAwD,YAAA,WACA,IAAA7qB,EAAAxlE,KAAAwlE,KACA,OAAA,OAAAA,EAAA,GAAAklB,GAAAllB,IAEA8qB,YAAA,SAAAC,GACAvwF,KAAAquF,kBACAruF,KAAAwoE,MAAA+nB,EAAAzD,KAGA0D,QAAA,WACA,IAAAvsB,EAAAjkE,KAAAikE,KACA,OAAA,OAAAA,EAAA,GAAAqiB,EAAAriB,IAEAwsB,QAAA,SAAAxsB,GACAjkE,KAAAuvF,mCAEA,KADAtrB,EAAAqiB,EAAAriB,IACAjkE,KAAAikE,KAAA,KACAjkE,KAAAwoE,MAAAvE,EAAA8oB,MAGA2D,YAAA,WACA,IAAA3/D,EAAA/wB,KAAA+wB,KACA,OAAA/wB,KAAAquF,iBAAAt9D,EAAA,GAAAA,EAAA72B,OAAA,IAAA+D,EAAA8yB,EAAA,KAAA,IAEA4/D,YAAA,SAAA7M,GACA9jF,KAAAquF,mBACAruF,KAAA+wB,KAAA,GACA/wB,KAAAwoE,MAAAsb,EAAAqJ,MAGAyD,UAAA,WACA,IAAAtI,EAAAtoF,KAAAsoF,MACA,OAAAA,EAAA,IAAAA,EAAA,IAEAuI,UAAA,SAAAC,GAEA,KADAA,EAAAxK,EAAAwK,IAEA9wF,KAAAsoF,MAAA,MAEA,KAAAv7E,EAAA+jF,EAAA,KAAAA,EAAAzkC,EAAAykC,EAAA,IACA9wF,KAAAsoF,MAAA,GACAtoF,KAAAwoE,MAAAsoB,EAAAxD,KAEAttF,KAAA6jF,aAAAlrE,UAGAo4E,gBAAA,WACA,OAAA/wF,KAAA6jF,aAAAzhE,QAGA4uE,QAAA,WACA,IAAA5C,EAAApuF,KAAAouF,SACA,OAAAA,EAAA,IAAAA,EAAA,IAEA6C,QAAA,SAAA/Z,GAEA,KADAA,EAAAoP,EAAApP,KAKA,KAAAnqE,EAAAmqE,EAAA,KAAAA,EAAA7qB,EAAA6qB,EAAA,IACAl3E,KAAAouF,SAAA,GACApuF,KAAAwoE,MAAA0O,EAAAqW,KALAvtF,KAAAouF,SAAA,MAOAz1E,OAAA,WACA3Y,KAAAsoF,MAAAtoF,KAAA6jF,aAAA+D,aAAA,OAMA,IAAA+H,GAAA,SAAAhzC,GACA,IAAAkO,EAAA/E,EAAA9lD,KAAAkxF,IACAhM,EAAAqB,EAAAnjF,UAAAlJ,OAAA,GAAA,EAAAkJ,UAAA,QAAAu/C,EACA7iD,EAAA0mD,EAAAqE,EAAA,IAAA2iC,GAAA7wC,GAAA,EAAAuoC,IACA/hC,IACA0H,EAAA8pB,KAAA70E,EAAA8nF,YACA/8B,EAAA+kC,OAAA9vF,EAAA4vF,YACA7kC,EAAA8lB,SAAA7wE,EAAA+vF,cACAhlC,EAAAo5B,SAAAnkF,EAAAiwF,cACAllC,EAAAutB,SAAAt4E,EAAAmwF,cACAplC,EAAA2a,KAAA1lE,EAAAqwF,UACAtlC,EAAA0lC,SAAAzwF,EAAAuwF,cACAxlC,EAAAoZ,KAAAnkE,EAAA0wF,UACA3lC,EAAAi5B,SAAAhkF,EAAA4wF,cACA7lC,EAAAimC,OAAAhxF,EAAA8wF,YACA/lC,EAAAg5B,aAAA/jF,EAAAixF,kBACAlmC,EAAAqsB,KAAAp3E,EAAAkxF,YAIAE,GAAAvB,GAAAzsF,UAEAiuF,GAAA,SAAAtuE,EAAAC,GACA,MAAA,CACAxf,IAAA,WACA,OAAAkmF,EAAAxpF,MAAA6iB,MAEAha,IAAAia,GAAA,SAAA7mB,GACA,OAAAutF,EAAAxpF,MAAA8iB,GAAA7mB,IAEAghB,cAAA,EACA1R,YAAA,IAuDA,GAnDA43C,IAGAimC,EAAA8H,GAAA,OAAAC,GAAA,YAAA,YAGA/H,EAAA8H,GAAA,SAAAC,GAAA,cAGA/H,EAAA8H,GAAA,WAAAC,GAAA,cAAA,gBAGA/H,EAAA8H,GAAA,WAAAC,GAAA,cAAA,gBAGA/H,EAAA8H,GAAA,WAAAC,GAAA,cAAA,gBAGA/H,EAAA8H,GAAA,OAAAC,GAAA,UAAA,YAGA/H,EAAA8H,GAAA,WAAAC,GAAA,cAAA,gBAGA/H,EAAA8H,GAAA,OAAAC,GAAA,UAAA,YAGA/H,EAAA8H,GAAA,WAAAC,GAAA,cAAA,gBAGA/H,EAAA8H,GAAA,SAAAC,GAAA,YAAA,cAGA/H,EAAA8H,GAAA,eAAAC,GAAA,oBAGA/H,EAAA8H,GAAA,OAAAC,GAAA,UAAA,aAKA7tC,EAAA4tC,GAAA,UAAA,WACA,OAAA1H,EAAAxpF,MAAA4nF,cACA,CAAAr8E,YAAA,IAIA+3C,EAAA4tC,GAAA,YAAA,WACA,OAAA1H,EAAAxpF,MAAA4nF,cACA,CAAAr8E,YAAA,IAEAm+E,EAAA,CACA,IAAA0H,GAAA1H,EAAA2H,gBACAC,GAAA5H,EAAA6H,gBAGAH,IAAA9tC,EAAAqsC,GAAA,kBAAA/jF,EAAAwlF,GAAA1H,IAGA4H,IAAAhuC,EAAAqsC,GAAA,kBAAA/jF,EAAA0lF,GAAA5H,IAGArjC,EAAAspC,GAAA,OAEAjpE,EAAA,CAAAxI,QAAA,EAAAlO,aAAA,EAAAiP,QAAAonE,EAAA/kE,MAAA6hC,GAAA,CACAq4B,IAAAmU,MZmzGE,CAAC,2BAA2B,EAAE,0BAA0B,EAAE,kCAAkC,GAAG,+BAA+B,GAAG,wCAAwC,GAAG,2BAA2B,GAAG,sBAAsB,GAAG,qCAAqC,GAAG,qCAAqC,GAAG,sBAAsB,GAAG,gCAAgC,GAAG,8BAA8B,GAAG,0BAA0B,GAAG,6BAA6B,GAAG,iCAAiC,GAAG,gCAAgC,GAAG,wCAAwC,GAAG,yBAAyB,IAAI,yCAAyC,IAAI,gCAAgC,IAAI,+CAA+C,MAAM,IAAI,CAAC,SAASj2F,EAAQS,EAAOH,Gal0IjwBN,EAAA,mCbs0IE,CAAC,iCAAiC,MAAM,IAAI,CAAC,SAASA,EAAQS,EAAOH,Gcv0IvE,IAAAZ,EAAAC,EAAAF,EAAAC,EAAA,SAAAC,EAAAF,EAAA4S,EAAApS,GAAA,IAAAT,EAAAC,EAAA,GAAA,EAAA,IAAA,IAAA8N,EAAA,EAAAA,EAAA9N,EAAAe,OAAA+M,IAAA,CAAA,IAAAlN,EAAAZ,EAAA8N,KAAArN,EAAAT,EAAA8N,IAAA9N,EAAA,IAAAY,EAAA,EAAA,EAAAgS,EAAA5S,EAAA8N,OAAA9N,IAAA8N,GAAA,IAAAlN,EAAAJ,EAAA,GAAAC,EAAA,IAAAG,EAAAJ,EAAA,GAAA0R,OAAA+K,OAAAzc,EAAA,IAAA,GAAAC,GAAA,IAAAG,GAAAJ,EAAA,GAAAA,EAAA,IAAA,IAAAR,IAAA8N,IAAArN,EAAA,IAAAG,EAAAJ,EAAA,GAAAR,IAAA8N,KAAArN,EAAA,GAAAG,GAAAb,EAAAG,EAAAmK,MAAA5J,EAAAR,EAAAC,EAAAO,EAAAmS,EAAA,CAAA,GAAA,QAAApS,EAAAkB,KAAA3B,GAAAU,EAAA,GAAAT,EAAA,IAAA,GAAAA,EAAA8N,EAAA,GAAA,EAAA9N,EAAA8N,GAAA/N,IAAAS,EAAAkB,KAAAjB,GAAA,OAAAD,GAAAN,EAAA,IAAAgT,IAAAlT,EAAA,SAAAA,GAAA,IAAA4S,EAAA1S,EAAAiK,IAAAtD,MAAA,OAAA+L,IAAAA,EAAA,IAAAM,IAAAhT,EAAAwP,IAAA7I,KAAA+L,KAAAA,EAAA3S,EAAA4G,KAAA+L,EAAAzI,IAAAnK,KAAA4S,EAAAlD,IAAA1P,EAAA4S,EAAA,SAAA3S,GAAA,IAAA,IAAAC,EAAAF,EAAA4S,EAAA,EAAApS,EAAA,GAAAT,EAAA,GAAA+N,EAAA,CAAA,GAAAlN,EAAA,SAAAX,GAAA,IAAA2S,IAAA3S,IAAAO,EAAAA,EAAA2F,QAAA,uBAAA,MAAA2H,EAAApM,KAAA,EAAAzB,EAAAO,GAAA,IAAAoS,IAAA3S,GAAAO,IAAAsN,EAAApM,KAAA,EAAAzB,EAAAO,GAAAoS,EAAA,GAAA,IAAAA,GAAA,QAAApS,GAAAP,EAAA6N,EAAApM,KAAA,EAAAzB,EAAA,GAAA,IAAA2S,GAAApS,IAAAP,EAAA6N,EAAApM,KAAA,EAAA,GAAA,EAAAlB,GAAAoS,GAAA,KAAApS,IAAAP,GAAA,IAAA2S,KAAA9E,EAAApM,KAAAkR,EAAA,EAAApS,EAAAR,GAAA4S,EAAA,GAAA3S,IAAA6N,EAAApM,KAAAkR,EAAA3S,EAAA,EAAAD,GAAA4S,EAAA,IAAApS,EAAA,IAAAC,EAAA,EAAAA,EAAAR,EAAAc,OAAAN,IAAA,CAAAA,IAAA,IAAAmS,GAAAhS,IAAAA,EAAAH,IAAA,IAAA,IAAAN,EAAA,EAAAA,EAAAF,EAAAQ,GAAAM,OAAAZ,IAAAD,EAAAD,EAAAQ,GAAAN,GAAA,IAAAyS,EAAA,MAAA1S,GAAAU,IAAAkN,EAAA,CAAAA,GAAA8E,EAAA,GAAApS,GAAAN,EAAA,IAAA0S,EAAA,OAAApS,GAAA,MAAAN,GAAA0S,EAAA,EAAApS,EAAA,IAAAA,EAAAN,EAAAM,EAAA,GAAAT,EAAAG,IAAAH,EAAAA,EAAA,GAAAS,GAAAN,EAAA,MAAAA,GAAA,MAAAA,EAAAH,EAAAG,EAAA,MAAAA,GAAAU,IAAAgS,EAAA,GAAAA,IAAA,MAAA1S,GAAA0S,EAAA,EAAA5S,EAAAQ,EAAAA,EAAA,IAAA,MAAAN,IAAA0S,EAAA,GAAA,MAAA3S,EAAAQ,GAAAN,EAAA,KAAAS,IAAA,IAAAgS,IAAA9E,EAAAA,EAAA,IAAA8E,EAAA9E,GAAAA,EAAAA,EAAA,IAAApM,KAAA,EAAA,EAAAkR,GAAAA,EAAA,GAAA,MAAA1S,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAAU,IAAAgS,EAAA,GAAApS,GAAAN,GAAA,IAAA0S,GAAA,QAAApS,IAAAoS,EAAA,EAAA9E,EAAAA,EAAA,IAAA,OAAAlN,IAAAkN,EAAA,CAAA9N,IAAA4S,GAAA3I,UAAA,KAAAlJ,OAAA,EAAA6R,EAAAA,EAAA,SAAA,IAAA5R,EAAAA,EAAAH,QAAAb,EAAA4oB,KAAAyvE,IAAAr4F,Gd00IE,IAAI,IAAI,CAAC,SAASO,EAAQS,EAAOH,GetzInCG,EAAAH,QAAA,CAAAy3F,OARA,CAAAl3F,EAAA,MACA,IAAA8H,EAAA,GACA9I,EAAAgB,EACA,KAAAhB,KACA8I,GAfA,mEAeA,GAAA6J,KAAA+X,SAAA,GAEA,OAAA5hB,GAEAqvF,eAlBA,CAAAvN,EAAAwN,EAAA,KACA,CAAAp3F,EAAAo3F,KACA,IAAAtvF,EAAA,GACA9I,EAAAgB,EACA,KAAAhB,KACA8I,GAAA8hF,EAAAj4E,KAAA+X,SAAAkgE,EAAAjqF,OAAA,GAEA,OAAAmI,Kfw1IE,IAAI,IAAI,CAAC,SAAS3I,EAAQS,EAAOH,GgBj2InC,IAAAZ,EAAA8R,EAAAvR,EAAAN,EAAAE,EAAAD,EAAAJ,EAAAM,EAAA,GAAAL,EAAA,GAAAM,EAAA,oEAAA,SAAAsS,EAAA3S,EAAA8R,GAAA,IAAA,IAAAvR,KAAAuR,EAAA9R,EAAAO,GAAAuR,EAAAvR,GAAA,OAAAP,EAAA,SAAAQ,EAAAR,GAAA,IAAA8R,EAAA9R,EAAAyT,WAAA3B,GAAAA,EAAApK,YAAA1H,GAAA,SAAAW,EAAAmR,EAAAvR,EAAAN,GAAA,IAAAE,EAAAD,EAAAJ,EAAAM,EAAA,GAAA,IAAAN,KAAAS,EAAA,OAAAT,EAAAK,EAAAI,EAAAT,GAAA,OAAAA,EAAAI,EAAAK,EAAAT,GAAAM,EAAAN,GAAAS,EAAAT,GAAA,GAAAkK,UAAAlJ,OAAA,IAAAV,EAAAs5B,SAAA1vB,UAAAlJ,OAAA,EAAAd,EAAAa,KAAAmJ,UAAA,GAAA/J,GAAA,mBAAA6R,GAAA,MAAAA,EAAA0mF,aAAA,IAAA14F,KAAAgS,EAAA0mF,kBAAA,IAAAp4F,EAAAN,KAAAM,EAAAN,GAAAgS,EAAA0mF,aAAA14F,IAAA,OAAA+N,EAAAiE,EAAA1R,EAAAD,EAAAD,EAAA,MAAA,SAAA2N,EAAA7N,EAAAC,EAAAE,EAAAD,EAAAJ,GAAA,IAAAM,EAAA,CAAAiG,KAAArG,EAAAqjB,MAAApjB,EAAAivB,IAAA/uB,EAAAs4F,IAAAv4F,EAAAw4F,IAAA,KAAAC,GAAA,KAAAC,IAAA,EAAAC,IAAA,KAAAC,SAAA,EAAAC,IAAA,KAAAC,IAAA,KAAApiF,iBAAA,EAAAqiF,IAAA,MAAAn5F,IAAAS,EAAAT,GAAA,OAAA,MAAAA,GAAA,MAAAgS,EAAAonF,OAAApnF,EAAAonF,MAAA94F,GAAAA,EAAA,SAAAkD,EAAAtD,GAAA,OAAAA,EAAA05B,SAAA,SAAA7mB,EAAA7S,EAAA8R,GAAAlL,KAAAyc,MAAArjB,EAAA4G,KAAAyzC,QAAAvoC,EAAA,SAAAE,EAAAhS,EAAA8R,GAAA,GAAA,MAAAA,EAAA,OAAA9R,EAAA24F,GAAA3mF,EAAAhS,EAAA24F,GAAA34F,EAAA24F,GAAAD,IAAAr1F,QAAArD,GAAA,GAAA,KAAA,IAAA,IAAAO,EAAAuR,EAAA9R,EAAA04F,IAAA53F,OAAAgR,IAAA,GAAA,OAAAvR,EAAAP,EAAA04F,IAAA5mF,KAAA,MAAAvR,EAAAs4F,IAAA,OAAAt4F,EAAAs4F,IAAA,MAAA,mBAAA74F,EAAAqG,KAAA2L,EAAAhS,GAAA,KAAA,SAAAqU,EAAArU,GAAA,IAAA8R,EAAAvR,EAAA,GAAA,OAAAP,EAAAA,EAAA24F,KAAA,MAAA34F,EAAA+4F,IAAA,CAAA,IAAA/4F,EAAA64F,IAAA74F,EAAA+4F,IAAAjN,KAAA,KAAAh6E,EAAA,EAAAA,EAAA9R,EAAA04F,IAAA53F,OAAAgR,IAAA,GAAA,OAAAvR,EAAAP,EAAA04F,IAAA5mF,KAAA,MAAAvR,EAAAs4F,IAAA,CAAA74F,EAAA64F,IAAA74F,EAAA+4F,IAAAjN,KAAAvrF,EAAAs4F,IAAA,MAAA,OAAAxkF,EAAArU,IAAA,SAAAiV,EAAAjV,KAAAA,EAAA84F,MAAA94F,EAAA84F,KAAA,IAAA34F,EAAAsB,KAAAzB,KAAA4S,EAAAumF,OAAAj5F,IAAA4R,EAAAsnF,sBAAAl5F,EAAA4R,EAAAsnF,oBAAA72F,YAAAqQ,GAAA,SAAAA,IAAA,IAAA,IAAA5S,EAAA4S,EAAAumF,IAAAh5F,EAAAW,QAAAd,EAAAG,EAAAosB,MAAA,SAAAvsB,EAAA8R,GAAA,OAAA9R,EAAAi5F,IAAAL,IAAA9mF,EAAAmnF,IAAAL,OAAAz4F,EAAA,GAAAH,EAAAkkB,MAAA,SAAAlkB,GAAA,IAAA8R,EAAAvR,EAAAN,EAAAE,EAAAD,EAAAJ,EAAAE,EAAA84F,MAAA54F,GAAAC,GAAA2R,EAAA9R,GAAAi5F,KAAAJ,KAAA/4F,EAAAgS,EAAAunF,OAAA94F,EAAA,IAAAN,EAAA0S,EAAA,GAAAxS,IAAA84F,IAAA94F,EAAA84F,IAAA,EAAA79E,EAAAtb,EAAAK,EAAAF,EAAA6R,EAAAwnF,SAAA,IAAAx5F,EAAAy5F,gBAAA,MAAAp5F,EAAA64F,IAAA,CAAA94F,GAAA,KAAAK,EAAA,MAAAL,EAAA8R,EAAA7R,GAAAD,EAAAC,EAAA64F,KAAAhkF,EAAAzU,EAAAJ,GAAAA,EAAA04F,KAAA34F,GAAAmU,EAAAlU,QAAA,SAAA2T,EAAA9T,EAAA8R,EAAAvR,EAAAN,EAAAE,EAAAD,EAAAJ,EAAAO,EAAAsS,EAAAnS,GAAA,IAAAG,EAAAkS,EAAAwB,EAAAY,EAAArC,EAAAkB,EAAA/B,EAAAuT,EAAArlB,GAAAA,EAAAy4F,KAAA34F,EAAAslB,EAAAC,EAAAxkB,OAAA,IAAAP,EAAAm4F,IAAA,GAAA/3F,EAAA,EAAAA,EAAAmR,EAAAhR,OAAAH,IAAA,GAAA,OAAAsU,EAAA1U,EAAAm4F,IAAA/3F,GAAA,OAAAsU,EAAAnD,EAAAnR,KAAA,kBAAAsU,EAAA,KAAA,iBAAAA,GAAA,iBAAAA,GAAA,iBAAAA,EAAApH,EAAA,KAAAoH,EAAA,KAAA,KAAAA,GAAApL,MAAAuF,QAAA6F,GAAApH,EAAAvK,EAAA,CAAAo2B,SAAAzkB,GAAA,KAAA,KAAA,MAAAA,EAAA2jF,IAAA,EAAA/qF,EAAAoH,EAAA5O,KAAA4O,EAAAoO,MAAApO,EAAAia,IAAA,KAAAja,EAAAgkF,KAAAhkF,GAAA,CAAA,GAAAA,EAAA0jF,GAAAp4F,EAAA0U,EAAA2jF,IAAAr4F,EAAAq4F,IAAA,EAAA,QAAAvkF,EAAAiR,EAAA3kB,KAAA0T,GAAAY,EAAAia,KAAA7a,EAAA6a,KAAAja,EAAA5O,OAAAgO,EAAAhO,KAAAif,EAAA3kB,QAAA,OAAA,IAAAkS,EAAA,EAAAA,EAAAwS,EAAAxS,IAAA,CAAA,IAAAwB,EAAAiR,EAAAzS,KAAAoC,EAAAia,KAAA7a,EAAA6a,KAAAja,EAAA5O,OAAAgO,EAAAhO,KAAA,CAAAif,EAAAzS,QAAA,EAAA,MAAAwB,EAAA,KAAA+G,EAAApb,EAAAiV,EAAAZ,EAAAA,GAAAjU,EAAAD,EAAAD,EAAAJ,EAAAO,EAAAsS,EAAAnS,GAAAoS,EAAAqC,EAAA4jF,KAAAhmF,EAAAoC,EAAAwjF,MAAApkF,EAAAokF,KAAA5lF,IAAAd,IAAAA,EAAA,IAAAsC,EAAAokF,KAAA1mF,EAAAtQ,KAAA4S,EAAAokF,IAAA,KAAAxjF,GAAAlD,EAAAtQ,KAAAoR,EAAAoC,EAAA8jF,KAAAnmF,EAAAqC,IAAA,MAAArC,GAAA,MAAAkB,IAAAA,EAAAlB,GAAA,mBAAAqC,EAAA5O,MAAA4O,EAAAyjF,MAAArkF,EAAAqkF,IAAAzjF,EAAA6jF,IAAAnmF,EAAAkB,EAAAoB,EAAAtC,EAAA3S,GAAA2S,EAAA/E,EAAA5N,EAAAiV,EAAAZ,EAAAiR,EAAA1S,EAAAD,GAAA,mBAAApS,EAAA8F,OAAA9F,EAAAu4F,IAAAnmF,IAAAA,GAAA0B,EAAAwkF,KAAAlmF,GAAAA,EAAAc,YAAAzT,IAAA2S,EAAAX,EAAAqC,IAAA,IAAA9T,EAAAs4F,IAAA/kF,EAAAnT,EAAA0kB,EAAA1kB,KAAA,MAAA2kB,EAAA3kB,KAAA,mBAAAJ,EAAA8F,MAAA,MAAAif,EAAA3kB,GAAAk4F,KAAAvzE,EAAA3kB,GAAAk4F,KAAAt4F,EAAAu4F,MAAAv4F,EAAAu4F,IAAA9mF,EAAA/R,EAAAU,EAAA,IAAA+kB,EAAAJ,EAAA3kB,GAAA2kB,EAAA3kB,KAAA,GAAAoR,EAAA,IAAApR,EAAA,EAAAA,EAAAoR,EAAAjR,OAAAH,IAAA0a,EAAAtJ,EAAApR,GAAAoR,IAAApR,GAAAoR,IAAApR,IAAA,SAAAkT,EAAA7T,EAAA8R,EAAAvR,GAAA,IAAA,IAAAN,EAAAE,EAAAH,EAAA04F,IAAAx4F,EAAA,EAAAC,GAAAD,EAAAC,EAAAW,OAAAZ,KAAAD,EAAAE,EAAAD,MAAAD,EAAA04F,GAAA34F,EAAA8R,EAAA,mBAAA7R,EAAAoG,KAAAwN,EAAA5T,EAAA6R,EAAAvR,GAAAqN,EAAArN,EAAAN,EAAAA,EAAAE,EAAAF,EAAA44F,IAAA/mF,IAAA,OAAAA,EAAA,SAAAlE,EAAA5N,EAAA8R,EAAAvR,EAAAN,EAAAE,EAAAD,GAAA,IAAAJ,EAAAM,EAAAL,EAAA,QAAA,IAAA+R,EAAAgnF,IAAAh5F,EAAAgS,EAAAgnF,IAAAhnF,EAAAgnF,SAAA,OAAA,GAAA,MAAAv4F,GAAAJ,GAAAD,GAAA,MAAAC,EAAAsT,WAAAzT,EAAA,GAAA,MAAAE,GAAAA,EAAAuT,aAAAzT,EAAAA,EAAA+G,YAAA5G,GAAAL,EAAA,SAAA,CAAA,IAAAM,EAAAF,EAAAH,EAAA,GAAAK,EAAAA,EAAAo5F,cAAAz5F,EAAAE,EAAAa,OAAAf,GAAA,EAAA,GAAAK,GAAAD,EAAA,MAAAH,EAAAA,EAAAiI,aAAA9H,EAAAD,GAAAJ,EAAAI,EAAA,YAAA,IAAAJ,EAAAA,EAAAK,EAAAq5F,YAAA,SAAAl0E,EAAAtlB,EAAA8R,EAAAvR,GAAA,MAAAuR,EAAA,GAAA9R,EAAA+F,YAAA+L,EAAAvR,GAAAP,EAAA8R,GAAA,MAAAvR,EAAA,GAAA,iBAAAA,GAAAF,EAAAsa,KAAA7I,GAAAvR,EAAAA,EAAA,KAAA,SAAA8kB,EAAArlB,EAAA8R,EAAAvR,EAAAN,EAAAE,GAAA,IAAAD,EAAAF,EAAA,GAAA,UAAA8R,EAAA,GAAA,iBAAAvR,EAAAP,EAAAsF,MAAAa,QAAA5F,MAAA,CAAA,GAAA,iBAAAN,IAAAD,EAAAsF,MAAAa,QAAAlG,EAAA,IAAAA,EAAA,IAAA6R,KAAA7R,EAAAM,GAAAuR,KAAAvR,GAAA+kB,EAAAtlB,EAAAsF,MAAAwM,EAAA,IAAA,GAAAvR,EAAA,IAAAuR,KAAAvR,EAAAN,GAAAM,EAAAuR,KAAA7R,EAAA6R,IAAAwT,EAAAtlB,EAAAsF,MAAAwM,EAAAvR,EAAAuR,SAAA,GAAA,MAAAA,EAAA,IAAA,MAAAA,EAAA,GAAA5R,EAAA4R,KAAAA,EAAAA,EAAA5L,QAAA,WAAA,KAAA4L,EAAAA,EAAA1O,gBAAApD,EAAA8R,EAAA1O,cAAA2G,MAAA,GAAA+H,EAAA/H,MAAA,GAAA/J,EAAA8R,IAAA9R,EAAA8R,EAAA,IAAA9R,EAAA8R,EAAAA,EAAA5R,GAAAK,EAAAA,EAAAN,GAAAD,EAAAuH,iBAAAuK,EAAA5R,EAAAgtB,EAAAI,EAAAptB,GAAAF,EAAAwJ,oBAAAsI,EAAA5R,EAAAgtB,EAAAI,EAAAptB,QAAA,GAAA,4BAAA4R,EAAA,CAAA,GAAA3R,EAAA2R,EAAAA,EAAA5L,QAAA,cAAA,KAAAA,QAAA,SAAA,UAAA,GAAA,SAAA4L,GAAA,SAAAA,GAAA,SAAAA,GAAA,aAAAA,GAAA,aAAAA,GAAAA,KAAA9R,EAAA,IAAAA,EAAA8R,GAAA,MAAAvR,EAAA,GAAAA,EAAA,MAAAP,EAAA,MAAAA,IAAA,mBAAAO,IAAA,MAAAA,KAAA,IAAAA,GAAA,MAAAuR,EAAA,IAAA,MAAAA,EAAA,IAAA9R,EAAAsG,aAAAwL,EAAAvR,GAAAP,EAAA2xB,gBAAA7f,KAAA,SAAAwb,EAAAttB,GAAA4G,KAAAkL,EAAA9R,EAAAqG,MAAA,GAAAyL,EAAAuL,MAAAvL,EAAAuL,MAAArd,GAAAA,GAAA,SAAAktB,EAAAltB,GAAA4G,KAAAkL,EAAA9R,EAAAqG,MAAA,GAAAyL,EAAAuL,MAAAvL,EAAAuL,MAAArd,GAAAA,GAAA,SAAAob,EAAApb,EAAAO,EAAAN,EAAAE,EAAAD,EAAAJ,EAAAM,EAAAL,EAAAM,GAAA,IAAAG,EAAAG,EAAAkN,EAAAmE,EAAAqC,EAAAY,EAAArC,EAAAiB,EAAAjG,EAAAmE,EAAAuT,EAAAD,EAAAiI,EAAAJ,EAAA3sB,EAAA8F,KAAA,QAAA,IAAA9F,EAAAqW,YAAA,OAAA,KAAA,MAAA3W,EAAA+4F,MAAA34F,EAAAJ,EAAA+4F,IAAAj5F,EAAAQ,EAAAs4F,IAAA54F,EAAA44F,IAAAt4F,EAAAy4F,IAAA,KAAAl5F,EAAA,CAAAC,KAAAS,EAAAsR,EAAA8mF,MAAAp4F,EAAAD,GAAA,IAAAP,EAAA,GAAA,mBAAAktB,EAAA,CAAA,GAAArZ,EAAAtT,EAAA8iB,MAAAzV,GAAApN,EAAA0sB,EAAAusE,cAAAt5F,EAAAK,EAAAu4F,KAAAhnF,EAAAvR,EAAAoN,EAAAA,EAAAyV,MAAAxgB,MAAArC,EAAAm4F,GAAAx4F,EAAAF,EAAA84F,IAAAnmF,GAAAjS,EAAAJ,EAAAw4F,IAAA94F,EAAA84F,KAAAJ,GAAAh4F,EAAA+4F,KAAA,cAAAxsE,GAAAA,EAAApjB,UAAAyqB,OAAAh0B,EAAAw4F,IAAAp4F,EAAA,IAAAusB,EAAArZ,EAAA9B,IAAAxR,EAAAw4F,IAAAp4F,EAAA,IAAAkS,EAAAgB,EAAA9B,GAAApR,EAAAiW,YAAAsW,EAAAvsB,EAAA4zB,OAAAhZ,GAAA3N,GAAAA,EAAA+rF,IAAAh5F,GAAAA,EAAA0iB,MAAAxP,EAAAlT,EAAA+F,QAAA/F,EAAA+F,MAAA,IAAA/F,EAAA05C,QAAAtoC,EAAApR,EAAA24F,IAAAn5F,EAAA0N,EAAAlN,EAAAm4F,KAAA,EAAAn4F,EAAAq4F,IAAA,IAAA,MAAAr4F,EAAAi5F,MAAAj5F,EAAAi5F,IAAAj5F,EAAA+F,OAAA,MAAAwmB,EAAA2sE,2BAAAl5F,EAAAi5F,KAAAj5F,EAAA+F,QAAA/F,EAAAi5F,IAAAjnF,EAAA,GAAAhS,EAAAi5F,MAAAjnF,EAAAhS,EAAAi5F,IAAA1sE,EAAA2sE,yBAAAhmF,EAAAlT,EAAAi5F,OAAA5nF,EAAArR,EAAA0iB,MAAAhP,EAAA1T,EAAA+F,MAAAmH,EAAA,MAAAqf,EAAA2sE,0BAAA,MAAAl5F,EAAAm5F,oBAAAn5F,EAAAm5F,qBAAA,MAAAn5F,EAAAo5F,mBAAAp5F,EAAAq4F,IAAAv3F,KAAAd,EAAAo5F,uBAAA,CAAA,GAAA,MAAA7sE,EAAA2sE,0BAAAhmF,IAAA7B,GAAA,MAAArR,EAAAq5F,2BAAAr5F,EAAAq5F,0BAAAnmF,EAAA9B,IAAApR,EAAAk4F,KAAA,MAAAl4F,EAAAs5F,wBAAA,IAAAt5F,EAAAs5F,sBAAApmF,EAAAlT,EAAAi5F,IAAA7nF,IAAAxR,EAAA04F,MAAAh5F,EAAAg5F,IAAA,CAAAt4F,EAAA0iB,MAAAxP,EAAAlT,EAAA+F,MAAA/F,EAAAi5F,IAAAr5F,EAAA04F,MAAAh5F,EAAAg5F,MAAAt4F,EAAAm4F,KAAA,GAAAn4F,EAAAs4F,IAAA14F,EAAAA,EAAAs4F,IAAA54F,EAAA44F,IAAAt4F,EAAAm4F,IAAAz4F,EAAAy4F,IAAAn4F,EAAAm4F,IAAAz0F,SAAA,SAAAjE,GAAAA,IAAAA,EAAA24F,GAAAp4F,MAAAI,EAAAq4F,IAAAl4F,QAAAV,EAAAqB,KAAAd,GAAA,MAAAX,EAAA,MAAAW,EAAAu5F,qBAAAv5F,EAAAu5F,oBAAArmF,EAAAlT,EAAAi5F,IAAA7nF,GAAA,MAAApR,EAAAw5F,oBAAAx5F,EAAAq4F,IAAAv3F,MAAA,WAAAd,EAAAw5F,mBAAAnoF,EAAAqC,EAAAY,MAAA,GAAAtU,EAAA05C,QAAAtoC,EAAApR,EAAA0iB,MAAAxP,EAAAlT,EAAAs4F,IAAA14F,EAAAI,EAAA04F,IAAAr5F,EAAAslB,EAAAxT,EAAAqnF,IAAA9zE,EAAA,EAAA,cAAA6H,GAAAA,EAAApjB,UAAAyqB,OAAA5zB,EAAA+F,MAAA/F,EAAAi5F,IAAAj5F,EAAAm4F,KAAA,EAAAxzE,GAAAA,EAAA/kB,GAAAC,EAAAG,EAAA4zB,OAAA5zB,EAAA0iB,MAAA1iB,EAAA+F,MAAA/F,EAAA05C,cAAA,GAAA15C,EAAAm4F,KAAA,EAAAxzE,GAAAA,EAAA/kB,GAAAC,EAAAG,EAAA4zB,OAAA5zB,EAAA0iB,MAAA1iB,EAAA+F,MAAA/F,EAAA05C,SAAA15C,EAAA+F,MAAA/F,EAAAi5F,UAAAj5F,EAAAm4F,OAAAzzE,EAAA,IAAA1kB,EAAA+F,MAAA/F,EAAAi5F,IAAA,MAAAj5F,EAAAy5F,kBAAAj6F,EAAAwS,EAAAA,EAAA,GAAAxS,GAAAQ,EAAAy5F,oBAAAvsF,GAAA,MAAAlN,EAAA05F,0BAAAplF,EAAAtU,EAAA05F,wBAAAroF,EAAAqC,IAAAiZ,EAAA,MAAA9sB,GAAAA,EAAA6F,OAAA/C,GAAA,MAAA9C,EAAA0uB,IAAA1uB,EAAA6iB,MAAAqW,SAAAl5B,EAAAsT,EAAA9T,EAAA6J,MAAAuF,QAAAke,GAAAA,EAAA,CAAAA,GAAA/sB,EAAAN,EAAAE,EAAAD,EAAAJ,EAAAM,EAAAL,EAAAM,GAAAM,EAAAmrF,KAAAvrF,EAAAs4F,IAAAt4F,EAAAy4F,IAAA,KAAAr4F,EAAAq4F,IAAAl4F,QAAAV,EAAAqB,KAAAd,GAAAiS,IAAAjS,EAAA+4F,IAAA/4F,EAAAg4F,GAAA,MAAAh4F,EAAAk4F,KAAA,OAAA,MAAA/4F,GAAAS,EAAA04F,MAAAh5F,EAAAg5F,KAAA14F,EAAAm4F,IAAAz4F,EAAAy4F,IAAAn4F,EAAAs4F,IAAA54F,EAAA44F,KAAAt4F,EAAAs4F,IAAApzE,EAAAxlB,EAAA44F,IAAAt4F,EAAAN,EAAAE,EAAAD,EAAAJ,EAAAM,EAAAC,IAAAG,EAAAsR,EAAAwoF,SAAA95F,EAAAD,GAAA,MAAAP,GAAAO,EAAA04F,IAAA,MAAA54F,GAAA,MAAAP,KAAAS,EAAAs4F,IAAA94F,EAAAQ,EAAAy4F,MAAA34F,EAAAP,EAAAA,EAAAuD,QAAAtD,IAAA,MAAA+R,EAAA+mF,IAAA74F,EAAAO,EAAAN,IAAA,SAAA+U,EAAAhV,EAAAO,GAAAuR,EAAAinF,KAAAjnF,EAAAinF,IAAAx4F,EAAAP,GAAAA,EAAAkkB,MAAA,SAAA3jB,GAAA,IAAAP,EAAAO,EAAAy4F,IAAAz4F,EAAAy4F,IAAA,GAAAh5F,EAAAkkB,MAAA,SAAAlkB,GAAAA,EAAAa,KAAAN,MAAA,MAAAP,GAAA8R,EAAA+mF,IAAA74F,EAAAO,EAAA04F,SAAA,SAAAxzE,EAAA3T,EAAAvR,EAAAN,EAAAE,EAAAD,EAAAJ,EAAAC,EAAAM,GAAA,IAAAsS,EAAAhS,EAAAkN,EAAAvK,EAAArD,EAAAojB,MAAAxQ,EAAAtS,EAAA8iB,MAAAhP,EAAA9T,EAAA8F,KAAA4O,EAAA,EAAA,GAAA,QAAAZ,IAAAnU,GAAA,GAAA,MAAAJ,EAAA,KAAAmV,EAAAnV,EAAAgB,OAAAmU,IAAA,IAAAtC,EAAA7S,EAAAmV,KAAA,iBAAAtC,KAAA0B,IAAAA,EAAA1B,EAAA4nF,YAAAlmF,EAAA,IAAA1B,EAAAnD,UAAA,CAAAsC,EAAAa,EAAA7S,EAAAmV,GAAA,KAAA,MAAA,GAAA,MAAAnD,EAAA,CAAA,GAAA,OAAAuC,EAAA,OAAA7Q,SAAAg3F,eAAA3nF,GAAAf,EAAA5R,EAAAsD,SAAA4rB,gBAAA,6BAAA/a,GAAA7Q,SAAAC,cAAA4Q,EAAAxB,EAAA4nF,IAAA5nF,GAAA/S,EAAA,KAAAO,GAAA,EAAA,GAAA,OAAAgU,EAAA/Q,IAAAuP,GAAAxS,GAAAyR,EAAAhL,OAAA+L,IAAAf,EAAAhL,KAAA+L,OAAA,CAAA,GAAA/S,EAAAA,GAAAE,EAAAa,KAAAiR,EAAApI,YAAA/I,GAAA2C,EAAArD,EAAAojB,OAAAjjB,GAAAs6F,wBAAA7sF,EAAAgF,EAAA6nF,yBAAAr6F,EAAA,CAAA,GAAA,MAAAP,EAAA,IAAAwD,EAAA,GAAA2R,EAAA,EAAAA,EAAAnD,EAAAq9E,WAAAruF,OAAAmU,IAAA3R,EAAAwO,EAAAq9E,WAAAl6E,GAAAtS,MAAAmP,EAAAq9E,WAAAl6E,GAAApS,OAAAgL,GAAAlN,KAAAkN,IAAAlN,GAAAkN,EAAA8sF,QAAAh6F,EAAAg6F,QAAA9sF,EAAA8sF,SAAA7oF,EAAAlO,aAAAkO,EAAAlO,UAAAiK,GAAAA,EAAA8sF,QAAA,KAAA,GAAA,SAAA36F,EAAA8R,EAAAvR,EAAAN,EAAAE,GAAA,IAAAD,EAAA,IAAAA,KAAAK,EAAA,aAAAL,GAAA,QAAAA,GAAAA,KAAA4R,GAAAuT,EAAArlB,EAAAE,EAAA,KAAAK,EAAAL,GAAAD,GAAA,IAAAC,KAAA4R,EAAA3R,GAAA,mBAAA2R,EAAA5R,IAAA,aAAAA,GAAA,QAAAA,GAAA,UAAAA,GAAA,YAAAA,GAAAK,EAAAL,KAAA4R,EAAA5R,IAAAmlB,EAAArlB,EAAAE,EAAA4R,EAAA5R,GAAAK,EAAAL,GAAAD,GAAA8R,CAAAD,EAAAe,EAAAvP,EAAApD,EAAAG,GAAAwN,EAAAtN,EAAAm4F,IAAA,QAAA,GAAAzjF,EAAA1U,EAAA8iB,MAAAqW,SAAA5lB,EAAAhC,EAAAjI,MAAAuF,QAAA6F,GAAAA,EAAA,CAAAA,GAAA1U,EAAAN,EAAAE,EAAAD,GAAA,kBAAAmU,EAAAvU,EAAAC,EAAAD,EAAAA,EAAA,GAAAG,EAAAy4F,KAAA1mF,EAAA/R,EAAA,GAAAI,GAAA,MAAAP,EAAA,IAAAmV,EAAAnV,EAAAgB,OAAAmU,KAAA,MAAAnV,EAAAmV,IAAAzU,EAAAV,EAAAmV,IAAA5U,IAAA,UAAAwS,QAAA,KAAAoC,EAAApC,EAAAhQ,SAAAoS,IAAAnD,EAAAjP,OAAA,aAAAwR,IAAAY,GAAA,WAAAZ,GAAAY,IAAA3R,EAAAT,QAAAwiB,EAAAvT,EAAA,QAAAmD,EAAA3R,EAAAT,OAAA,GAAA,YAAAgQ,QAAA,KAAAoC,EAAApC,EAAA+nF,UAAA3lF,IAAAnD,EAAA8oF,SAAAv1E,EAAAvT,EAAA,UAAAmD,EAAA3R,EAAAs3F,SAAA,IAAA,OAAA9oF,EAAA,SAAAuJ,EAAArb,EAAAO,EAAAN,GAAA,IAAA,mBAAAD,EAAAA,EAAAO,GAAAP,EAAA08D,QAAAn8D,EAAA,MAAAP,GAAA8R,EAAA+mF,IAAA74F,EAAAC,IAAA,SAAAylB,EAAA1lB,EAAAO,EAAAN,GAAA,IAAAE,EAAAD,EAAA,GAAA4R,EAAA+oF,SAAA/oF,EAAA+oF,QAAA76F,IAAAG,EAAAH,EAAAy4F,OAAAt4F,EAAAu8D,SAAAv8D,EAAAu8D,UAAA18D,EAAA64F,KAAAx9E,EAAAlb,EAAA,KAAAI,IAAA,OAAAJ,EAAAH,EAAA+4F,KAAA,CAAA,GAAA54F,EAAA26F,qBAAA,IAAA36F,EAAA26F,uBAAA,MAAA96F,GAAA8R,EAAA+mF,IAAA74F,EAAAO,GAAAJ,EAAA2rF,KAAA3rF,EAAAk5F,IAAA,KAAA,GAAAl5F,EAAAH,EAAA04F,IAAA,IAAAx4F,EAAA,EAAAA,EAAAC,EAAAW,OAAAZ,IAAAC,EAAAD,IAAAwlB,EAAAvlB,EAAAD,GAAAK,EAAA,mBAAAP,EAAAqG,MAAApG,GAAA,MAAAD,EAAA64F,KAAAr4F,EAAAR,EAAA64F,KAAA74F,EAAA64F,IAAA74F,EAAA84F,SAAA,EAAA,SAAAv9E,EAAAvb,EAAA8R,EAAAvR,GAAA,OAAAqG,KAAAgQ,YAAA5W,EAAAO,GAAA,SAAAilB,EAAAjlB,EAAAN,EAAAE,GAAA,IAAAD,EAAAJ,EAAAC,EAAA+R,EAAA6mF,IAAA7mF,EAAA6mF,GAAAp4F,EAAAN,GAAAH,GAAAI,EAAA,mBAAAC,GAAA,KAAAA,GAAAA,EAAAu4F,KAAAz4F,EAAAy4F,IAAA34F,EAAA,GAAAqb,EAAAnb,EAAAM,IAAAL,GAAAC,GAAAF,GAAAy4F,IAAA/3F,EAAA2C,EAAA,KAAA,CAAA/C,IAAAT,GAAAM,EAAAA,OAAA,IAAAH,EAAAs5F,iBAAAr5F,GAAAC,EAAA,CAAAA,GAAAL,EAAA,KAAAG,EAAAiI,WAAAlI,EAAAa,KAAAZ,EAAAyJ,YAAA,KAAA3J,GAAAG,GAAAC,EAAAA,EAAAL,EAAAA,EAAA+4F,IAAA54F,EAAAiI,WAAAhI,GAAA8U,EAAAjV,EAAAQ,GAAAP,EAAAD,EAAAgK,MAAA+H,EAAA,CAAA+mF,IAAA,SAAA74F,EAAA8R,EAAAvR,EAAAN,GAAA,IAAA,IAAAE,EAAAD,EAAAJ,EAAAgS,EAAAA,EAAA6mF,IAAA,IAAAx4F,EAAA2R,EAAAinF,OAAA54F,EAAAw4F,GAAA,IAAA,IAAAz4F,EAAAC,EAAAyW,cAAA,MAAA1W,EAAA66F,2BAAA56F,EAAA66F,SAAA96F,EAAA66F,yBAAA/6F,IAAAF,EAAAK,EAAA24F,KAAA,MAAA34F,EAAA86F,oBAAA96F,EAAA86F,kBAAAj7F,EAAAC,GAAA,IAAAH,EAAAK,EAAA24F,KAAAh5F,EAAA,OAAAK,EAAAu5F,IAAAv5F,EAAA,MAAA2R,GAAA9R,EAAA8R,EAAA,MAAA9R,IAAAO,EAAA,EAAAN,EAAA,SAAAD,GAAA,OAAA,MAAAA,QAAA,IAAAA,EAAA4W,aAAA/D,EAAA/I,UAAAkxF,SAAA,SAAAh7F,EAAA8R,GAAA,IAAAvR,EAAAA,EAAA,MAAAqG,KAAAgzF,KAAAhzF,KAAAgzF,MAAAhzF,KAAAF,MAAAE,KAAAgzF,IAAAhzF,KAAAgzF,IAAAjnF,EAAA,GAAA/L,KAAAF,OAAA,mBAAA1G,IAAAA,EAAAA,EAAA2S,EAAA,GAAApS,GAAAqG,KAAAyc,QAAArjB,GAAA2S,EAAApS,EAAAP,GAAA,MAAAA,GAAA4G,KAAAqyF,MAAAnnF,GAAAlL,KAAAoyF,IAAAv3F,KAAAqQ,GAAAmD,EAAArO,QAAAiM,EAAA/I,UAAAoxF,YAAA,SAAAl7F,GAAA4G,KAAAqyF,MAAAryF,KAAAiyF,KAAA,EAAA74F,GAAA4G,KAAAoyF,IAAAv3F,KAAAzB,GAAAiV,EAAArO,QAAAiM,EAAA/I,UAAAyqB,OAAAjxB,EAAAnD,EAAA,GAAAyS,EAAAumF,IAAA,EAAAr5F,EAAA,EAAAc,EAAA2zB,OAAA/O,EAAA5kB,EAAAu6F,QAAA,SAAAn7F,EAAA8R,EAAAvR,GAAAilB,EAAA1T,EAAAvR,EAAAP,IAAAY,EAAA6C,cAAA9C,EAAAC,EAAAiN,EAAAlN,EAAAC,EAAAw6F,SAAA93F,EAAA1C,EAAAy6F,UAAA,WAAA,MAAA,CAAA3+B,QAAA,OAAA97D,EAAA06F,eAAAr7F,EAAAW,EAAA26F,UAAA1oF,EAAAjS,EAAA46F,aAAA,SAAA1pF,EAAAvR,EAAAN,GAAA,IAAAE,EAAAD,EAAAJ,EAAAM,EAAAuS,EAAA,GAAAb,EAAAuR,OAAA,IAAAvjB,KAAAS,EAAA,OAAAT,EAAAK,EAAAI,EAAAT,GAAA,OAAAA,EAAAI,EAAAK,EAAAT,GAAAM,EAAAN,GAAAS,EAAAT,GAAA,OAAAkK,UAAAlJ,OAAA,IAAAV,EAAAs5B,SAAA1vB,UAAAlJ,OAAA,EAAAd,EAAAa,KAAAmJ,UAAA,GAAA/J,GAAA4N,EAAAiE,EAAAzL,KAAAjG,EAAAD,GAAA2R,EAAAod,IAAAhvB,GAAA4R,EAAA2mF,IAAA,OAAA73F,EAAA66F,cAAA,SAAAz7F,EAAA8R,GAAA,IAAAvR,EAAA,CAAAw4F,IAAAjnF,EAAA,OAAAhS,IAAA64F,GAAA34F,EAAA07F,SAAA,SAAA17F,EAAA8R,GAAA,OAAA9R,EAAA05B,SAAA5nB,IAAA6pF,SAAA,SAAA37F,GAAA,IAAAO,EAAAN,EAAA,OAAA2G,KAAAwzF,kBAAA75F,EAAA,IAAAN,EAAA,IAAA6R,GAAAlL,KAAAA,KAAAwzF,gBAAA,WAAA,OAAAn6F,GAAA2G,KAAAqzF,sBAAA,SAAAj6F,GAAA4G,KAAAyc,MAAAxgB,QAAA7C,EAAA6C,OAAAtC,EAAA2jB,KAAAjP,IAAArO,KAAA+yF,IAAA,SAAA35F,GAAAO,EAAAkB,KAAAzB,GAAA,IAAA8R,EAAA9R,EAAA86F,qBAAA96F,EAAA86F,qBAAA,WAAAv6F,EAAAiR,OAAAjR,EAAA8C,QAAArD,GAAA,GAAA8R,GAAAA,EAAAjR,KAAAb,MAAAA,EAAA05B,WAAA,OAAAn5B,EAAAo7F,SAAAhD,GAAAp4F,EAAAm7F,SAAAjC,YAAAl5F,GAAAK,EAAAg7F,aAAA,SAAA57F,EAAA8R,EAAAvR,GAAA,OAAAA,EAAAA,GAAA,GAAA,MAAAuR,GAAA,kBAAAA,IAAAjI,MAAAuF,QAAA0C,GAAAA,EAAAoS,MAAA,SAAApS,GAAA9R,EAAA8R,EAAAvR,MAAAA,EAAAkB,KAAAqQ,IAAAvR,GAAAK,EAAAgB,QAAAkQ,GhBq2IE,IAAI,IAAI,CAAC,SAASxR,EAAQS,EAAOH,GiBr2InC,IAAAZ,EAAAC,EAAAH,EAAAS,EAAAL,EAAAI,EAAA,UAAAH,EAAA,EAAAE,EAAA,GAAAN,EAAA,GAAAK,EAAAF,EAAA0B,QAAAg3F,IAAAp4F,EAAAN,EAAA0B,QAAAu3F,IAAA71F,EAAApD,EAAA0B,QAAA04F,OAAA35F,EAAAT,EAAA0B,QAAAm3F,IAAApmF,EAAAzS,EAAA0B,QAAAi5F,QAAA,SAAA/oF,EAAA9R,EAAAF,GAAAI,EAAA0B,QAAAo3F,KAAA94F,EAAA0B,QAAAo3F,IAAA/4F,EAAAD,EAAAG,GAAAL,GAAAK,EAAA,EAAA,IAAAI,EAAAN,EAAA47F,MAAA57F,EAAA47F,IAAA,CAAAlD,GAAA,GAAAK,IAAA,KAAA,OAAAh5F,GAAAO,EAAAo4F,GAAA73F,QAAAP,EAAAo4F,GAAAl3F,KAAA,CAAAq6F,IAAA/7F,IAAAQ,EAAAo4F,GAAA34F,GAAA,SAAA4S,EAAA5S,GAAA,OAAAG,EAAA,EAAA4R,EAAAiD,EAAAhV,GAAA,SAAA+R,EAAAjS,EAAAS,EAAAL,GAAA,IAAAC,EAAA2R,EAAA9R,IAAA,GAAA,OAAAG,EAAAF,EAAAH,EAAAK,EAAA44F,MAAA54F,EAAAw4F,GAAA,CAAAz4F,EAAAA,EAAAK,GAAAyU,OAAA,EAAAzU,GAAA,SAAAP,GAAA,IAAAC,EAAAE,EAAAF,EAAAE,EAAAw4F,GAAA,GAAA34F,GAAAG,EAAAw4F,GAAA,KAAA14F,IAAAE,EAAAw4F,GAAA,CAAA14F,EAAAE,EAAAw4F,GAAA,IAAAx4F,EAAA44F,IAAAiC,SAAA,OAAA76F,EAAA44F,IAAA94F,GAAAE,EAAAw4F,GAAA,SAAA9lF,EAAA/S,EAAAS,GAAA,IAAAJ,EAAA2R,EAAA9R,IAAA,IAAAE,EAAA0B,QAAAg4F,KAAAnvE,EAAAtqB,EAAA07F,IAAAt7F,KAAAJ,EAAAw4F,GAAA74F,EAAAK,EAAAI,EAAAA,EAAAN,EAAA+4F,IAAAv3F,KAAAtB,IAAA,SAAA6R,EAAA/R,EAAAH,GAAA,IAAAS,EAAAuR,EAAA9R,IAAA,GAAA,OAAAyqB,EAAAlqB,EAAAs7F,IAAA/7F,IAAAS,EAAAu7F,IAAA77F,IAAAM,EAAAA,EAAAT,EAAAS,EAAAy4F,IAAA/4F,EAAAM,EAAAu7F,KAAAv7F,EAAAo4F,GAAA,SAAAtkF,IAAA,IAAA,IAAArU,EAAAA,EAAAK,EAAAu5B,SAAA,GAAA55B,EAAAq5F,IAAA,IAAAr5F,EAAA67F,IAAA7C,IAAA/0F,QAAA6pB,GAAA9tB,EAAA67F,IAAA7C,IAAA/0F,QAAAqhB,GAAAtlB,EAAA67F,IAAA7C,IAAA,GAAA,MAAA/4F,GAAAD,EAAA67F,IAAA7C,IAAA,GAAA94F,EAAA0B,QAAAi3F,IAAA54F,EAAAD,EAAAi5F,MAAA/4F,EAAA0B,QAAAg3F,IAAA,SAAA54F,GAAAC,EAAA,KAAAG,GAAAA,EAAAJ,IAAAE,EAAA0B,QAAAu3F,IAAA,SAAA54F,GAAAC,GAAAA,EAAAD,GAAAP,EAAA,EAAA,IAAAE,GAAAD,EAAAM,EAAAw4F,KAAA8C,IAAA37F,IAAAJ,IAAAG,GAAAC,EAAA84F,IAAA,GAAA/4F,EAAA+4F,IAAA,GAAA94F,EAAAy4F,GAAA10F,SAAA,SAAAjE,GAAAA,EAAA87F,IAAA/7F,EAAAC,EAAAO,OAAA,OAAAL,EAAA84F,IAAA/0F,QAAA6pB,GAAA5tB,EAAA84F,IAAA/0F,QAAAqhB,GAAAplB,EAAA84F,IAAA,KAAAl5F,EAAAG,GAAAC,EAAA0B,QAAA04F,OAAA,SAAAt6F,GAAAsD,GAAAA,EAAAtD,GAAA,IAAAG,EAAAH,EAAA+4F,IAAA54F,GAAAA,EAAA07F,MAAA17F,EAAA07F,IAAA7C,IAAAl4F,SAAA,IAAAT,EAAAoB,KAAAtB,IAAAI,IAAAL,EAAA0B,QAAA+9C,yBAAAp/C,EAAAL,EAAA0B,QAAA+9C,wBAAA,SAAA3/C,GAAA,IAAAC,EAAAH,EAAA,WAAA4C,aAAAnC,GAAAsN,GAAAkuF,qBAAA97F,GAAAsC,WAAAvC,IAAAO,EAAAgC,WAAAzC,EAAA,KAAA+N,IAAA5N,EAAA0/C,sBAAA7/C,MAAAuU,IAAAlU,EAAA07F,IAAAlD,GAAA10F,SAAA,SAAAjE,GAAAA,EAAAO,IAAAP,EAAA67F,IAAA77F,EAAAO,GAAAP,EAAA87F,MAAA/7F,IAAAC,EAAA24F,GAAA34F,EAAA87F,KAAA97F,EAAAO,OAAA,EAAAP,EAAA87F,IAAA/7F,MAAAD,EAAAG,EAAA,MAAAC,EAAA0B,QAAAm3F,IAAA,SAAA/4F,EAAAC,GAAAA,EAAAikB,MAAA,SAAAlkB,GAAA,IAAAA,EAAAg5F,IAAA/0F,QAAA6pB,GAAA9tB,EAAAg5F,IAAAh5F,EAAAg5F,IAAA/0E,QAAA,SAAAjkB,GAAA,OAAAA,EAAA24F,IAAArzE,EAAAtlB,MAAA,MAAAF,GAAAG,EAAAikB,MAAA,SAAAlkB,GAAAA,EAAAg5F,MAAAh5F,EAAAg5F,IAAA,OAAA/4F,EAAA,GAAAC,EAAA0B,QAAAi3F,IAAA/4F,EAAAE,EAAAi5F,SAAAt4F,GAAAA,EAAAX,EAAAC,IAAAC,EAAA0B,QAAAi5F,QAAA,SAAA76F,GAAA2S,GAAAA,EAAA3S,GAAA,IAAAC,EAAAH,EAAAE,EAAA+4F,IAAAj5F,GAAAA,EAAA+7F,MAAA/7F,EAAA+7F,IAAAlD,GAAA10F,SAAA,SAAAjE,GAAA,IAAA8tB,EAAA9tB,GAAA,MAAAA,GAAAC,EAAAD,MAAAC,GAAAC,EAAA0B,QAAAi3F,IAAA54F,EAAAH,EAAAm5F,OAAA,IAAAprF,EAAA,mBAAA8xC,sBAAA,SAAA7xB,EAAA9tB,GAAA,IAAAF,EAAAG,EAAAM,EAAAP,EAAA+4F,IAAA,mBAAAx4F,IAAAP,EAAA+4F,SAAA,EAAAx4F,KAAAN,EAAAH,EAAA,SAAAwlB,EAAAtlB,GAAA,IAAAF,EAAAG,EAAAD,EAAA+4F,IAAA/4F,EAAA24F,KAAA14F,EAAAH,EAAA,SAAA2qB,EAAAzqB,EAAAC,GAAA,OAAAD,GAAAA,EAAAc,SAAAb,EAAAa,QAAAb,EAAAikB,MAAA,SAAAjkB,EAAAH,GAAA,OAAAG,IAAAD,EAAAF,MAAA,SAAAkV,EAAAhV,EAAAC,GAAA,MAAA,mBAAAA,EAAAA,EAAAD,GAAAC,EAAAW,EAAAo7F,SAAAppF,EAAAhS,EAAAq7F,WAAAlqF,EAAAnR,EAAAs7F,UAAA,SAAAp8F,EAAAS,GAAA,IAAAJ,EAAA2R,EAAA9R,IAAA,IAAAE,EAAA0B,QAAAg4F,KAAAnvE,EAAAtqB,EAAA07F,IAAAt7F,KAAAJ,EAAAw4F,GAAA74F,EAAAK,EAAAI,EAAAA,EAAAN,EAAA47F,IAAA7C,IAAAv3F,KAAAtB,KAAAS,EAAAu7F,gBAAAtpF,EAAAjS,EAAAw7F,OAAA,SAAAp8F,GAAA,OAAAG,EAAA,EAAA6R,GAAA,WAAA,MAAA,CAAA0qD,QAAA18D,KAAA,KAAAY,EAAAy7F,oBAAA,SAAAr8F,EAAAC,EAAAH,GAAAK,EAAA,EAAA0S,GAAA,WAAA,MAAA,mBAAA7S,GAAAA,EAAAC,KAAA,WAAA,OAAAD,EAAA,QAAAA,GAAAA,EAAA08D,QAAAz8D,IAAA,WAAA,OAAAD,EAAA08D,QAAA,YAAA,IAAA,MAAA58D,EAAAA,EAAAA,EAAA2M,OAAAzM,KAAAY,EAAA07F,QAAAtqF,EAAApR,EAAA27F,YAAA,SAAAv8F,EAAAC,GAAA,OAAAE,EAAA,EAAA6R,GAAA,WAAA,OAAAhS,IAAAC,IAAAW,EAAA47F,WAAA,SAAA18F,GAAA,IAAAS,EAAAN,EAAAo6C,QAAAv6C,EAAAi5F,KAAA74F,EAAA4R,EAAA9R,IAAA,GAAA,OAAAE,EAAAG,EAAAP,EAAAS,GAAA,MAAAL,EAAAy4F,KAAAz4F,EAAAy4F,IAAA,EAAAp4F,EAAAo5F,IAAA15F,IAAAM,EAAA8iB,MAAAxgB,OAAA/C,EAAA64F,IAAA/3F,EAAA67F,cAAA,SAAAz8F,EAAAC,GAAAC,EAAA0B,QAAA66F,eAAAv8F,EAAA0B,QAAA66F,cAAAx8F,EAAAA,EAAAD,GAAAA,IAAAY,EAAA87F,iBAAA,SAAA58F,GAAA,IAAAS,EAAAuR,EAAA9R,IAAA,IAAAE,EAAA0S,IAAA,OAAArS,EAAAo4F,GAAA74F,EAAAG,EAAAg7F,oBAAAh7F,EAAAg7F,kBAAA,SAAAj7F,GAAAO,EAAAo4F,IAAAp4F,EAAAo4F,GAAA34F,GAAAE,EAAA,GAAAF,KAAA,CAAAE,EAAA,GAAA,WAAAA,EAAA,QAAA,OjBy2IE,CAACy8F,OAAS,MAAM,IAAI,CAAC,SAASr8F,EAAQS,EAAOH,GAC/C,aAEAN,EAAQ,mDAER2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQg8F,mBAAgB,EkBj3IxB,MAAAC,EAAAv8F,EAAA,mBAQMw8F,EAAc,CAACt7F,EAAyBu7F,EAAgBC,IACnD,IAAItpD,SAAe8P,IACtB,MAAMv6C,EAAK1G,YAAW,KAClBoP,QAAQrI,MAAM,mCAAoCyzF,GAClDv5C,MACDw5C,GAEHx7F,IAAKyzC,MAAK,KACNvyC,aAAauG,GACbu6C,OACDrO,OAAOp1C,IACN4R,QAAQrI,MAAM,iCAAkCyzF,EAAQh9F,GACxD2C,aAAauG,GACbu6C,UA4EZrC,eAAe87C,EAA6BF,GACxC,MAAMG,EAAQH,EAAOI,GACrB,IAAoC,IAAhCD,EAAM75F,QAAQ05F,EAAOp6F,MACrB,MAAM,IAAIlC,MAAM,SAAWy8F,EAAQ,4BAA8BH,GAerE,MAZqB57C,WACjB,MAAMxX,EAAYI,KAAKC,MAQvB,aANMkxC,MAAMgiB,EAAQ,SAAWvzD,EAAW,CACtC7gC,OAAQ,MACR4M,KAAM,OACN0wC,MAAO,aACRnR,MAAMn1C,GAAMA,EAAEqhB,SAEV4oB,KAAKC,MAAQL,GAGjByzD,GAzFXx8F,EAAAg8F,cAAOz7C,eAA6Bk8C,GAChC,MAAMC,EAAU,IAAIT,EAAAU,YACdC,EAAgD,MAClD,MAAMC,EAA0C,GAChD,IAAK,MAAQ96F,KAAME,KAAWg6F,EAAAU,WAC1BE,EAAQ56F,GAAS,GAErB,OAAO46F,GAL2C,GAShDC,EAA2B,GACjC,IAAK,MAAMX,KAAUO,EAAS,CAC1B,MAAMK,EAAWx8C,UACb,MAAMx+C,EAAOo6F,EAAOp6F,KAEpB,IAAK,IAAIxC,EAAI,EAAGA,EAAI,IAAKA,EACrBq9F,EAAc76F,GAAMlB,WAAWw7F,EAA6BF,IAC5DM,EAAgB16F,EAAO,KAAOxC,EAAE,GAAK,KAAOq9F,EAAc76F,GAAM,GAAK,SAI7E+6F,EAAQj8F,KAAKq7F,EAAYa,EAAUZ,EAAOp6F,KAAM,aAG9C+wC,QAAQhwC,IAAIg6F,GAGlB,IACI,MAAME,EAAe,+CACrB,GAA2B,oBAAhBC,kBAAuE,IAAjCA,YAAYC,iBAAkC,CAC3F,MAAM13B,EAAYy3B,YAAYC,iBAAiB,YAC/C,IAAK,MAAM93B,KAAYI,EACnB,QAAsB7c,IAAlByc,EAASrjE,WAA4C4mD,IAAtByc,EAASznD,SAAwB,CAChE,MAAMw/E,EAAUH,EAAav1E,KAAK29C,EAASrjE,MAC3B,OAAZo7F,QAAmCx0C,IAAfw0C,EAAQ,IAC5BP,EAAcO,EAAQ,IAAIt8F,KAAKqR,KAAKwoB,MAAM0qC,EAASznD,aAKrE,MAAOxe,GACL4R,QAAQrI,MAAM,6BAA8BvJ,GAGhD,IAAIg9F,EAAS,eACTiB,GAAc,EACdC,EAAY,GAChB,MAAMC,EAA2C,GACjD,IAAK,MAAMn6E,KAAQ9R,OAAOiI,KAAKsjF,GAAgB,CAC3C,MAAMC,EAAUziF,EAAIwiF,EAAcz5E,IAC9B05E,EAAU,KAAsB,IAAhBO,GAAqBA,EAAaP,KAClDV,EAASh5E,EACTi6E,EAAaP,GAEjB,MAAMU,EAASC,EAAIZ,EAAcz5E,IACjCm6E,EAAWn6E,GAAQo6E,EACnBF,IAAcl6E,EAAO,aAAa4M,UAAU,EAAG,IAAM,MACjDwtE,EAAOt5F,KAAK,MAAQ,MAM5B,OAHA8M,QAAQxH,IAAI,wBAA0B8zF,GACtCtsF,QAAQxH,IAAI,eAAgB4yF,EAAQ,cAAgBiB,GAE7C,CACHjB,OAAAA,EACAS,cAAeQ,EACfE,WAAAA,IAyBR,MAAME,EAAO7U,GAAkBA,EAAIh9D,MAAK,CAAC/rB,EAAGsT,IAAMtT,EAAIsT,IAEhDkH,EAAOuuE,GACU,IAAfA,EAAIzoF,OACG,EAGJs9F,EAAI7U,GAAK,IlBy3IlB,CAAC,kBAAkB,IAAI,kDAAkD,MAAM,IAAI,CAAC,SAASjpF,EAAQS,EAAOH,GAC9G,aAEAN,EAAQ,mDAER2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQy9F,kBAAoBz9F,EAAQ09F,0BAAuB,EmB9/I3D,MAAAC,EAAAj+F,EAAA,qCACA44C,EAAA54C,EAAA,aAEAu8F,EAAAv8F,EAAA,eAIAM,EAAA09F,qBAAA,SAAqC7mC,EAAmBxuD,EAAYm4C,GAChE,OAAO,EAAAm9C,EAAAD,sBAAK7mC,EAAWxuD,EAAIm4C,OAAWmI,IAG1C3oD,EAAAy9F,kBAAOl9C,eAAiCsW,EACAxuD,EACAm4C,EACAt6C,GACpC,MAAM03F,QA+BVr9C,eAA8Br6C,GAC1B,MAAM23F,EAAY,IAAIjnB,IAAIyQ,UAAU,IAAIzQ,IAAIsQ,iBAAiBhhF,GAAO,CAChEizE,eAAe,IAEbp0D,QAAgB84E,EAAUC,aAChC,IAAItkC,GAAQ,EACZ,IAAK,MAAMr2C,KAAQ4B,EAEf,GADAy0C,GAA2B,IAAnBr2C,EAAKskE,WACRjuB,EACD,MAIR,OADAqkC,EAAUt0E,QACHiwC,EA5CeukC,CAAe73F,GACrC,GAAI03F,EAEA,YADA7sF,QAAQ1P,KAAK,gCAIjB,MAAMmC,QAAe,EAAA80C,EAAA0lD,YAAW/B,EAAAgC,YAAc,cAAgBpnC,EAAY,OAASxuD,EAC/E,cAAgB+kF,mBAAmB5sC,IAEvC,IAAKh9C,EAAO2e,QACR,MAAM,IAAItiB,MAAM,iCAGpB,MAAMmiB,EAAUiU,KAAKu4C,MAAMhrE,EAAOwe,SAC5Bm4D,EAAUn4D,EAAQm9D,UAClBx8B,EAAM3gC,EAAQ2gC,IAUpB,GARAw3B,EAAQ,wBAA0B,yBAC5B,EAAA7hC,EAAAkL,MAAK,MACPb,EACA,OACAz8C,EAAKw/C,YACLiD,EACAwxB,WAEQ,EAAA7hC,EAAA0lD,YAAW/B,EAAAiC,YAAc,cAAgBrnC,EAAY,OAASxuD,EACtE,cAAgBm4C,IAAYr+B,QAC5B,MAAM,IAAItiB,MAAM,sCnBghJtB,CAAC,oCAAoC,IAAI,YAAY,IAAI,cAAc,IAAI,kDAAkD,MAAM,IAAI,CAAC,SAASH,EAAQS,EAAOH,GAClK,aAEAqR,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ28F,WAAa38F,EAAQm+F,iBAAmBn+F,EAAQo+F,4BAA8Bp+F,EAAQq+F,QAAUr+F,EAAQs+F,SAAWt+F,EAAQu+F,wBAA0Bv+F,EAAQw+F,oBAAsBx+F,EAAQy+F,oBAAsBz+F,EAAQk+F,YAAcl+F,EAAQi+F,YAAcj+F,EAAQ0+F,kBAAe,EoBhkJ/Q1+F,EAAA0+F,aAAe,gEAEf1+F,EAAAi+F,YAAcj+F,EAAA0+F,aAAe,gBAC7B1+F,EAAAk+F,YAAcl+F,EAAA0+F,aAAe,gBAE7B1+F,EAAAy+F,oBAAsBz+F,EAAA0+F,aAAe,gBACrC1+F,EAAAw+F,oBAAsBx+F,EAAA0+F,aAAe,kBACrC1+F,EAAAu+F,wBAA0Bv+F,EAAA0+F,aAAe,kBAEzC1+F,EAAAs+F,SAAWt+F,EAAA0+F,aAAe,mBAC1B1+F,EAAAq+F,QAAUr+F,EAAA0+F,aAAe,kBAEzB1+F,EAAAo+F,4BAA8Bp+F,EAAA0+F,aAAe,yBAC7C1+F,EAAAm+F,iBAAmB,yCAQnBn+F,EAAA28F,WAA0B,CACnC,CAAE7Q,MAAO,wBAAyB/pF,KAAM,YACpCw6F,GAAI,iEACR,CAAEzQ,MAAO,iBAAkB/pF,KAAM,YAC7Bw6F,GAAI,iEACR,CAAEzQ,MAAO,0BAA2B/pF,KAAM,YACtCw6F,GAAI,iEACR,CAAEzQ,MAAO,mBAAoB/pF,KAAM,YAC/Bw6F,GAAI,iEACR,CAAEzQ,MAAO,qBAAsB/pF,KAAM,eACjCw6F,GAAI,oEACR,CAAEzQ,MAAO,mBAAoB/pF,KAAM,YAC/Bw6F,GAAI,iEACR,CAAEzQ,MAAO,kBAAmB/pF,KAAM,YAC9Bw6F,GAAI,iEACR,CAAEzQ,MAAO,iBAAkB/pF,KAAM,aAC7Bw6F,GAAI,kEACR,CAAEzQ,MAAO,iBAAkB/pF,KAAM,YAC7Bw6F,GAAI,iEACR,CAAEzQ,MAAO,qBAAsB/pF,KAAM,aACjCw6F,GAAI,kEACR,CAAEzQ,MAAO,2BAA4B/pF,KAAM,YACvCw6F,GAAI,iEACR,CAAEzQ,MAAO,wBAAyB/pF,KAAM,aACpCw6F,GAAI,kEACR,CAAEzQ,MAAO,uBAAwB/pF,KAAM,iBACnCw6F,GAAI,sEACR,CAAEzQ,MAAO,uBAAwB/pF,KAAM,iBACnCw6F,GAAI,sEACR,CAAEzQ,MAAO,2BAA4B/pF,KAAM,iBACvCw6F,GAAI,sEACR,CAAEzQ,MAAO,wBAAyB/pF,KAAM,iBACpCw6F,GAAI,sEACR,CAAEzQ,MAAO,uBAAwB/pF,KAAM,iBACnCw6F,GAAI,sEACR,CAAEzQ,MAAO,SAAU/pF,KAAM,eACrBw6F,GAAI,oEACR,CAAEzQ,MAAO,wBAAyB/pF,KAAM,aACpCw6F,GAAI,kEACR,CAAEzQ,MAAO,4BAA6B/pF,KAAM,YACxCw6F,GAAI,iEACR,CAAEzQ,MAAO,qBAAsB/pF,KAAM,aACjCw6F,GAAI,oEpBmmJV,IAAI,IAAI,CAAC,SAAS78F,EAAQS,EAAOH,GACnC,aAEA,IAAI2+F,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAE3E,SAASC,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAE1KzJ,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQm/F,eAAY,EqB3qJpB,MAAAC,EAAA1/F,EAAA,UAEA2/F,EAAA3/F,EAAA,YAEA4/F,EAAA5/F,EAAA,cAmBA,SAAS6/F,EAAK98E,GACV,IAAsC,IAAlCA,EAAMzhB,UAAUw+F,gBAAwD,IAA9B/8E,EAAMzhB,UAAUy+F,UAC1D,OAAO,KAOX,OAAA,EAAOL,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,4EAAA,mBAAA,gDAJA,WACIv8E,EAAMzhB,UAAU0+F,WAAW,oBAAqB,YAKzCL,EAAAM,MAAMC,MAKrB,SAASC,EAAep9E,GACpB,IAAkC,IAA9BA,EAAMzhB,UAAUy+F,UAChB,OAAO,KAGX,SAASK,IACDr9E,EAAMs9E,QACNt9E,EAAMu9E,eAENv9E,EAAMw9E,cAId,OAA0C,IAAtCx9E,EAAMzhB,UAAUk/F,mBAChB,EAAOd,EAAAzkC,MAAPkkC,IAAAA,EAAAG,EAAA,CAAA,4EAAA,mBAAA,+CACiEc,EAC1DT,EAAAM,MAAMQ,gBAGN19E,EAAM29E,cACb,EAAOhB,EAAAzkC,MAAPmkC,IAAAA,EAAAE,EAAA,CAAA,6EAAA,mBAAA,+CACkEc,EAC3DT,EAAAM,MAAMU,SAIb,EAAOjB,EAAAzkC,MAAPokC,IAAAA,EAAAC,EAAA,CAAA,wFAAA,uBAAA,mNAC6Ec,EAClET,EAAAM,MAAMW,SA7DzBtgG,EAAAm/F,UAAA,SAA0B18E,GACtB,IAAKA,EAAM89E,UACP,OAAO,KAGX,MAAMC,GAA0C,IAA9B/9E,EAAMzhB,UAAUy+F,YAAwD,IAAlCh9E,EAAMzhB,UAAUw+F,cACxE,OAAA,EAAOJ,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,2GAAA,OAAA,iBAAA,OAAA,iBAAA,iDAAA,0BAAA,OAAA,2BAEOa,EAAqBp9E,EACrB88E,EAAW98E,EACX68E,EAAAmB,SACGD,EAAY,GAAK,+BACV,EAAW/9E,KrB8sJ9B,CAAC,SAAS,IAAI,WAAW,IAAI,aAAa,MAAM,IAAI,CAAC,SAAS/iB,EAAQS,EAAOH,GAC/E,aAEA,IAAI2+F,EAIJttF,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ0gG,gBAAa,EsB3uJrB,MAAAtB,EAAA1/F,EAAA,UACA2/F,EAAA3/F,EAAA,YAIAM,EAAA0gG,WAAA,SAA2Bj+E,GACvB,OAAA,EAAO28E,EAAAzkC,MAAPgkC,ItBguJ4BM,EsBhuJ5B,CAAA,kGAAA,oGAAA,uDAAA,yDtBguJiDnkF,IAAOA,EAAMmkF,EAAQ91F,MAAM,IsBhuJ5Ew1F,EtBguJyFttF,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,QsB9tJpI2H,EAAM2T,OAEmB,IAAM3T,EAAMk+E,cAAcl+E,EAAM89E,YAEhF99E,EAAM89E,UAAYlB,EAAAM,MAAMiB,YAAcvB,EAAAM,MAAMkB,ctB0tJ3D,IAAgC5B,EAASnkF,IAiBvC,CAAC,SAAS,IAAI,WAAW,MAAM,IAAI,CAAC,SAASpb,EAAQS,EAAOH,GAC9D,aAIA,IAAI2+F,EAFJj/F,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ8gG,sBAAmB,EuBnwJ3B,MAAAC,EAAArhG,EAAA,gBACA0/F,EAAA1/F,EAAA,UACA2/F,EAAA3/F,EAAA,YAIAM,EAAA8gG,iBAAA,SAAiCr+E,GAC7B,MAAMszB,EAAStzB,EAAMzhB,UAAU+0C,QACxBirD,EAAOC,IAAY,EAAAF,EAAA3F,WAAkB,IACrC9qF,EAAM4wF,IAAW,EAAAH,EAAA3F,WAAkB,GACpC+F,EAAkC,mBAAXprD,EAgE7B,OA9DA,EAAAgrD,EAAAzF,YAAU,KACN,MAAM8F,EAAgB3+E,EAAMzhB,UAAUogG,cAEtC,IAAI9wF,GAAS6wF,IAAmC,IAAlBC,EAwB9B,OAFAj+F,OAAOwD,iBAAiB,eAAgB06F,GAEjC,KACHl+F,OAAOyF,oBAAoB,eAAgBy4F,IArB/C,SAASA,EAAe5kF,GACpB,QAAiCksC,IAA7BlmC,EAAM6+E,SAAS7/C,UACf,OAGJ,MAAMniC,EAAU6hF,EACZ,2DACA,0DAEJx/F,YAAW,KACP8gB,EAAM6+E,SAAS/kE,OAAO+X,MAAM5rC,MAAM4W,GAClC2hF,GAAS,KACV,IAEHxkF,EAAMjK,iBACNiK,EAAM8kF,YAAcjiF,KAQzB,CAAC2hF,EAAUx+E,EAAM6+E,OAAQhxF,EAAMylC,EAAQorD,IAgCtC7wF,EACO,MAGX,EAAO8uF,EAAAzkC,MAAPgkC,IvBgrJ4BM,EuBhrJ5B,CAAA,qBAAA,4GAAA,qCAAA,kDAAA,yDvBgrJiDnkF,IAAOA,EAAMmkF,EAAQ91F,MAAM,IuBhrJ5Ew1F,EvBgrJyFttF,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,QuB/qJxJ2H,EAAM2T,MAAQ3T,EAAM2T,MAAQ,GAExB4qE,EAAQ,8BAAgC,IArC1DzgD,iBACI,IACI0gD,GAAS,GACTC,GAAQ,GAER,MAAM3nD,EAAM92B,EAAM6+E,SAClB/nD,EAAIhd,OAAO+X,MAAMnyB,QAAQ,0BAEzB,UACUo3B,EAAIhd,OAAOc,OACnB,MAAOl+B,GACL4R,QAAQrI,MAAMvJ,GACdo6C,EAAIhd,OAAO+X,MAAM5rC,MAAMvJ,EAAEmgB,SAG7B,GAAI6hF,EAAe,CACf,IAAI,IAAAK,EAAAC,QACA,QAAAD,GAAMC,EAAAh/E,EAAMzhB,WAAU0gG,oBAAtB,IAAAF,OAAA,EAAMA,EAAAvhG,KAAAwhG,UACAloD,EAAIuH,OACZ,MAAO3hD,GACL4R,QAAQrI,MAAMvJ,GACdo6C,EAAIhd,OAAO+X,MAAM5rC,MAAMvJ,EAAEmgB,SAE7By2B,KAtBR,QAyBImrD,GAAQ,MAcLC,EAAgB9B,EAAAM,MAAMgC,QAAUtC,EAAAM,MAAMiC,YvB0qJrD,IAAgC3C,EAASnkF,IAsFvC,CAAC,SAAS,IAAI,WAAW,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAASpb,EAAQS,EAAOH,GACvI,aAIA,IAAI2+F,EAAiBC,EAErB,SAASI,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAJ1Kpb,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ6hG,YAAS,EwB/1JjB,MAAAd,EAAArhG,EAAA,gBACA0/F,EAAA1/F,EAAA,UACA2/F,EAAA3/F,EAAA,YAEAoiG,EAAApiG,EAAA,UAMAM,EAAA6hG,OAAA,SAAuBp/E,GACnB,MAAOs/E,EAAiBC,IAAsB,EAAAjB,EAAA3F,WAAkB,GAChE,QAA8BzyC,IAA1BlmC,EAAMw/E,iBAAoD,OAAnBx/E,EAAMy/E,SAC7C,OAAO,KAGX,GAAuB,OAAnBz/E,EAAMy/E,SAAmB,CACzB,MAAMC,EAAe,UACax5C,IAA1BlmC,EAAMw/E,kBAIVD,GAAmB,GACnBv/E,EAAMw/E,iBAAgB,GACjB5tD,MAAM6tD,IACHF,GAAmB,GACnBv/E,EAAM2/E,YAAYF,MAErB3tD,OAAOp1C,IACJ6iG,GAAmB,GACnBjxF,QAAQrI,MAAMvJ,QAI1B,OAAA,EAAOigG,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,uEAAA,mGAAA,uHAAA,kDAAA,wFAC4Dv8E,EAAM2T,MAEnDipE,EAAAM,MAAM0C,WAGPN,EAAkB,iCAAmC,gCAC7BI,GAO1C,MAAMpgG,EAAO0gB,EAAMy/E,SAAS75F,GAiC5B,OAAA,EAAO+2F,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,sDAAA,+EAAA,mHAAA,wEAAA,uBAAA,mEAC+Cv8E,EAAM2T,MAEtCipE,EAAAM,MAAM0C,WAEgDtgG,GApCrEw+C,iBACI99B,EAAMu9E,eACN,MAAMzmD,EAAM92B,EAAM6+E,SAElB,UAyCR/gD,eAA+BhH,GAC3B,IAAKA,EAAIkI,UACL,OAGJ,MAAM7kB,QAAW2c,EAAIkI,UACf6gD,QAAgB1lE,EAAGskB,WACzB,EAAA4gD,EAAAS,cAAaD,EAAS,YAAa,mBA/CrBE,CAAgBjpD,GACxB,MAAOp6C,GACLo6C,EAAIhd,OAAO+X,MAAM5rC,MAAM,oBACvBqI,QAAQrI,MAAMvJ,MA8BPkgG,EAAAM,MAAM8C,YxBo3JvB,CAAC,SAAS,IAAI,WAAW,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAAS/iG,EAAQS,EAAOH,GACvI,aAIA,IAAI2+F,EAAiBC,EAAkBC,EAEvC,SAASG,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAJ1Kpb,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQygG,cAAW,EyBx9JnB,MAAAM,EAAArhG,EAAA,gBACA0/F,EAAA1/F,EAAA,UACA2/F,EAAA3/F,EAAA,YAoDA,SAASgjG,EAAcjgF,GACnB,MAAOP,EAAMygF,IAAW,EAAA5B,EAAA3F,WAAkB,GAqB1C76C,eAAeqiD,EAAazjG,EAAU0jG,GAClC1jG,EAAEyhB,wBAEI6B,EAAMqgF,YAAYD,GACpB3gF,GACAygF,GAAQ,GAIhB,OAAA,EAAOvD,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,oFAAA,mBAAA,gDAAA,oKAAA,gDAAA,8EAAA,sCAAA,+BAAA,2HAAA,sCAAA,+BAAA,wHA5BAz+C,eAAyBphD,GAChBA,EAAE2U,OAAuBqL,UAAUvR,SAAS,iBAI5C6U,EAAMsgF,OAGPJ,GAASzgF,SAOjBq+B,eAA+BphD,SACrByjG,EAAazjG,GAAIsjB,EAAMgf,UAVnBuhE,CAAgB7jG,GAK1BA,EAAEqT,iBACFrT,EAAEyhB,qBAkBK6B,EAAMgf,SAAW49D,EAAAM,MAAMsD,YAAc5D,EAAAM,MAAMuD,OAChCzgF,EAAMsgF,OAAS,GAAK,UAEkB,QACpB7gF,EAAO,GAAK,SAE7BO,EAAMgf,SAA8B,aAAnB,kBACTtiC,GAAayjG,EAAazjG,GAAG,IACrCkgG,EAAAM,MAAMuD,OAGPzgF,EAAMgf,SAAW,iBAAmB,cAC3BtiC,GAAayjG,EAAazjG,GAAG,IACrCkgG,EAAAM,MAAMsD,aAQjC,SAASE,EAAgB1gF,GACrB,MAAOP,EAAMygF,IAAW,EAAA5B,EAAA3F,WAAkB,GA8B1C,OAAA,EAAOgE,EAAAzkC,MAAPkkC,IAAAA,EAAAG,EAAA,CAAA,oEAAA,mBAAA,gDAAA,8IAAA,qEAAA,kCAAA,2BAAA,+GAAA,kCAAA,2BAAA,0FAAA,kCAAA,2BAAA,4FA5BA,WACQv8E,EAAMsgF,OACNJ,GAASzgF,GAETO,EAAM2gF,mBAAmB3gF,EAAMq9B,kBA0B5Br9B,EAAMs9B,iBAAmBs/C,EAAAM,MAAM0D,iBACrC5gF,EAAMq9B,eAAiBu/C,EAAAM,MAAM2D,OAASjE,EAAAM,MAAM4D,OAC3BrhF,EAAO,GAAK,UAC8B,QAE7CO,EAAMq9B,gBAAmBr9B,EAAMs9B,iBAAsC,aAAnB,kBA3BrEQ,eAAsBphD,SACZsjB,EAAM+gF,qBAAoB,SAC1B/gF,EAAM2gF,mBAAkB,GAC9BT,GAAQ,GACRxjG,EAAEyhB,oBAyBay+E,EAAAM,MAAM4D,QAGN9gF,EAAMs9B,kBAAoBt9B,EAAMq9B,eAAiB,iBAAmB,cAzBvFS,eAAsBphD,SACZsjB,EAAM2gF,mBAAkB,SACxB3gF,EAAM+gF,qBAAoB,GAChCb,GAAQ,GACRxjG,EAAEyhB,oBAuBay+E,EAAAM,MAAM2D,OAEe7gF,EAAMs9B,iBAAmB,iBAAmB,cAtBpFQ,eAAwBphD,SACdsjB,EAAM+gF,qBAAoB,GAChCb,GAAQ,GACRxjG,EAAEyhB,oBAqBay+E,EAAAM,MAAM0D,kBAlJ7BrjG,EAAAygG,SAAA,SAAyBh+E,GAqBrB,OAAA,EAAO28E,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,0BAAA,mBAAA,gBAAA,OAAA,iBAAA,OAAA,oCAAA,yCAAA,mBAAA,oEAAA,4BAAA,mBAAA,oEAAA,4BAAA,mBAAA,oEAAA,cAAA,4BAAA,mBAAA,2DACmBv8E,EAAMyf,OAAS,YAAc,WAA6Bzf,EAAM2T,MAC5EssE,EAAoBjgF,EACpB0gF,EAAsB1gF,EACHA,EAAMizB,MAAQ,8BAAgC,aAdxE,WACIjzB,EAAMghF,UAAUhhF,EAAMizB,OACtBjzB,EAAMu9E,iBAcCv9E,EAAMizB,MAAQ2pD,EAAAM,MAAM+D,KAAOrE,EAAAM,MAAMgE,MAElBlhF,EAAM4vD,KAAO,kBAAoB,IAb3D,WACI5vD,EAAMmhF,SAASnhF,EAAM4vD,MACrB5vD,EAAMu9E,iBAYCv9E,EAAM4vD,KAAOgtB,EAAAM,MAAMkE,UAAYxE,EAAAM,MAAMmE,SAEtBrhF,EAAM6a,SAAW,kBAAoB,IA/B/D,WACI7a,EAAMujB,iBACNvjB,EAAMu9E,iBA8BCX,EAAAM,MAAMoE,UAESthF,EAAM2a,WAAa,kBAAoB,IAC5B,IAA/B3a,EAAMzhB,UAAUgjG,aAAsB,SAAU,IA9BtD,WACIvhF,EAAMioB,mBACNjoB,EAAMu9E,iBA6BCX,EAAAM,MAAMsE,gBzBohKnB,CAAC,SAAS,IAAI,WAAW,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAASvkG,EAAQS,EAAOH,GACvI,aAEA,IAAI2+F,EAIJttF,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQkkG,uBAAoB,E0B9kK5B,MAAA9E,EAAA1/F,EAAA,UACA2/F,EAAA3/F,EAAA,YACAykG,EAAAzkG,EAAA,uBAKAM,EAAAkkG,kBAAA,SAAkCzhF,GAC9B,OAAA,EAAO28E,EAAAzkC,MAAPgkC,I1BikK4BM,E0BjkK5B,CAAA,cAAA,aAAA,aAAA,0DAAA,2BAAA,sBAAA,iCAAA,gCAAA,0B1BikKiDnkF,IAAOA,EAAMmkF,EAAQ91F,MAAM,I0BjkK5Ew1F,E1BikKyFttF,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,Q0BhkK/JqpF,EAAAC,iBALI,IACA,IAMY,KACH1hG,OACL28F,EAAAM,MAAMmE,UACK,SACD,S1B0jK7B,IAAgC7E,EAASnkF,IAsBvC,CAAC,SAAS,IAAI,WAAW,IAAI,sBAAsB,MAAM,IAAI,CAAC,SAASpb,EAAQS,EAAOH,GACxF,aAIA,IAAI2+F,EAFJj/F,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQokG,sBAAmB,E2B3mK3B,MAAArD,EAAArhG,EAAA,gBACA0/F,EAAA1/F,EAAA,UAcAM,EAAAokG,iBAAA,SAAiC3hF,GAC7B,MAAM4hF,SAAEA,EAAFC,SAAYA,EAAZC,aAAsBA,EAAtBrwE,SAAoCA,EAApCzW,KAA8CA,GAASgF,EACvD+hF,EAAaF,EAAWD,EACxBI,GAAY,EAAA1D,EAAAvF,QAAuB,OAClCv5F,EAAOyiG,IAAY,EAAA3D,EAAA3F,UAASmJ,IAC5BpuF,EAASwuF,IAAc,EAAA5D,EAAA3F,UAAS,IAEvC,EAAA2F,EAAAzF,YAAU,KACN,GAAkB,OAAdmJ,GAA4C,OAAtBA,EAAU3oC,QAChC,OAGJ,IAAIh2B,GAAU,EACd,MAAMt9B,EAAKi8F,EAAU3oC,QACf8oC,EAAaC,IACf,MAAMC,EAAet8F,EAAGoQ,wBAClBmsF,GAAcF,EAAGruD,QAAUsuD,EAAa/6F,MAAQ+6F,EAAalgG,MAEnE,OADgBsN,KAAKqI,IAAIrI,KAAKkI,IAAI,EAAG2qF,GAAa,GACjCP,GAEflpE,EAAWupE,IACTA,EAAG/wF,SAAWtL,GAAMs9B,IAGxBA,GAAU,EACV6+D,EAAW,IAEXD,EAASE,EAAUC,IACnBA,EAAGjkF,kBACHikF,EAAGryF,mBAEDwyF,EAAUH,IACZ,IAAK/+D,EACD,OAGJ,MAAMm/D,EAAWL,EAAUC,GAC3BH,EAASO,GACT/wE,EAAS+wE,GACTJ,EAAGjkF,kBACHikF,EAAGryF,kBAEDipB,EAASopE,IACX,IAAK/+D,EACD,OAGJA,GAAU,EACV6+D,EAAW,GACX,MAAMM,EAAWL,EAAUC,GAC3BH,EAASO,GACT/wE,EAAS+wE,GACTJ,EAAGjkF,kBACHikF,EAAGryF,kBAWP,OARArP,OAAOwD,iBAAiB,cAAe20B,GACvCn4B,OAAOwD,iBAAiB,cAAeq+F,GACvC7hG,OAAOwD,iBAAiB,YAAa80B,GACrCt4B,OAAOwD,iBAAiB,gBAAiB80B,GACzCjzB,EAAG7B,iBAAiB,YAAa80B,GACjCjzB,EAAG7B,iBAAiB,gBAAiB80B,GACrChZ,EAAMyiF,gBAAgBR,GAEf,KACHjiF,EAAMtS,eAAeu0F,GACrBvhG,OAAOyF,oBAAoB,cAAe0yB,GAC1Cn4B,OAAOyF,oBAAoB,cAAeo8F,GAC1C7hG,OAAOyF,oBAAoB,YAAa6yB,GACxCt4B,OAAOyF,oBAAoB,gBAAiB6yB,GAC5CjzB,EAAGI,oBAAoB,YAAa6yB,GACpCjzB,EAAGI,oBAAoB,gBAAiB6yB,MAE7C,CAACgpE,IAEJ,MAAM16F,EAAQmI,KAAKqI,IAAI,EAAGrI,KAAKkI,IAAI,IAAKlI,KAAKwoB,MAAMz4B,EAAQuiG,EAAa,OAAU,IAElF,IAAI1Y,EAAQ55E,KAAKwoB,MAA2B,IAApB2pE,EAAWpiG,IAAe,GAAK,GAKvD,OAJIoiG,EAAWpiG,IAAUqiG,QAA+B37C,IAAnBlmC,EAAM0iF,WACvCrZ,EAAQrpE,EAAM0iF,WAGlB,EAAO/F,EAAAzkC,MAAPgkC,I3BqgK4BM,E2BrgK5B,CAAA,+LAAA,4GAAA,iCAAA,uFAAA,qLAAA,mCAAA,sI3BqgKiDnkF,IAAOA,EAAMmkF,EAAQ91F,MAAM,I2BrgK5Ew1F,E3BqgKyFttF,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,Q2BlgKvJ2C,EAE+CgnF,EACrC,+EACGhiF,EAAM2T,MAAQ3T,EAAM2T,MAAQ,IACuB,CAAErsB,KAAAA,GAEN,WAAaoM,EAC9D21E,G3B0/J9B,IAAgCmT,EAASnkF,IA6GvC,CAAC,SAAS,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAASpb,EAAQS,EAAOH,GACxH,aAEA,IAAI2+F,EAIJttF,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQolG,YAAS,E4B9tKjB,MAAAhG,EAAA1/F,EAAA,UAEA2/F,EAAA3/F,EAAA,YAMAM,EAAAolG,OAAA,SAAuB3iF,GASnB,IAAI4iF,EAAmB5iF,EAAM05E,OAK7B,OAJyB,OAArBkJ,GAAmD,OAAtB5iF,EAAM6iF,cACnCD,GAAoB,KAAO5iF,EAAM6iF,YAAY1I,cAAgB,SAGjE,EAAOwC,EAAAzkC,MAAPgkC,I5BmsK4BM,E4BnsK5B,CAAA,oEAAA,4KAAA,yDAAA,+BAAA,uBAAA,iE5BmsKiDnkF,IAAOA,EAAMmkF,EAAQ91F,MAAM,I4BnsK5Ew1F,E5BmsKyFttF,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,Q4BlsKzG2H,EAAM2T,MAGrDivE,GAAoB5iF,EAAM8iF,kBAAoB,gBAEb,OAAjB9iF,EAAM05E,OAAkB,uBAAyB,kBAnB/E,WACyB,OAAjB15E,EAAM05E,QAIV15E,EAAM+iF,UAAU,QAgBLnG,EAAAM,MAAM8F,S5B2rKzB,IAAgCxG,EAASnkF,IA+BvC,CAAC,SAAS,IAAI,WAAW,MAAM,IAAI,CAAC,SAASpb,EAAQS,EAAOH,GAC9D,aAEA,IAAI2+F,EAAiBC,EAErB,SAASI,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAE1KzJ,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ0lG,oBAAsB1lG,EAAQ2lG,2BAAwB,E6BjwK9D,MAAAvG,EAAA1/F,EAAA,UACA2/F,EAAA3/F,EAAA,YACAkmG,EAAAlmG,EAAA,qBACAykG,EAAAzkG,EAAA,uBAKAM,EAAA2lG,sBAAA,SAAsCljF,GAClC,OAAKA,EAAMq9B,gBAAmBr9B,EAAMs9B,kBAIpC,EAAOq/C,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,cAAA,aAAA,aAAA,8BAAA,2BAAA,sBAAA,iCAAA,gCAAA,4BACO4G,EAAAC,eATM,GACA,IASUpjF,EAAM6+E,SAASrhD,eAClBv9C,GAAc+f,EAAM6+E,SAASwE,iBAAiBpjG,IACnD+f,EAAMs9B,iBAAmBs/C,EAAAM,MAAM0D,iBAAmBhE,EAAAM,MAAM2D,OAC7C7gF,EAAM6+E,SAASyE,uBAChBtjF,EAAM6+E,SAAS0E,sBAT7B,MAcfhmG,EAAA0lG,oBAAA,SAAoCjjF,GAChC,OAAA,EAAO28E,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,cAAA,aAAA,aAAA,8BAAA,2BAAA,sBAAA,iCAAA,gCAAA,4BACOmF,EAAAC,iBArBM,GACA,IAqBU3hF,EAAM6+E,SAASrhD,eAClBv9C,GAAc+f,EAAM6+E,SAASwE,iBAAiBpjG,IACnD+f,EAAMs9B,iBAAmBs/C,EAAAM,MAAM0D,iBAAmBhE,EAAAM,MAAM2D,OAC7C7gF,EAAM6+E,SAASyE,uBAChBtjF,EAAM6+E,SAAS0E,wB7B+vK1C,CAAC,SAAS,IAAI,WAAW,IAAI,sBAAsB,IAAI,oBAAoB,MAAM,IAAI,CAAC,SAAStmG,EAAQS,EAAOH,GAChH,aAEA,IAAI2+F,EAAiBC,EAErB,SAASI,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAE1KzJ,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQimG,0BAA4BjmG,EAAQkmG,iCAA8B,E8BxyK1E,MAAA9G,EAAA1/F,EAAA,UACA2/F,EAAA3/F,EAAA,YACAkmG,EAAAlmG,EAAA,qBACAykG,EAAAzkG,EAAA,uBAKAM,EAAAkmG,4BAAA,SAA4CzjF,GACxC,OAAKA,EAAMgf,UAIX,EAAO29D,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,cAAA,aAAA,aAAA,8BAAA,2BAAA,sBAAA,iCAAA,gCAAA,4BACO4G,EAAAC,eATY,GACA,EASIpjF,EAAM6+E,SAAS5/D,aAClBh/B,GAAc+f,EAAM6+E,SAAS6E,eAAezjG,IACjD28F,EAAAM,MAAMsD,YACKxgF,EAAM6+E,SAAS8E,6BAChB3jF,EAAM6+E,SAAS+E,4BAT7B,MAcfrmG,EAAAimG,0BAAA,SAA0CxjF,GACtC,OAAA,EAAO28E,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,cAAA,aAAA,aAAA,8BAAA,2BAAA,sBAAA,iCAAA,gCAAA,4BACOmF,EAAAC,iBArBY,GACA,EAqBI3hF,EAAM6+E,SAAS5/D,aAClBh/B,GAAc+f,EAAM6+E,SAAS6E,eAAezjG,IACjD28F,EAAAM,MAAMsD,YACKxgF,EAAM6+E,SAAS8E,6BAChB3jF,EAAM6+E,SAAS+E,8B9BsyK1C,CAAC,SAAS,IAAI,WAAW,IAAI,sBAAsB,IAAI,oBAAoB,MAAM,IAAI,CAAC,SAAS3mG,EAAQS,EAAOH,GAChH,aAEA,IAAI2+F,EAAiBC,EAAkBC,EAEvC,SAASG,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAE1KzJ,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQsmG,aAAU,E+Bh1KlB,MAAAvF,EAAArhG,EAAA,gBACA0/F,EAAA1/F,EAAA,UAGA2/F,EAAA3/F,EAAA,YAEA6mG,EAAA7mG,EAAA,kBACA8mG,EAAA9mG,EAAA,0BACA+mG,EAAA/mG,EAAA,wBAEAgnG,EAAAhnG,EAAA,yBAiEA,SAASinG,EAAYlkF,GACjB,IAAsC,IAAlCA,EAAMzhB,UAAUw+F,cAChB,OAAO,KAKX,SAASoH,IACLnkF,EAAMzhB,UAAU0+F,WAAW,qCAAsC,UAGrE,SAASmH,IACLpkF,EAAMzhB,UAAU0+F,WAAW,2BAA4B,UAW3D,OAAoB,KAlBsB,eAAtBj9E,EAAMqkF,cAmBtB,EAAO1H,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,mNAAA,uBAAA,wHAAA,uBAAA,mEAGgE4H,EACrDvH,EAAAM,MAAMoH,QAEqDF,EAC3DxH,EAAAM,MAAMqH,WAMrB,EAAO5H,EAAAzkC,MAAPkkC,IAAAA,EAAAG,EAAA,CAAA,qIAAA,uBAAA,kHAAA,uBAAA,kHAAA,uBAAA,wHAAA,uBAAA,mEAE0E4H,EAC3DvH,EAAAM,MAAMoH,QAE+CF,EACrDxH,EAAAM,MAAMqH,UA5BrB,WACIvkF,EAAMzhB,UAAU0+F,WAAW,yDAA0D,YA8B1EL,EAAAM,MAAMsH,SA3BrB,WACIxkF,EAAMzhB,UAAU0+F,WAAW,2BAA4B,YA6B5CL,EAAAM,MAAMuH,gBAhHzBlnG,EAAAsmG,QAAA,SAAwB7jF,GACpB,IAAKA,EAAMs9E,QACP,OAAO,MAGX,EAAAgB,EAAAzF,YAAU,KACA74E,EAAMzhB,UAAUk/F,mBACD,OAAjBz9E,EAAM05E,SAIV,EAAAuK,EAAA1K,eAAcv5E,EAAM0kF,qBACf9yD,MAAMixD,IACH7iF,EAAM2kF,eAAe9B,GACrB7iF,EAAM+iF,UAAUF,EAAYnJ,WAE/B5nD,MAAMxjC,QAAQrI,SACpB,CAAC+Z,EAAM05E,SAUV,MAAMkL,EAAmC,eAAtB5kF,EAAMqkF,YAWzB,OAAA,EAAO1H,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,mWAAA,mBAAA,0NAAA,aAAA,mBAAA,6DAAA,OAAA,iBAAA,OAAA,iBAAA,OAAA,gEAAA,OAAA,4BAnBA,WAC8B,SAAtBv8E,EAAMqkF,YACNrkF,EAAMu9E,eAENv9E,EAAM6kF,eAAe,UAoBE,SAApB7kF,EAAMqkF,YAAuBzH,EAAAM,MAAMgC,QAAUtC,EAAAM,MAAM4H,iBAIlCF,EAAa,kBAAoB,IAlB7D,WACQA,EACA5kF,EAAMzhB,UAAU0+F,WAAW,+BAAgC,WAG/Dj9E,EAAM+kF,aAAY,GAClB/kF,EAAMu9E,kBAaCX,EAAAM,MAAM8H,mBAIVlB,EAAAmB,KAAWjlF,EACX+jF,EAAAmB,YAAkBllF,EAClBgkF,EAAAmB,WAAiBnlF,EAIjBkkF,EAAkBlkF,K/Bm2K3B,CAAC,wBAAwB,IAAI,SAAS,IAAI,WAAW,IAAI,yBAAyB,IAAI,iBAAiB,IAAI,uBAAuB,IAAI,eAAe,MAAM,IAAI,CAAC,SAAS/iB,EAAQS,EAAOH,GAC1L,aAIA,IAAI2+F,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAE3E,SAASC,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAJ1Kpb,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ2nG,iBAAc,EgCr7KtB,MAAAvI,EAAA1/F,EAAA,aAEA2/F,EAAA3/F,EAAA,eAOAM,EAAA2nG,YAAA,SAA4BllF,GACxB,GAA0B,OAAtBA,EAAM6iF,YACN,OAAO,KAGX,MAAMuC,EAAuB1oG,IACzBsjB,EAAM6kF,eAAe,gBACrBnoG,EAAEyhB,kBACFzhB,EAAEqT,kBAGN,IAAuB,IAAnBiQ,EAAMqlF,UAA2C,SAAtBrlF,EAAMqkF,YACjC,OAAA,EAAO1H,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,mFAAA,+BAAA,wHAAA,uFACwEv8E,EAAM2T,MAChEyxE,EAKHxI,EAAAM,MAAMoI,mBAMrB,GAA0B,iBAAtBtlF,EAAMqkF,YACN,OAAO,KAGX,MAAMnoE,EAAO,GACb,IAAK,MAAMw9D,KAAU9qF,OAAOiI,KAAKmJ,EAAM6iF,YAAYhI,YAAa,CAC5D,MAAMl+D,EAAM,GACZA,EAAIv+B,MAAJ,EAASu+F,EAAAzkC,MAATikC,IAAAA,EAAAI,EAAA,CAAA,qEAAA,YAAkF7C,IAClF,IAAK,IAAI58F,EAAI,EAAGA,EAAI,IAAKA,EACrB6/B,EAAIv+B,MAAJ,EAASu+F,EAAAzkC,MAATkkC,IAAAA,EAAAG,EAAA,CAAA,yFAAA,4CAEUv8E,EAAM6iF,YAAYhI,WAAWnB,GAAQ58F,KAInDo/B,EAAK99B,MAAL,EAAUu+F,EAAAzkC,MAAVmkC,IAAAA,EAAAE,EAAA,CAAA,wDAAA,YAAsE5/D,IAG1E,OAAA,EAAOggE,EAAAzkC,MAAPokC,IAAAA,EAAAC,EAAA,CAAA,yGAAA,4BAGUrgE,KhCy6KZ,CAAC,YAAY,IAAI,cAAc,IAAI,kDAAkD,MAAM,IAAI,CAAC,SAASj/B,EAAQS,EAAOH,GAC1H,aAEA,IAAI2+F,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAoCiJ,EAAkBC,EAEjI,SAASjJ,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAE1KzJ,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ0nG,UAAO,EiC1+Kf,MAAAtI,EAAA1/F,EAAA,aAGAwoG,EAAAxoG,EAAA,aACA4/F,EAAA5/F,EAAA,eACAyoG,EAAAzoG,EAAA,aACA8mG,EAAA9mG,EAAA,kBACA2/F,EAAA3/F,EAAA,eAEA0oG,GADA1oG,EAAA,kBACAA,EAAA,qBACA2oG,EAAA3oG,EAAA,qBACA4oG,EAAA5oG,EAAA,0BA2BA,SAAS6oG,EAAgB9lF,GAKrB,OAAA,EAAO28E,EAAAzkC,MAAPqtC,IAAAA,EAAAhJ,EAAA,CAAA,qIAAA,2CAAA,OAAA,2BACkEv8E,EAAMqpE,MAC1CrpE,EAAM+lF,SAAe/lF,EAAMgmF,UAI7D,SAASC,EAAoBjmF,GACzB,OAAqB,OAAjBA,EAAM05E,OACC,MAGX,EAAOiD,EAAAzkC,MAAPstC,IAAAA,EAAAjJ,EAAA,CAAA,mFAAA,8BAAA,kDAAA,6DAAA,mFAC4Ev8E,EAAM2T,OAC5D,IAAM3T,EAAM6kF,eAAe,eAElC7kF,EAAM29E,aAAe,kBAAoB,qBAGzCf,EAAAM,MAAMoI,mBA/CzB/nG,EAAA0nG,KAAA,SAAqBjlF,GACjB,GAA0B,SAAtBA,EAAMqkF,YACN,OAAO,KAGX,MAAM5G,GAA0D,IAAtCz9E,EAAMzhB,UAAUk/F,kBAE1C,OAAA,EAAOd,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,cAAA,0DAAA,iBAAA,wBAAA,OAAA,0BAAA,aAAA,aAAA,aAAA,6EAAA,cAAA,4BAAA,aAAA,iBAAA,iCAAA,aAAA,iBAAA,2BAAA,aAAA,eACOkJ,EAAArG,OAAgEp/E,EAChE68E,EAAAmB,UAAgC,EAAYh+E,EAE5Cy9E,IAAiB,EAAId,EAAAzkC,MAAJikC,IAAAA,EAAAI,EAAA,CAAA,wDACjBkB,IAAiB,EAAId,EAAAzkC,MAAJkkC,IAAAA,EAAAG,EAAA,CAAA,IAAA,oBAAA,SAAYmJ,EAAA/C,OAA0B3iF,GACvDy9E,IAAiB,EAAId,EAAAzkC,MAAJmkC,IAAAA,EAAAE,EAAA,CAAA,IAAA,OAAA,0BAAA,SAAYwH,EAAAmB,YAAkBllF,GAA+B,GAC9Ey9E,IAAiB,EAAId,EAAAzkC,MAAJokC,IAAAA,EAAAC,EAAA,CAAA,IAAA,OAAA,sBAAY0J,EAA0BjmF,IAGvD,EACA8lF,EAA2CF,EAAAM,qBAAiClmF,EAC5E8lF,EAAgDD,EAAArC,0BAAsCxjF,EACtF8lF,EAA0CH,EAAA1C,oBAAgCjjF,KjCq/KnF,CAAC,YAAY,IAAI,cAAc,IAAI,YAAY,IAAI,cAAc,IAAI,iBAAiB,IAAI,YAAY,IAAI,mBAAmB,IAAI,yBAAyB,IAAI,oBAAoB,IAAI,iBAAiB,MAAM,IAAI,CAAC,SAAS/iB,EAAQS,EAAOH,GAC5O,aAEA,IAAI2+F,EAIJttF,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ4nG,gBAAa,EkCjiLrB,MAAAxI,EAAA1/F,EAAA,aAGAkpG,EAAAlpG,EAAA,iBAEAM,EAAA4nG,WAAA,SAA2BnlF,GACvB,MAA0B,eAAtBA,EAAMqkF,YACC,MAGX,EAAO1H,EAAAzkC,MAAPgkC,IlCkhL4BM,EkClhL5B,CAAA,cAAA,OAAA,alCkhLiDnkF,IAAOA,EAAMmkF,EAAQ91F,MAAM,IkClhL5Ew1F,ElCkhLyFttF,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,QkCjhL/J8tF,EAAAC,mBAAyBpmF,GlCihLpC,IAAgCw8E,EAASnkF,IAqBvC,CAAC,YAAY,IAAI,gBAAgB,MAAM,IAAI,CAAC,SAASpb,EAAQS,EAAOH,GACtE,aAIA,IAAI2+F,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAE3E,SAASC,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAJ1Kpb,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ8oG,kBAAe,EmC7jLvB,MAAA/H,EAAArhG,EAAA,gBACAu8F,EAAAv8F,EAAA,iCACA0/F,EAAA1/F,EAAA,gBACA2/F,EAAA3/F,EAAA,kBACAqpG,EAAArpG,EAAA,oBAGMspG,EAAc,KAEpBhpG,EAAA8oG,aAAA,SAA6BrmF,GACzB,MAAO/Z,EAAOugG,IAAY,EAAAlI,EAAA3F,UAAwB,OAC3C9qF,EAAM4wF,IAAW,EAAAH,EAAA3F,WAAkB,IACnC8N,EAAMC,IAAW,EAAApI,EAAA3F,UAAiB4N,IAClCI,EAAaC,IAAkB,EAAAtI,EAAA3F,UAAwB,OACvDkO,EAAYC,IAAiB,EAAAxI,EAAA3F,WAAkB,GAiDhDoO,EAAgBl5F,GAAQ44F,IAASF,GAA+B,OAAhBI,EAGtD,OAAA,EAAOhK,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,6DAAA,uBAAA,oBAEMsK,GAAU,EACZlK,EAAAzkC,MADYikC,IAAAA,EAAAI,EAAA,CAAA,wFAAA,qEAEiEv8E,EAAM9D,SAFvE,EAMZygF,EAAAzkC,MANYkkC,IAAAA,EAAAG,EAAA,CAAA,+EAAA,qDAAA,kDAAA,wCAAA,iQAAA,oCAQe1uF,EACZA,EAAO,uCAAyC,IA7DnEiwC,eAAwBphD,GACpB,MAAMsqG,EAAU/gF,OAAOqD,SAAS5sB,EAAEuqG,cAAcznG,OAChD,IACIi/F,GAAQ,GACRmI,EAAe,MACfF,EAAQM,GACJA,IAAYT,GACZK,QAmGhB9oD,eAA2BopD,EAAiBlnF,GAAiB,IAAAmnF,EACzD,MAAM1H,EAAQ,QAAA0H,EAAGnnF,EAAMy/E,gBAAT,IAAA0H,EAAAA,EAAqBnnF,EAAMonF,kBASzC,aAPqB,EAAAd,EAAAlmD,SAAQo5C,EAAAmC,4BAA6B,OAAQnoE,KAAKpK,UAAU,CAC7ExjB,GAAI65F,EAAS75F,GACbwuD,UAAWqrC,EAASrrC,UACpB8yC,QAAAA,EACAG,MAAOrnF,EAAMsnF,iBACZD,MA3G4BE,CAAY,KAAOP,EAAShnF,IALzD,QAQIy+E,GAAQ,MAqDgB8H,EAKjBQ,EAAgBnK,EAAAM,MAAM8F,QAAQ,CAAErvE,MAAO,kCAA1B,EAA8DgpE,EAAAzkC,MAA9DmkC,IAAAA,EAAAE,EAAA,CAAA,kIAAA,+BAAA,wEAtD5Bz+C,eAAyBphD,GAGrB,GAFAA,EAAEyhB,mBAEEtQ,EAAJ,CAIA24F,EAAS,MACT/H,GAAQ,GAER,IACI,GAAIgI,IAASF,QACH,EAAAD,EAAAlmD,SAAQo5C,EAAAsC,wBAAyB,OAAQtoE,KAAKpK,UAAU,CAC1Di+E,MAAOrnF,EAAMsnF,gBAGjBtnF,EAAM9D,aACH,CACH,GAAoB,OAAhByqF,EACA,MAAM,IAAIvpG,MAAM,wBAsFpC,SAAkBupG,EAAqB1J,GACnCA,EAAWzD,EAAAkC,iBAAmB,UAAYiL,EAAa,UArF3Ca,CAASb,EAAa3mF,EAAMzhB,UAAU0+F,YACtC/9F,YAAW,KACP4nG,GAAc,KACf,MAET,MAAOpqG,GACL8pG,EA6CZ,SAAkB3pF,GACd,GAAgB,oBAAZA,EACA,MAAO,uCAEX,GAAgB,oBAAZA,EACA,MAAO,2DAEX,GAAgB,oBAAZA,EACA,MAAO,uDAEX,GAAgB,cAAZA,EACA,MAAO,kBAEX,GAAgB,cAAZA,EACA,MAAO,wDAGX,OAAOA,EA9DU4qF,CAAS/qG,EAAEmgB,UAjBxB,QAmBI4hF,GAAQ,OA4BO7B,EAAAM,MAAMC,OAMvBl3F,GAAK,EACP02F,EAAAzkC,MADOokC,IAAAA,EAAAC,EAAA,CAAA,iEAAA,sBAE+Ct2F,GAClD,QnCylLV,CAAC,gCAAgC,IAAI,eAAe,IAAI,iBAAiB,IAAI,mBAAmB,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAAShJ,EAAQS,EAAOH,GAC9M,aAIA,IAAI2+F,EAAiBC,EAAkBC,EAAkBC,EAEzD,SAASE,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAJ1Kpb,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQmqG,iBAAc,EoCrsLtB,MAAAlO,EAAAv8F,EAAA,iCACAqhG,EAAArhG,EAAA,gBAEAqpG,EAAArpG,EAAA,oBACA0/F,EAAA1/F,EAAA,gBACA2/F,EAAA3/F,EAAA,kBAEAM,EAAAmqG,YAAA,SAA4B1nF,GAAiB,IAAA2nF,EACzC,MAAON,EAAOO,IAAY,EAAAtJ,EAAA3F,UAAA,QAAAgP,EAAiB3nF,EAAMsnF,oBAAvB,IAAAK,EAAAA,EAAuC,KAC1D1hG,EAAOugG,IAAY,EAAAlI,EAAA3F,UAAwB,OAC3CkP,EAAeC,IAAoB,EAAAxJ,EAAA3F,WAAkB,GAEtDoP,EAAmBV,IAAUrnF,EAAMsnF,cAA0B,KAAVD,EAEzD,SAAS51E,EAAS/0B,GAAM,IAAAsrG,EACpBJ,GAAS,QAAAI,EAACtrG,EAAEuqG,cAAcznG,aAAjB,IAAAwoG,EAAAA,EAAoC,IAAIjoG,cAAc0B,QAiBnEq8C,eAAemqD,IACXH,GAAiB,GAEjB,IACI,GAAIC,EAMA,YAL2B,OAAvB/nF,EAAMsnF,eACmD,IAAzD5mG,OAAOwnG,QAAQ,6CAkC/BpqD,iBAA0B,IAAAqpD,EACtB,GAAIU,GAAkC,OAAjB7nF,EAAM05E,OAEvB,YADA8M,EAAS,0BAIbA,EAAS,MACTsB,GAAiB,GAEjB,MAAMrI,EAAQ,QAAA0H,EAAGnnF,EAAMy/E,gBAAT,IAAA0H,EAAAA,EAAqBnnF,EAAMonF,kBACzC,IACI,MAAMzmD,QAEI,EAAA2lD,EAAAlmD,SAAQo5C,EAAAwC,oBAAqB,OAAQxoE,KAAKpK,UAAU,CAC1DgrC,UAAWqrC,EAASrrC,UACpBxuD,GAAI65F,EAAS75F,GACb8zF,OAAQ15E,EAAM05E,UAGlB15E,EAAMmoF,gBAAgBxnD,EAAS0mD,OACjC,MAAO3qG,GACL8pG,EAAS9pG,EAAEmgB,SAXf,QAaIirF,GAAiB,IAxDHP,IAMd,MAAMa,EAA4B,IAAjBf,EAAM5pG,OAAe,KAAO4pG,EAC7C,GAAIe,IAAapoF,EAAMsnF,aACnB,QAO8C,IAH9C5mG,OAAOwnG,QACM,OAAbE,EACI,8BACA,wCACa,OAAbA,SAahBtqD,eAA0BupD,SAChB,EAAAf,EAAAlmD,SAAQo5C,EAAAuC,oBAAsB,UAAYsL,GAb9BgB,CAAWD,GAGrBpoF,EAAMmoF,gBAAgBd,IAE5B,MAAO3qG,GACL8pG,EAAS,gBAAkB9pG,EAAEmgB,SA3BjC,QA6BIirF,GAAiB,IAmCzB,OAAA,EAAOnL,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,4DAAA,uBAAA,YAGOsL,GAAa,EAChBlL,EAAAzkC,MADgBikC,IAAAA,EAAAI,EAAA,CAAA,4DAAA,4EAGLK,EAAAM,MAAM8F,UAHD,EAMhBrG,EAAAzkC,MANgBkkC,IAAAA,EAAAG,EAAA,CAAA,mFAAA,kEAAA,+BAAA,YAAA,cAAA,uDAAA,+BAAA,uBAAA,6FAQ8B,KAAV8K,EAAe,iBAAmB,mBAChBA,EACnC51E,GA1FvB,SAAiB/0B,GACb+0B,EAAS/0B,GAEK,UAAVA,EAAEmvB,KACFo8E,IAGJvrG,EAAEyhB,qBAXN,SAAmBzhB,GACfA,EAAEyhB,oBA8FuC4pF,EAAmB,sCAAwC,GAClFE,EACPF,EAAmBnL,EAAAM,MAAMC,KAAOP,EAAAM,MAAM0D,kBAM9C36F,GAAK,EACR02F,EAAAzkC,MADQmkC,IAAAA,EAAAE,EAAA,CAAA,sDAAA,sBAEmCt2F,GACvC,QpCorLV,CAAC,gCAAgC,IAAI,eAAe,IAAI,iBAAiB,IAAI,mBAAmB,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAAShJ,EAAQS,EAAOH,GAC9M,aAMA,IAAI2+F,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBgM,EAAkB/C,EAAkBC,EAAkB+C,EAAkBC,EAAmBC,EAAmBC,EAE3M,SAASnM,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAN1Kpb,EAAQ,mDAERA,EAAQ,wCAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ6oG,wBAAqB,EqC9zL7B,MAAA9H,EAAArhG,EAAA,gBACAu8F,EAAAv8F,EAAA,iCACA0/F,EAAA1/F,EAAA,gBACA2/F,EAAA3/F,EAAA,kBAEA44C,EAAA54C,EAAA,gBACAqpG,EAAArpG,EAAA,oBAEA0rG,EAAA1rG,EAAA,kBACA2rG,EAAA3rG,EAAA,oBAmLA,SAAS4rG,EAAkB7oF,GACvB,MAAO8oF,EAAOC,IAAY,EAAAzK,EAAA3F,UAAiB34E,EAAMgpF,QAAUtiE,KAAKC,OAmBhE,OAjBA,EAAA23D,EAAAzF,YAAU,KACN,GAAIiQ,GAAS,EACT,OAGJ,MAAMljG,EAAK4Q,aAAY,KACnB,MAAMsyF,EAAQr5F,KAAKqI,IAAI,EAAGkI,EAAMgpF,QAAUtiE,KAAKC,OACjC,IAAVmiE,IACA9oF,EAAM9D,SACN3F,cAAc3Q,IAGlBmjG,EAASD,KACV,KACH,MAAO,IAAMvyF,cAAc3Q,KAC5B,CAACoa,EAAMgpF,WAEV,EAAOrM,EAAAzkC,MAAPowC,IAAAA,EAAA/L,EAAA,CAAA,oEAAA,mDAAA,kBAAA,4BAEkBuM,EAAQ,IAAa,gBAAkB,gBACvC9oF,EAAM9D,OA+J5B,SAAsB+sF,GAClB,GAAIA,EAAU,MAAc,CACxB,MAAMC,EAAOz5F,KAAKwoB,MAAMgxE,EAAU,GAAK,GAAK,GAAK,IAAM,GACvD,OAAOC,GAAiB,IAATA,EAAa,OAAS,SAGzC,GAAID,EAAU,KAAS,CACnB,MAAME,EAAQ15F,KAAKwoB,MAAMgxE,EAAU,GAAK,GAAK,IAAM,GACnD,OAAOE,GAAmB,IAAVA,EAAc,QAAU,QAI5C,OADgB15F,KAAKwoB,MAAMgxE,EAAU,GAAK,IAAM,GAC/B,OA1KPG,CAAaN,EAAQ,MAKnC,SAASO,EAAIrpF,GACT,MAAOspF,EAAUC,IAAe,EAAAjL,EAAA3F,WAAkB,IAC3C1yF,EAAOugG,IAAY,EAAAlI,EAAA3F,UAAwB,MA2DlD,SAASt6C,IACLkrD,GAAY,IACZ,EAAA1zD,EAAA0lD,YAAW/B,EAAAoC,QAAA,UAAAxyF,OAAoB4W,EAAMsnF,aAA1B,SAAAl+F,OAA8C4W,EAAMwpF,IAAIC,MAC9D73D,MAAK,KACF23D,GAAY,GACZvpF,EAAMwpF,IAAIE,WAAW,MACrB1pF,EAAMwpF,IAAIG,oBAAmB,MAEhC73D,OAAOp1C,IAAK,IAAAktG,EACTt7F,QAAQrI,MAAM,iBAAkBvJ,GAChC8pG,EAAQ,QAAAoD,EAACltG,EAAEmtG,iBAAH,IAAAD,EAAAA,EAAgBltG,EAAEmgB,SAC1B0sF,GAAY,MAIxB,GAAc,OAAVtjG,EACA,OAAA,EAAO02F,EAAAzkC,MAAPqtC,IAAAA,EAAAhJ,EAAA,CAAA,sDAAA,sBAC2Ct2F,GAI/C,GAAIqjG,EACA,OAAA,EAAO3M,EAAAzkC,MAAPstC,IAAAA,EAAAjJ,EAAA,CAAA,kBAAA,mEACOK,EAAAM,MAAM8F,SAIjB,GAA0B,OAAtBhjF,EAAMwpF,IAAIjiC,QAAkB,CAC5B,MAAMuiC,EACF9pF,EAAM29E,aAAe,aAChB39E,EAAMwpF,IAAIO,mBAAqB,gBAAkB,UAEpDC,EAAiB,KACfhqF,EAAMwpF,IAAIO,oBA3EtB,WAAwB,IAAAE,EACpB,MAAMC,GAAgBlqF,EAAM29E,aACtBp2B,EAAUvnD,EAAMwpF,IAAIjiC,QAGrBA,IAIL,QAAA0iC,EAAAjqF,EAAM6+E,SAAS7/C,iBAAf,IAAAirD,GAAAA,EAA0Br4D,MAAMzX,GACxB+vE,GACAlqF,EAAMwpF,IAAIW,uBAAsB,GAEN,UAAtBl2B,SAASC,eACoBhuB,IAA7BlmC,EAAMzhB,UAAU6rG,UAChB7iC,EAAQie,SAAS,gBAEVrrD,EAAG21C,eAjPH,EAkPH,QAAUvI,EAAQj6C,UAAU,EAAGi6C,EAAQ9pE,OAAS,eAAeA,QAAQoF,QAAQ,KAAM,KAfxF,MAkBMs3B,EAAG21C,eArPH,EAqPsCvI,EAlB5C,OAsBFptC,EAAG61C,kBAzPK,KA2Pdp+B,MAAK,KACF5xB,EAAMwpF,IAAIW,uBAAsB,GAChCnqF,EAAMqqF,gBAAgBH,GAClBA,IACAlqF,EAAM6+E,SAAS/kE,OAAO+X,MAAMnyB,QAAQ,aACpCM,EAAMu9E,mBAGbzrD,OAAOp1C,IACJsjB,EAAMwpF,IAAIW,uBAAsB,GAChC77F,QAAQrI,MAAMvJ,GACd8pG,EAAS9pG,EAAEmgB,aAyCfytF,IAGJ,OAAA,EAAO3N,EAAAzkC,MAAPqwC,IAAAA,EAAAhM,EAAA,CAAA,yIAAA,qEAAA,sGAAA,IAAA,mCAAA,qCAAA,kHAAA,2BAE+Ev8E,EAAMwpF,IAAIjiC,QAEvEvnD,EAAM29E,aAAe,cAAgB,eAErCqM,EAAkBF,EAClB9pF,EAAM29E,aAAe,SAAW,GAChC39E,EAAM29E,aAAe,SAAW,OAEhCt/C,GAItB,OAAIr+B,EAAMwpF,IAAIe,iBACV,EAAO5N,EAAAzkC,MAAPswC,IAAAA,EAAAjM,EAAA,CAAA,iEAAA,8IAAA,2BAEOiO,EAEuFnsD,IAIlG,EAAOs+C,EAAAzkC,MAAPuwC,IAAAA,EAAAlM,EAAA,CAAA,iJAAA,yBAxHA,WACIgN,GAAY,IACZ,EAAA1zD,EAAAn0C,WAAU83F,EAAAqC,SAAA,UAAAzyF,OAAqB4W,EAAMsnF,eAChC11D,MAAM+O,IACH4oD,GAAY,GACZvpF,EAAMwpF,IAAIiB,OAAO9pD,EAAS8oD,KAC1BzpF,EAAMwpF,IAAIG,oBAAmB,MAEhC73D,OAAOp1C,IAAK,IAAAguG,EACTp8F,QAAQrI,MAAM,kBAAmBvJ,GACjC8pG,EAAQ,QAAAkE,EAAChuG,EAAEmtG,iBAAH,IAAAa,EAAAA,EAAgBhuG,EAAEmgB,SAC1B0sF,GAAY,SAmH5B,SAASiB,IACL,MAAOG,EAAWC,IAAgB,EAAAtM,EAAA3F,UAjVT,IA8VzB,OAXA,EAAA2F,EAAAzF,YAAU,KACN,GAAkB,IAAd8R,EACA,OAGJ,MAAM/kG,EAAK1G,YAAW,KAClB0rG,EAAaD,EAAY,KAC1B,KACH,MAAO,IAAMtrG,aAAauG,KAC3B,CAAC+kG,KAEJ,EAAOhO,EAAAzkC,MAAPwwC,IAAAA,EAAAnM,EAAA,CAAA,qEAAA,8DAAA,4BAEWK,EAAAM,MAAM8F,QACP2H,EAAY,EAAIA,EAAY,OAAS,IArUnDptG,EAAA6oG,mBAAA,SAAmCpmF,GAC/B,MAAOqnF,EAAOO,IAAY,EAAAtJ,EAAA3F,UAAuB,OAC1C2Q,EAAUC,IAAe,EAAAjL,EAAA3F,WAAkB,IAC3CqQ,EAAS6B,IAAc,EAAAvM,EAAA3F,UAAiBjyD,KAAKC,QAE7CmkE,EAAQC,IAAa,EAAAzM,EAAA3F,UAAwB,OAC7CqS,EAAYC,IAAiB,EAAA3M,EAAA3F,UAAwB,OACrDuS,EAAoBC,IAAyB,EAAA7M,EAAA3F,WAAkB,IAC/DyS,EAAuBC,IAA4B,EAAA/M,EAAA3F,WAAkB,GAEtE2S,EAAqB,CACvB7B,IAAKqB,EACLL,OAAQM,EAERxjC,QAASyjC,EACTtB,WAAYuB,EAEZV,gBAAiBW,EACjBvB,mBAAoBwB,EAEpBpB,mBAAoBqB,EACpBjB,sBAAuBkB,GAGrBE,EAAyB,IACxBvrF,EACHwpF,IAAK8B,EACLpvF,OAAAA,GAmCJ4hC,eAAe5hC,IAMX,GALA6uF,EAAU,MACVE,EAAc,MACdE,GAAsB,GACtB5B,GAAY,GAEe,OAAvBvpF,EAAMsnF,aAGN,OAFAM,EAAS,WACT2B,GAAY,IAIhB,EAAAjD,EAAAlmD,SAAQo5C,EAAAuC,oBAAA,UAAA3yF,OAAgC4W,EAAMsnF,eAAgB11D,MAAMy1D,IAChEO,EAASP,GACTkC,GAAY,GACZsB,EAAWnkE,KAAKC,MAAuB,IAAf0gE,EAAMmE,aAETtlD,IAAjBmhD,EAAMyD,QACNC,EAAU1D,EAAMyD,aAGK5kD,IAArBmhD,EAAM2D,WACNC,EAAc5D,EAAM2D,iBACI9kD,IAAjBmhD,EAAMyD,QACbK,GAAsB,MAE3Br5D,OAAOp1C,IACN4R,QAAQrI,MAAM,oBAAqB+Z,EAAMsnF,aAAc5qG,GACvDkrG,EAAS,MACT2B,GAAY,MAIpB,IAjEA,EAAAjL,EAAAzF,YAAU,KACN38E,MACD,CAAC8D,EAAMsnF,gBAEV,EAAAhJ,EAAAzF,YAAU,KACN,GAA2B,OAAvB74E,EAAMsnF,cAAyB0B,EAAUtiE,KAAKC,MAC9C,OAGJ,MAAM/gC,EAAK4Q,aAAY,MACnB,EAAA8vF,EAAAlmD,SAAQo5C,EAAAuC,oBAAA,UAAA3yF,OAAgC4W,EAAMsnF,eAAgB11D,MAAMy1D,IAChEA,EAAMyD,SAANzD,EAAMyD,OAAW,MACjBzD,EAAM2D,aAAN3D,EAAM2D,WAAe,MAGjBF,IAAWzD,EAAMyD,OAKjBzD,EAAM2D,aAAeA,IACrBC,EAAc5D,EAAM2D,YACpBG,GAAsB,IANtBjvF,SAST,KAEH,MAAO,KACH3F,cAAc3Q,MAEnB,CAACoa,EAAMsnF,aAAc0B,EAAS8B,EAAQE,IAmCrC1B,EACA,OAAA,EAAO3M,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,qIAAA,wEAGWK,EAAAM,MAAM8F,SAKrB,GAAc,OAAVqE,EACA,OAAA,EAAO1K,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,qIAAA,OAAA,iBAAA,uCAGWoM,EAAAjB,YAAkB1nF,EAAsB,MAKvD,MAAMyrF,GAAiB,EAAG9O,EAAAzkC,MAAHkkC,IAAAA,EAAAG,EAAA,CAAA,yIAAA,wBAAA,uFAGArgF,EACR0gF,EAAAM,MAAM8F,SAKrB,OAAIgG,EAAUtiE,KAAKC,OACf,EAAOg2D,EAAAzkC,MAAPmkC,IAAAA,EAAAE,EAAA,CAAA,iBAAA,wEAAA,OAAA,yGAAA,sIAAA,OAAA,uCACMkP,EAEK9C,EAAAjB,YAAkB1nF,EAEQqnF,EAAM3N,OAGhCkP,EAAAvC,aAAmBkF,IAKlC,EAAO5O,EAAAzkC,MAAPokC,IAAAA,EAAAC,EAAA,CAAA,aAAA,gEAAA,OAAA,iGAAA,wBAAA,YAAA,WAAA,qBAAA,OAAA,qBAAA,OAAA,+BACMkP,EAEK9C,EAAAjB,YAAkB1nF,EAEQqnF,EAAM3N,OAChCmP,EAA6BG,EAAkB9sF,EAC/C0sF,EAAAvC,aAAmBkF,EACnBlC,EAAUkC,KrC65LvB,CAAC,gCAAgC,IAAI,eAAe,IAAI,iBAAiB,IAAI,mBAAmB,IAAI,eAAe,IAAI,mBAAmB,IAAI,iBAAiB,IAAI,uCAAuC,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAAStuG,EAAQS,EAAOH,GACxT,aAEA,IAAI2+F,EAIJttF,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQmuG,sBAAmB,EsC9lM3B,MAAA/O,EAAA1/F,EAAA,UAEA2/F,EAAA3/F,EAAA,YAEAM,EAAAmuG,iBAAA,SAAiC1rF,GtCqlMjC,IAAgCw8E,EAASnkF,EsC5kMrC,IAAI2H,EAAMgf,SAIV,OAAA,EAAO29D,EAAAzkC,MAAPgkC,ItCwkM4BM,EsCxkM5B,CAAA,gLAAA,yGAAA,uBAAA,iEtCwkMiDnkF,IAAOA,EAAMmkF,EAAQ91F,MAAM,IsCxkM5Ew1F,EtCwkMyFttF,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,QsCrkMvJukF,EAAAM,MAAMuD,QAfrB,SAAc/jG,GAAQ,IAAAutG,EAClB,QAAAA,EAAAjqF,EAAM6+E,SAAS7/C,iBAAf,IAAAirD,GAAAA,EAA0Br4D,MAAMzX,IAC5BA,EAAGmI,mBAEP5lC,EAAEyhB,kBACFzhB,EAAEqT,mBAaS6sF,EAAAM,MAAM8F,WtCimMvB,CAAC,SAAS,IAAI,WAAW,MAAM,IAAI,CAAC,SAAS/lG,EAAQS,EAAOH,GAC9D,aAIA,IAAI2+F,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBgM,EAAkB/C,EAAkBC,EAEjI,SAASjJ,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAJ1Kpb,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQouG,UAAO,EuCpoMf,MAAArN,EAAArhG,EAAA,gBACA0/F,EAAA1/F,EAAA,UAEA2/F,EAAA3/F,EAAA,YAGM2uG,EAAoE,CACtEC,gBAAiB,CACbltE,MAAO,aACPmtE,KAAG,EAAEnP,EAAAzkC,MAAFgkC,IAAAA,EAAAK,EAAA,CAAA,o9BAAA,+HAkB4BK,EAAAM,MAAMsD,cAMzCuL,iBAAkB,CACdptE,MAAO,aACPmtE,KAAG,EAAEnP,EAAAzkC,MAAFikC,IAAAA,EAAAI,EAAA,CAAA,qjBAAA,gRAY4BK,EAAAM,MAAMsD,cASzCwL,WAAY,CACRrtE,MAAO,gBACPmtE,KAAG,EAAEnP,EAAAzkC,MAAFkkC,IAAAA,EAAAG,EAAA,CAAA,uRAAA,qUAAA,8QAAA,8iBAOQK,EAAAM,MAAMuD,OAKN7D,EAAAM,MAAM8F,QAMNpG,EAAAM,MAAMsD,cAerB9rD,OAAQ,CACJ/V,MAAO,kBACPmtE,KAAG,EAAEnP,EAAAzkC,MAAFmkC,IAAAA,EAAAE,EAAA,CAAA,kOAAA,4QAAA,yQAAA,kWAMQK,EAAAM,MAAM2D,OAMNjE,EAAAM,MAAM0D,iBAMNhE,EAAAM,MAAM4D,SAWrBmL,QAAS,CACLttE,MAAO,UACPmtE,KAAG,EAAEnP,EAAAzkC,MAAFokC,IAAAA,EAAAC,EAAA,CAAA,iUAAA,mOAAA,mOAAA,sOAAA,mOAAA,oTAOQK,EAAAM,MAAMgE,MAMNtE,EAAAM,MAAMmE,SAMNzE,EAAAM,MAAMoE,UAMN1E,EAAAM,MAAMsE,aAMN5E,EAAAM,MAAMQ,iBASrBwO,SAAU,CACNvtE,MAAO,YACPmtE,KAAG,EAAEnP,EAAAzkC,MAAFowC,IAAAA,EAAA/L,EAAA,CAAA,2TAAA,+aAMYK,EAAAM,MAAMiC,cAgBvBgN,EAHU,iEACX70F,KAAKzX,UAAUC,UAAUC,eAG1B,CAAC,kBAAmB,SAAU,UAAW,WAAY,cACrD,CAAC,mBAAoB,UAAW,WAAY,cAGhDxC,EAAAouG,KAAA,SAAqB3rF,GACjB,MAAMosF,EAAWpsF,EAAMosF,UAChBt9E,EAAWu9E,IAAgB,EAAA/N,EAAA3F,UAAiB,GAUnD,IARA,EAAA2F,EAAAzF,YAAU,KACDuT,GAILC,EAAarsF,EAAM6+E,SAAS7/D,SAAW,EAAI,KAC5C,CAACotE,KAECA,EACD,OAAO,KAGX,MAAME,EAAOV,EAAMO,EAAQr9E,IACrBy9E,EAAYz9E,IAAcq9E,EAAQ1uG,OAAS,EAYjD,OAAA,EAAOk/F,EAAAzkC,MAAPqtC,IAAAA,EAAAhJ,EAAA,CAAA,oYAAA,+FAAA,uEAAA,2BAAA,qJAAA,4FAAA,6EAAA,yBAAA,4DAMmBK,EAAAM,MAAMsP,kBAEoBF,EAAK3tE,OACQ,IAAM3e,EAAM+kF,aAAY,IAC/DnI,EAAAM,MAAMgC,QAIXoN,EAAKR,KAxBnB,SAAkBpvG,GACV6vG,EACAvsF,EAAM+kF,aAAY,GAElBsH,GAAcv9E,EAAY,GAAKq9E,EAAQ1uG,QAE3Cf,EAAEyhB,kBACFzhB,EAAEqT,mBAoBgEw8F,EAAW,QAAU,QAC3EA,IAAD,EAAa5P,EAAAzkC,MAAbstC,IAAAA,EAAAjJ,EAAA,CAAA,sGAAA,qDAEQK,EAAAM,MAAMoI,sBvCy9L/B,CAAC,SAAS,IAAI,WAAW,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAASroG,EAAQS,EAAOH,GACvI,aAIA,IAAI2+F,EAFJj/F,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ6lG,oBAAiB,EwCttMzB,MAAA9E,EAAArhG,EAAA,gBACA0/F,EAAA1/F,EAAA,UAaAM,EAAA6lG,eAAA,SAA+BpjF,GAC3B,MAAM4hF,SAAEA,EAAFC,SAAYA,EAAZC,aAAsBA,EAAtBrwE,SAAoCA,EAApCzW,KAA8CA,GAASgF,EACvD+hF,EAAaF,EAAWD,EACxBI,GAAY,EAAA1D,EAAAvF,QAAuB,OAClCv5F,EAAOyiG,IAAY,EAAA3D,EAAA3F,UAASmJ,IAC5BpuF,EAASwuF,IAAc,EAAA5D,EAAA3F,UAAS,IAEvC,EAAA2F,EAAAzF,YAAU,KACN,GAAkB,OAAdmJ,GAA4C,OAAtBA,EAAU3oC,QAChC,OAGJ,IAAIh2B,GAAU,EACd,MAAMt9B,EAAKi8F,EAAU3oC,QACf8oC,EAAaC,IACf,MAAMC,EAAet8F,EAAGoQ,wBAClBmsF,EAAa,GAAKF,EAAGpuD,QAAUquD,EAAal7F,KAAOk7F,EAAahgG,OAEtE,OADgBoN,KAAKqI,IAAIrI,KAAKkI,IAAI,EAAG2qF,GAAa,GACjCP,GAEflpE,EAAWupE,IACTA,EAAG/wF,SAAWtL,GAAMs9B,IAGxBA,GAAU,EACV6+D,EAAW,IAEXD,EAASE,EAAUC,IACnBA,EAAGjkF,kBACHikF,EAAGryF,mBAEDwyF,EAAUH,IACZ,IAAK/+D,EACD,OAGJ,MAAMm/D,EAAWL,EAAUC,GAC3BH,EAASO,GACT/wE,EAAS+wE,GACTJ,EAAGjkF,kBACHikF,EAAGryF,kBAEDipB,EAASopE,IACX,IAAK/+D,EACD,OAGJA,GAAU,EACV6+D,EAAW,GACX,MAAMM,EAAWL,EAAUC,GAC3BH,EAASO,GACT/wE,EAAS+wE,GACTJ,EAAGjkF,kBACHikF,EAAGryF,kBAWP,OARArP,OAAOwD,iBAAiB,cAAe20B,GACvCn4B,OAAOwD,iBAAiB,cAAeq+F,GACvC7hG,OAAOwD,iBAAiB,YAAa80B,GACrCt4B,OAAOwD,iBAAiB,gBAAiB80B,GACzCjzB,EAAG7B,iBAAiB,YAAa80B,GACjCjzB,EAAG7B,iBAAiB,gBAAiB80B,GACrChZ,EAAMyiF,gBAAgBR,GAEf,KACHjiF,EAAMtS,eAAeu0F,GACrBvhG,OAAOyF,oBAAoB,cAAe0yB,GAC1Cn4B,OAAOyF,oBAAoB,cAAeo8F,GAC1C7hG,OAAOyF,oBAAoB,YAAa6yB,GACxCt4B,OAAOyF,oBAAoB,gBAAiB6yB,GAC5CjzB,EAAGI,oBAAoB,YAAa6yB,GACpCjzB,EAAGI,oBAAoB,gBAAiB6yB,MAE7C,CAACgpE,IAEJ,MAAM76F,EAAO,IAAMsI,KAAKqI,IAAI,EAAGrI,KAAKkI,IAAI,IAAKlI,KAAKwoB,MAAMz4B,EAAQuiG,EAAa,OAAU,IAEvF,OAAA,EAAOpF,EAAAzkC,MAAPgkC,IxCsnM4BM,EwCtnM5B,CAAA,+LAAA,4GAAA,iCAAA,uFAAA,qLAAA,mCAAA,sIxCsnMiDnkF,IAAOA,EAAMmkF,EAAQ91F,MAAM,IwCtnM5Ew1F,ExCsnMyFttF,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,QwCnnMvJ2C,EAE+CgnF,EACrC,+EACGhiF,EAAM2T,MAAQ3T,EAAM2T,MAAQ,IACuB,CAAExsB,IAAAA,GAEN,WAAauM,EAC9DjE,KAAKwoB,MAA2B,IAApB2pE,EAAWpiG,IAAe,IxC2mMpE,IAAgCg9F,EAASnkF,IAuGvC,CAAC,SAAS,IAAI,kDAAkD,IAAI,eAAe,MAAM,IAAI,CAAC,SAASpb,EAAQS,EAAOH,GACxH,aAEA,IAAI2+F,EAAiBC,EAErB,SAASI,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAE1KzJ,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ2oG,qBAAuB3oG,EAAQkvG,4BAAyB,EyCl0MhE,MAAA9P,EAAA1/F,EAAA,UACA2/F,EAAA3/F,EAAA,YACAkmG,EAAAlmG,EAAA,qBACAykG,EAAAzkG,EAAA,uBAKAM,EAAAkvG,uBAAA,SAAuCzsF,GACnC,OAAIA,EAAMq9B,gBAAkBr9B,EAAMs9B,iBACvB,MAGX,EAAOq/C,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,cAAA,aAAA,aAAA,8BAAA,2BAAA,sBAAA,iCAAA,gCAAA,4BACO4G,EAAAC,eATO,EACA,EASSpjF,EAAM6+E,SAASjhD,QAClB39C,GAAc+f,EAAM6+E,SAAS6N,UAAUzsG,IAC5C28F,EAAAM,MAAMmE,SACKrhF,EAAM6+E,SAAS8N,wBAChB3sF,EAAM6+E,SAAS+N,wBAK5CrvG,EAAA2oG,qBAAA,SAAqClmF,GACjC,OAAA,EAAO28E,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,cAAA,aAAA,aAAA,8BAAA,2BAAA,sBAAA,iCAAA,gCAAA,4BACOmF,EAAAC,iBArBO,EACA,EAqBS3hF,EAAM6+E,SAASjhD,QAClB39C,GAAc+f,EAAM6+E,SAAS6N,UAAUzsG,IAC5C28F,EAAAM,MAAMmE,SACKrhF,EAAM6+E,SAAS8N,wBAChB3sF,EAAM6+E,SAAS+N,yBzCg0M1C,CAAC,SAAS,IAAI,WAAW,IAAI,sBAAsB,IAAI,oBAAoB,MAAM,IAAI,CAAC,SAAS3vG,EAAQS,EAAOH,GAChH,aAEAN,EAAQ,mDAERA,EAAQ,8BAERA,EAAQ,4CAER,IAAIqyC,EAAwD,SAAUD,GACpE,OAAOA,GAAOA,EAAIpgC,WAAaogC,EAAM,CACnCjgC,QAAWigC,IAIfzgC,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQuiG,aAAeviG,EAAQ6wB,MAAQ7wB,EAAQg7B,UAAYh7B,EAAQsvG,YAActvG,EAAQuvG,aAAevvG,EAAQwvG,cAAgBxvG,EAAQyvG,UAAYzvG,EAAQ26D,UAAO,E0Cj3MnK,MAAA+0C,EAAAhwG,EAAA,UACAiwG,EAAA59D,EAAAryC,EAAA,QAEaM,EAAA26D,KAAOg1C,EAAA99F,QAAID,KAAK89F,EAAAziG,GAEhBjN,EAAAyvG,UAAY,oBACZzvG,EAAAwvG,cAAgB,+BAChBxvG,EAAAuvG,aAAe,8BACfvvG,EAAAsvG,YAAc,6BAI3BtvG,EAAAg7B,UAAA,SAA0B5vB,EAA8B+wB,GACpD,MAAM3zB,EAAK5F,SAASC,cAAc,OAClC,GAAyB,iBAAduI,EACP5C,EAAG4C,UAAYA,OAEf,IAAK,MAAM+X,KAAQ/X,EACf5C,EAAG2W,UAAUze,IAAIyiB,GAMzB,YAHkBwlC,IAAdxsB,IACA3zB,EAAGxF,UAAYm5B,GAEZ3zB,GAGXxI,EAAA6wB,MAAA,SAAsBroB,EAAiBonG,GACnC,IAAK,MAAMzsF,KAAQk2B,YAAYqG,IAAI5I,SAASllC,KAAKmqB,OAC7CvzB,EAAG7B,iBAAiBwc,GAAM,KACjB3a,EAAG2W,UAAUvR,SAAS,iCACvBgiG,EAAWpnG,OAM3B,IAAIqnG,EAAiC,KACrC7vG,EAAAuiG,aAAA,SAA6Br8F,EAAkB4pG,EAAkBC,GAC7D,MAAMn2B,EAAO,IAAI0L,KAAK,CAACp/E,GAAO,CAC1BT,KAAMsqG,IAGc,OAApBF,GACA1sG,OAAOq+E,IAAI+V,gBAAgBsY,GAE/BA,EAAkB1sG,OAAOq+E,IAAI6V,gBAAgBzd,GAC7C,MAAMh6E,EAAIgD,SAASC,cAAc,KACjCjD,EAAE+6E,KAAOk1B,EACTjwG,EAAEowG,SAAWF,EACblwG,EAAE8E,MAAM0R,QAAU,OAElBxT,SAASwE,KAAKjB,YAAYvG,GAC1BA,EAAEixB,QACFjxB,EAAE8V,W1C63MJ,CAAC,kDAAkD,IAAI,2CAA2C,IAAI,6BAA6B,IAAI8hF,IAAM,IAAIuE,OAAS,MAAM,IAAI,CAAC,SAASr8F,EAAQS,EAAOH,GAC/L,aAKA,SAASo+B,EAAgB7vB,EAAK+f,EAAKrsB,GAAiK,OAApJqsB,KAAO/f,EAAO8C,OAAOC,eAAe/C,EAAK+f,EAAK,CAAErsB,MAAOA,EAAOsP,YAAY,EAAM0R,cAAc,EAAMgB,UAAU,IAAkB1V,EAAI+f,GAAOrsB,EAAgBsM,EAF3M7O,EAAQ,wCAIR,IAAIuwG,EAAyD5+F,OAAOM,OAAS,SAAUrS,EAAG6R,EAAGkD,EAAG67F,QACnFvnD,IAAPunD,IAAkBA,EAAK77F,GAC3B,IAAI87F,EAAO9+F,OAAOuW,yBAAyBzW,EAAGkD,GAEzC87F,KAAS,QAASA,GAAQh/F,EAAEO,WAAay+F,EAAKlsF,UAAYksF,EAAKltF,gBAClEktF,EAAO,CACL5+F,YAAY,EACZjI,IAAK,WACH,OAAO6H,EAAEkD,MAKfhD,OAAOC,eAAehS,EAAG4wG,EAAIC,IAC3B,SAAU7wG,EAAG6R,EAAGkD,EAAG67F,QACVvnD,IAAPunD,IAAkBA,EAAK77F,GAC3B/U,EAAE4wG,GAAM/+F,EAAEkD,IAGR+7F,EAA+D/+F,OAAOM,OAAS,SAAUrS,EAAGoD,GAC9F2O,OAAOC,eAAehS,EAAG,UAAW,CAClCiS,YAAY,EACZtP,MAAOS,KAEP,SAAUpD,EAAGoD,GACfpD,EAAW,QAAIoD,GAGb2tG,EAAkD,SAAUv+D,GAC9D,GAAIA,GAAOA,EAAIpgC,WAAY,OAAOogC,EAClC,IAAItuC,EAAS,GACb,GAAW,MAAPsuC,EAAa,IAAK,IAAIz9B,KAAKy9B,EAAe,YAANz9B,GAAmBhD,OAAOnI,UAAU4I,eAAe7R,KAAK6xC,EAAKz9B,IAAI47F,EAAgBzsG,EAAQsuC,EAAKz9B,GAItI,OAFA+7F,EAAmB5sG,EAAQsuC,GAEpBtuC,GAGT6N,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQswG,8BAAgCtwG,EAAQuwG,mCAAgC,E2Cl+MhF,MAAAC,EAAAH,EAAA3wG,EAAA,cAeM+wG,EAAc,IAAItiC,YAExB,MAAMuiC,EAWF16F,YAAY26F,GAAkBvyE,EAAAp4B,KAAA,YAVVmjC,KAAKC,MAAQ,IAUHhL,EAAAp4B,KAAA,gBAAA,GAAAo4B,EAAAp4B,KAAA,SANd,GAMco4B,EAAAp4B,KAAA,aALT,GAKSo4B,EAAAp4B,KAAA,cAJR,GAIQo4B,EAAAp4B,KAAA,WAFI,SAG9BA,KAAK6mG,SAAW8D,EAGpB1oC,WACIjiE,KAAK6mG,SAAS+D,YAAY,eAAiB5qG,KAAKqhE,UAAY,MAC5DtoB,sBAAsB/4C,KAAK2Y,OAAO/M,KAAK5L,OAIlBu6C,0BAACx+C,EAAqB0gB,GAC3C,QAAckmC,IAAVlmC,IAAuBA,MAAAA,OAAA,EAAAA,EAAO4kD,aAAcrhE,KAAKqhE,UAIrD,OAAQtlE,GACJ,IAAK,SAAU,CACX,IAAI8uG,EAAevrC,EAAUt/D,KAAK6mG,SAAU,eAAgBpqF,EAAMgyD,QAAQ,IAE1E,GAAIo8B,EAAa3wG,OAAS,EAEtB,MADA6Q,QAAQrI,MAAMmoG,GACR,IAAIhxG,MAAMgxG,GAGpB,QAAyBloD,IAArBlmC,EAAMgyD,QAAQ,KACdo8B,EAAevrC,EAAUt/D,KAAK6mG,SAAU,eAAgBpqF,EAAMgyD,QAAQ,IAClEo8B,EAAa3wG,OAAS,GAEtB,MADA6Q,QAAQrI,MAAMmoG,GACR,IAAIhxG,MAAMgxG,GAIxB,MAAM7uF,EAAU,WAChBhc,KAAK6mG,SAAS+D,YAAY5uF,GAC5B,MACF,IAAK,aACDhc,KAAK6mG,SAASz7B,OAAO3uD,EAAM6L,IAAK7L,EAAM8mB,QAAU,EAAI,EAAG9mB,EAAMwuD,QAC/D,MACF,IAAK,WACDjrE,KAAK6mG,SAAS+D,YAAY,aAAe5qG,KAAKqhE,UAAY,MAC5D,MACF,IAAK,YACDrhE,KAAK6mG,SAAS+D,YAAY,cAAgB5qG,KAAKqhE,UAAY,MAC7D,MACF,IAAK,UACDrhE,KAAK6mG,SAAS+D,YAAY,YAAc5qG,KAAKqhE,UAAY,MAC3D,MACF,IAAK,YACDrhE,KAAK6mG,SAAS+D,YAAY,cAAgB5qG,KAAKqhE,UAAY,MAC7D,MACF,IAAK,UACDrhE,KAAK8qG,OAAQ,EACb9qG,KAAK6mG,SAAS+D,YAAY,YAAc5qG,KAAKqhE,UAAY,MAC3D,MACF,IAAK,gBACDrhE,KAAK6mG,SAASkE,UAAUtuF,EAAMzQ,EAAGyQ,EAAMxQ,EAAGwQ,EAAM4zD,SAAU5zD,EAAMwuD,QAClE,MACF,IAAK,kBACDjrE,KAAK6mG,SAASmE,YAAYvuF,EAAMsY,OAAQtY,EAAM8mB,QAAU,EAAI,EAAG9mB,EAAMwuD,QACvE,MACF,IAAK,uBACDjrE,KAAK6mG,SAAS+D,YAAY,yBAA2B5qG,KAAKqhE,UAAY,MACxE,MACF,IAAK,aACDrhE,KAAK6mG,SAAS+D,YAAY,eAAiB5qG,KAAKqhE,UAAY,KACxD5kD,EAAMsnD,YAAc,KACpBtnD,EAAMunD,QAAQ1kE,QAAQ,QAAS,IAAIA,QAAQ,SAAU,IAAM,MAC1Dmd,EAAMwnD,KAAO,GAAK,MACzB,MACF,IAAK,gBACDjkE,KAAK6mG,SAAS+D,YAAY,kBAAoB5qG,KAAKqhE,UAAY,KAC3D5kD,EAAMsnD,YAAc,MAC1B,MACF,QACIh5D,QAAQxH,IAAI,iCAAkCxH,EAAM0gB,IAKhEolD,mBAAmBrtC,GACfx0B,KAAKw0B,QAAUA,EAGnBknB,OACI17C,KAAK8qG,OAAQ,EAIIvwD,sBAACx+C,EAAckvG,GAChC,MAAMxuF,EAAQwuF,GAAY,GAC1B,OAAQlvG,GACJ,IAAK,kBAAmB,CACpB,MAAMgS,EAAS/N,KAAK6mG,SAASqE,aAC7BlrG,KAAKw0B,QAAQ,YAAa,CAAE6sC,UAAWrhE,KAAKqhE,UAAWrM,QAASjnD,IAElE,MACF,IAAK,gBACD/N,KAAKw0B,QAAQz4B,EAAM0gB,GACnBzc,KAAKw0B,QAAQ,kBAAmB,CAAE6sC,UAAWrhE,KAAKqhE,YACpD,MACF,IAAK,oBACDrhE,KAAKwhC,WAAa/kB,EAAM7d,MACxBoB,KAAKyhC,YAAchlB,EAAM3d,OACzBkB,KAAKw0B,QAAQz4B,EAAM0gB,GACrB,MACF,IAAK,gBAGL,IAAK,kBAgBL,QACIzc,KAAKw0B,QAAQz4B,EAAuB0gB,SAdxC,IAAK,aACDA,EAAMigC,OAAS0rB,EAAO3rD,EAAMigC,QAC5B18C,KAAKw0B,QAAQz4B,EAAM0gB,GACrB,MACF,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,iBACqBkmC,IAAlBlmC,EAAMnD,SAA2C,OAAlBmD,EAAMnD,SAAoBmD,EAAMnD,QAAQpf,OAAS,IAChFuiB,EAAMnD,QAAUmxF,EAAYriC,OAAOA,EAAO3rD,EAAMnD,WAEpDtZ,KAAKw0B,QAAQz4B,EAAM0gB,IAQvB9D,SACA3Y,KAAK8qG,OACL/xD,sBAAsB/4C,KAAK2Y,OAAO/M,KAAK5L,OAE3CA,KAAKmrG,cAGDA,cACJ,GAAwB,IAApBnrG,KAAKwhC,YAAyC,IAArBxhC,KAAKyhC,YAC9B,OAGJ,MAAM2pE,EAAeprG,KAAK6mG,SAASwE,kBACnC,GAA4B,IAAxBD,EAAalxG,OACb,OAGJ,MAAMoxG,EAAiBljC,EAAOgjC,GAC9B,GAA8B,IAA1BE,EAAepxG,OACf,OAGJ,MAAMskE,EAGA,GAEA+sC,EAA0B,EAAlBvrG,KAAKwhC,WACnB,IAAIwQ,EAAShyC,KAAKyhC,YACd+pE,GAAY,EAChB,IAAK,IAAIv7B,EAAO,EAAGA,EAAOjwE,KAAKyhC,cAAewuC,EAAM,CAChD,MAAMw7B,EAAWx7B,IAASjwE,KAAKyhC,YAAc,EAG7C,GAA6B,IAAzB6pE,EAAer7B,KAA6B,IAAdu7B,EAC9BA,EAAWv7B,OACR,IAAKw7B,GAAqC,IAAzBH,EAAer7B,MAA8B,IAAdu7B,EAAiB,CACpE,MACME,IADsC,IAAzBJ,EAAer7B,GAAcA,EAAOA,EAAO,GAClCu7B,EAAW,GAAKD,EACtCr7B,EAASo7B,EAAenoG,MAAM6uC,EAAQA,EAAS05D,GACrDltC,EAAM3jE,KAAK,CACPyS,MAAOk+F,EACPt7B,OAAAA,IAEJl+B,GAAU05D,EACVF,GAAY,GAIpBxrG,KAAKw0B,QAAQ,kBAAmB,CAC5B6sC,UAAWrhE,KAAKqhE,UAChB7C,MAAAA,KAKZ,MAAa+rC,EAITv6F,cAAAooB,EAAAp4B,KAAA,wBAFuF,SAIlF7C,OAAewuG,cAAiB3vF,IAC7B,GAAuB,iBAAZA,EAAsB,CAC7B,MAAM4vF,EAAO,IAAMnB,EAAYriC,OAAOA,EAAOpsD,IAAU7Y,MAAM,GAAI,GAAK,IACtE,IACI,MAAMjD,EAAO+vB,KAAKu4C,MAAMojC,GACxB5rG,KAAK6rG,qBAAqB3rG,EAAKnE,KAAMmE,GACvC,MAAO/G,GAEL,MADA4R,QAAQrI,MAAM,cAAekpG,EAAMzyG,GAC7BA,QAGV6G,KAAK6rG,qBAAqB7vF,EAAQjgB,KAAMigB,IAIhDhc,KAAK65C,qBAAuB75C,KAAK65C,qBAAqBjuC,KAAK5L,MAG/D65C,qBAAqB8wD,GACjB,MAAMj8B,EAAY,IAAIg8B,EAAuBC,GAG7C,OAFA3qG,KAAK6rG,qBAAuBn9B,EAAUE,gBAAgBhjE,KAAK8iE,GAC3DA,EAAUzM,WACHyM,GAMf,SAASpP,EAAUunC,EAAoB91E,EAAc/U,GACjD,QAAoC2mC,IAA/BkkD,EAAiBvnC,UAClB,OAAQunC,EAAiBvnC,UAAUvuC,EAAMsoD,EAAOr9D,IAKpD,IAAItZ,EAAQmkG,EAASiF,WAAW/6E,GAChC,GAAIruB,EAAMxI,OAAS,EACf,OAAOwI,EAGX,IAAI28C,EAAS,EACb,KAAOA,EAASrjC,EAAQ9hB,QAAQ,CAC5B,MAAMK,EAAO2R,KAAKkI,IATH,QASmB4H,EAAQ9hB,OAASmlD,GAC7C0sD,EAAQ/vF,EAAQolC,SAAS/B,EAAQA,EAAS9kD,GAEhD,GADAmI,EAAQmkG,EAASmF,WAAW3yB,EAAO0yB,IAC/BrpG,EAAMxI,OAAS,EACf,OAAOwI,EAEX28C,GAAU9kD,EAId,OADAmI,EAAQmkG,EAASoF,YACVvpG,EAGX,SAAS0lE,EAAO1jD,GACZ,OAAO8lF,EAAO/nB,YAAY/9D,GAG9B,SAAS20D,EAAO30D,GACZ,OAAO8lF,EAAOxnB,cAAct+D,GAlEhC1qB,EAAAuwG,8BAAAA,EAgCavwG,EAAAswG,8BAAgC,IAAIC,G3CokN/C,CAAC,YAAY,EAAE,uCAAuC,MAAM,IAAI,CAAC,SAAS7wG,EAAQS,EAAOH,GAC3F,aAGA,IAAI2+F,EAAiBC,EAAkBC,EAAkBC,EAAkBC,EAAkBgM,EAAkB/C,EAAkBC,EAAkB+C,EAAkBC,EAAmBC,EAAmBC,EAAmB+G,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAEpjB,SAASpU,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAE1KzJ,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ2/F,WAAQ,E4Ct0NhB,MAAAP,EAAA1/F,EAAA,SA4OaM,EAAA2/F,MAAQ,CACjBgC,QA3Oal/E,IAAD,EAA8B28E,EAAAzkC,MAA9BgkC,IAAAA,EAAAK,EAAA,CAAA,gCAAA,uOACav8E,EAAM2T,OA2O/BisE,WArOgB5/E,IAAD,EAA8B28E,EAAAzkC,MAA9BikC,IAAAA,EAAAI,EAAA,CAAA,oBAAA,gTACFv8E,EAAM2T,OAqOnBktE,OA/NY7gF,IAAD,EAA8B28E,EAAAzkC,MAA9BkkC,IAAAA,EAAAG,EAAA,CAAA,oBAAA,0PACEv8E,EAAM2T,OA+NnBitE,iBAzNsB5gF,IAAD,EAA8B28E,EAAAzkC,MAA9BmkC,IAAAA,EAAAE,EAAA,CAAA,qBAAA,gOACPv8E,EAAM2T,OAyNpBmtE,OAnNY9gF,IAAD,EAA8B28E,EAAAzkC,MAA9BokC,IAAAA,EAAAC,EAAA,CAAA,oBAAA,udACEv8E,EAAM2T,OAmNnButE,MA7MWlhF,IAAD,EAA8B28E,EAAAzkC,MAA9BowC,IAAAA,EAAA/L,EAAA,CAAA,wBAAA,yNACOv8E,EAAM2T,OA6MvBstE,KAvMUjhF,IAAD,EAA8B28E,EAAAzkC,MAA9BqtC,IAAAA,EAAAhJ,EAAA,CAAA,oBAAA,wYACIv8E,EAAM2T,OAuMnB0tE,SAhMcrhF,IAAD,EAA8B28E,EAAAzkC,MAA9BstC,IAAAA,EAAAjJ,EAAA,CAAA,oBAAA,qWACAv8E,EAAM2T,OAgMnBytE,UA1LephF,IAAD,EAA8B28E,EAAAzkC,MAA9BqwC,IAAAA,EAAAhM,EAAA,CAAA,oBAAA,ycACDv8E,EAAM2T,OA0LnB2tE,UAlLethF,IAAD,EAA8B28E,EAAAzkC,MAA9BswC,IAAAA,EAAAjM,EAAA,CAAA,oBAAA,qSACDv8E,EAAM2T,OAkLnB6tE,aA3IkBxhF,IAAD,EAA8B28E,EAAAzkC,MAA9B03C,IAAAA,EAAArT,EAAA,CAAA,oBAAA,wQACJv8E,EAAM2T,OA2InBmxE,iBArIsB9kF,IAAD,EAA8B28E,EAAAzkC,MAA9B23C,IAAAA,EAAAtT,EAAA,CAAA,oBAAA,0OACRv8E,EAAM2T,OAqInB2xE,kBA/HuBtlF,IAAD,EAA8B28E,EAAAzkC,MAA9B43C,IAAAA,EAAAvT,EAAA,CAAA,oBAAA,qOACTv8E,EAAM2T,OA+HnBwqE,YA/KiBn+E,IAAD,EAA8B28E,EAAAzkC,MAA9BuwC,IAAAA,EAAAlM,EAAA,CAAA,oBAAA,iLACHv8E,EAAM2T,OA+KnByqE,aA1KkBp+E,IAAD,EAA8B28E,EAAAzkC,MAA9BwwC,IAAAA,EAAAnM,EAAA,CAAA,oBAAA,8KACJv8E,EAAM2T,OA0KnB+pE,eArKoB19E,IAAD,EAA8B28E,EAAAzkC,MAA9Bu3C,IAAAA,EAAAlT,EAAA,CAAA,oBAAA,uSACNv8E,EAAM2T,OAqKnBqsE,SA/JchgF,IAAD,EAA8B28E,EAAAzkC,MAA9Bw3C,IAAAA,EAAAnT,EAAA,CAAA,oBAAA,6OACAv8E,EAAM2T,OA+JnBi9E,OAzJY5wF,IAAD,EAA8B28E,EAAAzkC,MAA9By3C,IAAAA,EAAApT,EAAA,CAAA,oBAAA,6OACEv8E,EAAM2T,OAyJnBwpE,KA9HUn9E,IAAD,EAA8B28E,EAAAzkC,MAA9B63C,IAAAA,EAAAxT,EAAA,CAAA,oBAAA,gLACIv8E,EAAM2T,OA8HnB6sE,YAzHiBxgF,IAAD,EAA8B28E,EAAAzkC,MAA9B83C,IAAAA,EAAAzT,EAAA,CAAA,oBAAA,gTACHv8E,EAAM2T,OAyHnB8sE,OAnHYzgF,IAAD,EAA8B28E,EAAAzkC,MAA9B+3C,IAAAA,EAAA1T,EAAA,CAAA,oBAAA,maACEv8E,EAAM2T,OAmHnBqvE,QA5GahjF,IAAD,EAA8B28E,EAAAzkC,MAA9Bg4C,IAAAA,EAAA3T,EAAA,CAAA,oBAAA,0RACCv8E,EAAM2T,OA4GnB8wE,eArGoBzkF,IAAD,EAA8B28E,EAAAzkC,MAA9Bi4C,IAAAA,EAAA5T,EAAA,CAAA,oBAAA,0VACNv8E,EAAM2T,OAqGnBqxE,mBA/FwBhlF,IAAD,EAA8B28E,EAAAzkC,MAA9Bk4C,IAAAA,EAAA7T,EAAA,CAAA,oBAAA,wUACVv8E,EAAM2T,OA+FnB2wE,QAzFatkF,IAAD,EAA8B28E,EAAAzkC,MAA9Bm4C,IAAAA,EAAA9T,EAAA,CAAA,oBAAA,kmCACCv8E,EAAM2T,OAyFnB4wE,SArEcvkF,IAAD,EAA8B28E,EAAAzkC,MAA9Bq4C,IAAAA,EAAAhU,EAAA,CAAA,oBAAA,22BACAv8E,EAAM2T,OAqEnB6wE,QApFaxkF,IAAD,EAA8B28E,EAAAzkC,MAA9Bo4C,IAAAA,EAAA/T,EAAA,CAAA,oBAAA,04BACCv8E,EAAM2T,OAoFnBwrE,WA3DgBn/E,IAAD,EAA8B28E,EAAAzkC,MAA9Bs4C,IAAAA,EAAAjU,EAAA,CAAA,oBAAA,6gBACFv8E,EAAM2T,OA2DnBiqE,OA1CY59E,IAAD,EAA8B28E,EAAAzkC,MAA9Bw4C,IAAAA,EAAAnU,EAAA,CAAA,oBAAA,2SACEv8E,EAAM2T,OA0CnBkqE,QAjDa79E,IAAD,EAA8B28E,EAAAzkC,MAA9Bu4C,IAAAA,EAAAlU,EAAA,CAAA,oBAAA,maACCv8E,EAAM2T,OAiDnB64E,kBAtCuBxsF,IAAD,EAA8B28E,EAAAzkC,MAA9By4C,IAAAA,EAAApU,EAAA,CAAA,oBAAA,2NACTv8E,EAAM2T,S5CosNrB,CAAC,QAAQ,MAAM,IAAI,CAAC,SAAS12B,EAAQS,EAAOH,GAC9C,aAIA,IAAI2+F,EAAiBC,EAAkBC,EAEvC,SAASG,EAAuBC,EAASnkF,GAA6C,OAAjCA,IAAOA,EAAMmkF,EAAQ91F,MAAM,IAAakI,OAAO6tF,OAAO7tF,OAAOyY,iBAAiBm1E,EAAS,CAAEnkF,IAAK,CAAE7Y,MAAOoP,OAAO6tF,OAAOpkF,OAJ1Kpb,EAAQ,mDAMR2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQszG,gBAAkBtzG,EAAQuzG,eAAY,E6Cv7N9C,MAAA7D,EAAAhwG,EAAA,UACAqhG,EAAArhG,EAAA,gBACA0/F,EAAA1/F,EAAA,SAEA8zG,EAAA9zG,EAAA,4BACA+zG,EAAA/zG,EAAA,2BACAg0G,EAAAh0G,EAAA,oCACAi0G,EAAAj0G,EAAA,wBACAk0G,EAAAl0G,EAAA,oBAMAm0G,EAAAn0G,EAAA,qBAEA4oG,EAAA5oG,EAAA,oCACA0oG,EAAA1oG,EAAA,8BACA2oG,EAAA3oG,EAAA,+BACAo0G,EAAAp0G,EAAA,6BAMMq0G,EACO,YADPA,EAEY,gBAFZA,EAGa,iBAHbA,EAIM,YAJNA,EAKY,oBA+DlB,SAAgBR,EAAUS,GAKtB,MAAMC,GAA+D,IAA5CD,EAAYhzG,UAAUk/F,kBACzChqD,EAAUmD,YAAYqG,IAAIxJ,QAC1Bg+D,EAAoBF,EAAYhzG,UAAUkhG,SAC1CD,EAA+C,mBAAtBiS,EAC1BC,GAAyBD,EAAkBC,QAC5CxrD,GACGu5C,EAAUE,IAAe,EAAArB,EAAA3F,UAA0B,OACnD2E,EAASqU,IAAc,EAAArT,EAAA3F,WAAkB,IACzCt7C,EAAgBsjD,IAAqB,EAAArC,EAAA3F,UAAkB4Y,EAAY1S,SAASxhD,iBAC5EC,EAAkByjD,IAAuB,EAAAzC,EAAA3F,UAAkB4Y,EAAY1S,SAASvhD,mBAChFte,EAAUqhE,IAAe,EAAA/B,EAAA3F,UAAkB4Y,EAAY1S,SAAS7/D,WAChEnE,EAAU+2E,IAAe,EAAAtT,EAAA3F,UAAkB4Y,EAAY1S,SAAS/kE,OAAOgO,kBACvEmL,EAAO+tD,IAAY,EAAA1C,EAAA3F,WAAkB,IACrC/oB,EAAMuxB,IAAW,EAAA7C,EAAA3F,WAAkB,IACnCh+D,EAAYk3E,IAAiB,EAAAvT,EAAA3F,UAAkB4Y,EAAY1S,SAAS/kE,OAAOa,aAC3EmjE,EAAWI,IAAgB,EAAAI,EAAA3F,WAAmB6Y,IAC9C9X,EAAQoY,IAAc,EAAAxT,EAAA3F,UAAwBllD,EAAQC,QAAQ49D,KAC9DxO,EAAkB4B,IAAuB,EAAApG,EAAA3F,UAAwB,OACjEyT,EAAUrH,IAAe,EAAAzG,EAAA3F,WAAkB,IAC3CkK,EAAa8B,IAAkB,EAAArG,EAAA3F,UAA6B,OAC5D0L,EAAaQ,KAAkB,EAAAvG,EAAA3F,UAAsB,SACrDyO,KAAqB,EAAA9I,EAAA3F,WAAmB,KAC3C,MAAMoZ,EAAWt+D,EAAQC,QAAQ49D,GAC3BU,EAAUD,MAAAA,EAAAA,GAAY,EAAAX,EAAApc,UAK5B,OAJiB,OAAb+c,GACAt+D,EAAQD,QAAQ89D,EAAqBU,GAGlC,CACH59C,UAAWu2B,mBAAmB,UAAY1W,SAASiE,KAAO,KAC1DtyE,GAAIosG,OAGL1K,GAAca,KAAmB,EAAA7J,EAAA3F,UAAwBllD,EAAQC,QAAQ49D,KACzE3T,GAAc0M,KAAmB,EAAA/L,EAAA3F,WAAkB,IAc1D,EAAA2F,EAAAzF,YAAU,KACN,MAAMoZ,EAAkBv1G,IAC6B,IAAAw1G,EAA3B,2BAAlBx1G,EAAE+G,KAAKoZ,UACP,QAAAq1F,EAAAx1G,EAAE6pB,cAAF,IAAA2rF,GAAAA,EAAUltC,YAAY,CAClBnoD,QAAS,sBACTwqF,MAAOC,IACR,OAKX,OADA5mG,OAAOwD,iBAAiB,UAAW+tG,GAC5B,IAAMvxG,OAAOyF,oBAAoB,UAAW8rG,KACpD,CAAC3K,MAEJ,EAAAhJ,EAAAzF,YAAU,UACyB,IAApB2G,GACPA,GAAgB,GAAO5tD,KAAK+tD,GAAa7tD,MAAMxjC,QAAQrI,SAE5D,CAACwrG,EAAmB9R,KAEvB,EAAArB,EAAAzF,YAAU,KACN0Y,EAAYY,UAAS,KACjB,MAAMnzE,EAAWuyE,EAAY1S,SAAS7/D,SAChCotE,EAAmD,UAAxC34D,EAAQC,QAAQ49D,GAC3Bc,EAAkBpzE,GAA0D,UAA9CyU,EAAQC,QAAQ49D,IAChDlF,GAAYgG,IACZpyF,GAAM+kF,aAAY,GAEtB1E,EAAYrhE,MAGT,IAAMuyE,EAAYY,UAAS,WACnC,CAACZ,EAAYY,YAEhB,EAAA7T,EAAAzF,YAAU,KACN,MAAMh1F,EAAW,KACb,MAAMwuG,EAA+C,OAA/BlyG,SAASsvC,kBAC/BoiE,EAAcQ,GACTA,GACDnU,GAAa,IAMrB,OAFA/9F,SAAS+D,iBAAiB,mBAAoBL,GAEvC,KACH1D,SAASgG,oBAAoB,mBAAoBtC,MAEtD,CAAC82B,EAAYk3E,IAEhB,MAAMS,GAAer/D,IAAkB,IAAAs/D,EACnC,QAAAA,EAAAhB,EAAY1S,SAAS7/C,iBAArB,IAAAuzD,GAAAA,EAAgC3gE,MAAMzX,IAClC8Y,EAAQ9Y,EAAG8Y,QAAU9Y,EAAG+Y,SACxB8tD,EAAS/tD,MACVnB,MAAMxjC,QAAQrI,QAGf+Z,GAAe,CACjB6+E,OAAQ0S,EAAY1S,OACpBtgG,QAASgzG,EAAYhzG,QAErBkhG,SAAAA,EACAE,YAAAA,EACAH,gBAAAA,EAEA4H,kBAAAA,GAEAE,aAAAA,GACAa,gBAAkBd,IACJ,OAAVA,EACI5zD,EAAQE,WAAW29D,GACnB79D,EAAQD,QAAQ89D,EAA0BjK,GAC9Cc,GAAgBd,IAGpBhqD,eAAAA,EACAsjD,kBAAmB7iD,MAAAA,IACf/f,EACIwzE,EAAY1S,SAAS1/C,uBACrBoyD,EAAY1S,SAAS9/C,wBACzB4hD,EAAkB5iE,IAGtBuf,iBAAAA,EACAyjD,oBAAqBjjD,MAAAA,IACjB99B,GAAM6+E,SAASkC,oBAAoBviE,GACnCuiE,EAAoBviE,IAGxBQ,SAAAA,EACAqhE,YAAaviD,MAAAA,IACT99B,GAAM6+E,SAASwB,YAAYrhE,GAC3BqhE,EAAYrhE,IAGhBnE,SAAAA,EACA0I,eAAgB,KACZquE,GAAaL,EAAY1S,SAAS/kE,OAAOgO,iBACzCypE,EAAY1S,SAAS/kE,OAAOyJ,kBAGhC5I,WAAAA,EACAsN,iBAAkB,KACdspE,EAAY1S,SAAS/kE,OAAOmO,oBAGhCgL,MAAAA,EACA+tD,SAAUsR,GAEV1iC,KAAAA,EACAuxB,QAAUvxB,IAAiB,IAAA4iC,EACvB,QAAAA,EAAAjB,EAAY1S,SAAS7/C,iBAArB,IAAAwzD,GAAAA,EAAgC5gE,MAAMzX,IAClCy1C,EAAOz1C,EAAGy1C,OAASz1C,EAAG01C,SACtBsxB,EAAQvxB,MACT99B,MAAMxjC,QAAQrI,QAGrB63F,UAAAA,EACAI,aAAAA,EAEAZ,QAAAA,EACAE,YAAa,IAAMmU,GAAW,GAC9BpU,aAAc,IAAMoU,GAAW,GAE/BjY,OAAQA,EACRqJ,UAzIJ,SAAmB0P,GACXA,IAAc/Y,IAIA,OAAd+Y,GACAh/D,EAAQD,QAAQ89D,EAA2BmB,GAE/CX,EAAWW,GACX/N,EAAoB,QAkIpB5B,iBAAAA,EACA4B,oBAAAA,EAEA0H,SAAAA,EACArH,YAAc2N,IACVj/D,EAAQD,QAAQ89D,EAAoBoB,EAAc,IAC9C1yF,GAAM6+E,SAAS7/D,UACfyU,EAAQD,QAAQ89D,EAA0BoB,EAAc,IAE5DxzG,YAAW,KACPozG,GAAYI,GACZ3N,EAAY2N,GACRA,GAA+C,WAAhCnB,EAAYhzG,UAAU0D,OACrCi8F,GAAa,KAElB,MAGP2E,YAAAA,EACA8B,eAAAA,EAEAN,YAAAA,EACAQ,eAAAA,GAEAlH,aAAAA,GACA0M,gBAAAA,IAGJ,OAAwB,IAApBrqF,GAAM89E,WACN,EAAOnB,EAAAzkC,MAAPgkC,IAAAA,EAAAK,EAAA,CAAA,uBAAA,OAAA,8EAAA,OAAA,+EACO0U,EAAA5S,iBAAuBr+E,GACvB+wF,EAAA9S,WAAiBj+E,KAI5B,EAAO28E,EAAAzkC,MAAPikC,IAAAA,EAAAI,EAAA,CAAA,sDAAA,OAAA,iBAAA,OAAA,mDAAA,OAAA,kLAAA,OAAA,8CAAA,OAAA,yBAAA,OAAA,yCAAA,OAAA,iFAAA,OAAA,yBAAA,OAAA,+DAEO2U,EAAArN,QAAc7jF,GACdmxF,EAAAxF,KAAW3rF,GAEPgxF,EAAAtU,UAAgB18E,GAIZixF,EAAA5S,iBAAuBr+E,GACvBqxF,EAAA3F,iBAAuB1rF,GACvB6lF,EAAApC,4BAAkCzjF,GAEtC+wF,EAAA9S,WAAiBj+E,GAEb2lF,EAAAzC,sBAA4BljF,GAC5B4lF,EAAA6G,uBAA6BzsF,IAvOhDziB,EAAAuzG,UAAAA,EA8OAvzG,EAAAszG,gBAAA,SAAgCrhE,EACAqvD,EACAtgG,EACA4zG,IAC5B,EAAAlF,EAAA/7E,SAAA,EAAOyrE,EAAAzkC,MAAPkkC,IAAAA,EAAAG,EAAA,CAAA,IAAA,WAAA,YAAA,aAAA,SAAeuU,GAAoB,IAAMjS,IAAkB,IAAMtgG,GAAoB4zG,GAAe3iE,K7Cy1NtG,CAAC,0BAA0B,IAAI,2BAA2B,IAAI,mCAAmC,IAAI,6BAA6B,IAAI,mCAAmC,IAAI,uBAAuB,IAAI,4BAA4B,IAAI,mBAAmB,IAAI,8BAA8B,IAAI,QAAQ,IAAI,kDAAkD,IAAI,oBAAoB,IAAI8pD,OAAS,IAAI,eAAe,MAAM,IAAI,CAAC,SAASr8F,EAAQS,EAAOH,GAC5b,aAEAqR,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQo1G,eAAY,E8C9qOpB,MAAAhW,EAAA1/F,EAAA,SACA21G,EAAA31G,EAAA,8BACAi+F,EAAAj+F,EAAA,yBAEA41G,EAAA51G,EAAA,gBAIM61G,EAAUj8D,IAkChB,SAAgB87D,EAAUnjE,EAAsBujE,GAC5C,MAAMx0G,EAAWw0G,GAAc,GAY/B,QAV2B7sD,IAAvB3nD,EAAQ0+F,aACc,iBAAXv8F,OACPnC,EAAQ0+F,WAAav8F,OAAO+e,KAAKtQ,KAAKzO,QAEtCnC,EAAQ0+F,WAAa,KACjB,MAAM,IAAI7/F,MAAM,gCAKN,SAAlBmB,EAAQ0D,MAER,OADAqM,QAAQ1P,KAAK,qFACNk0G,EAAQtjE,EAAMjxC,GAGzBixC,EAAK9yB,UAAUze,IAAI,QACnBuxC,EAAK9yB,UAAUze,IAAI,YACnBuxC,EAAK9yB,UAAUze,IAAI,YACnBuxC,EAAK9yB,UAAUze,IAAI,mBAEnB,MAAM+0G,GAAQ,EAAArW,EAAApkE,WAAU,CAAC,SAAU,WAAY,WAAY,SAAU,QACjE,WAAY,UAAW,eAAgB,iBAAkB,OACzD,cAAe,eACb06E,GAAY,EAAAtW,EAAApkE,WAAU,CAAC,WAAY,YAAa,YAAa,gBAC/D,mBACJy6E,EAAMtvG,YAAYuvG,GAElB,MAAMp2E,GAAM,EAAA8/D,EAAApkE,WAAU,CAAC,OAAQ,WAAY,YAAa,oBAClDmf,GAAQ,EAAAilD,EAAApkE,WAAU,aAClB26E,GAAU,EAAAvW,EAAApkE,WAAU,eACpBsC,GAAW,EAAA8hE,EAAApkE,WAAU,eACrBuY,EAAgBtB,EAStB,SAAS2jE,EAAUr1F,GACfm1F,EAAU1yG,UAAYud,EACtBk1F,EAAMt2F,UAAUzJ,OAAO,UACvB+/F,EAAMt2F,UAAUze,IAAI,QAVxB4+B,EAAIn5B,YAAYg0C,GAChB7a,EAAIn5B,YAAYm3B,GAEhB2U,EAAK9rC,YAAYwvG,GACjB1jE,EAAK9rC,YAAYm5B,GACjB2S,EAAK9rC,YAAYsvG,GAajBz0G,EAAQ4+C,cAAgB5+C,EAAQ4+C,eAAiB,GACjD5+C,EAAQ4+C,cAAcxK,YAAc9X,EACpCt8B,EAAQ4+C,cAAcpM,iBAAmBD,EACzCvyC,EAAQ4+C,cAAc1N,kBAAoBD,EAC1CjxC,EAAQ4+C,cAAcvd,eAAiB,GAEvC,MAAMwqE,EAAW7rG,EAAQ6rG,SACrBA,MAAAA,IACA7rG,EAAQ6+C,qBAAuB,IACpBw1D,EAAA/E,8BAA8BzwD,qBAAqBgtD,GAE9D7rG,EAAQ2+C,iBAAmB,WAI/B,MAAM2hD,EAASiU,EAAQp7D,EAAOn5C,GAC9B,IAAI60G,EAAQ,QAEZ,EAAAP,EAAAhC,iBAAgBqC,EAASrU,EAAQtgG,GADf80G,GAAyBD,EAAQC,IAGnDxU,EAAO9gD,UAAY,KAEnB,MAAMu1D,EAAQzU,EAAO0U,IACrB1U,EAAO0U,IAAMz1D,MAAOC,EAAmBC,EAA6BC,KA3BhE+0D,EAAMt2F,UAAUzJ,OAAO,QACvB+/F,EAAMt2F,UAAUze,IAAI,UA6BpB,MAAMu1G,EAAc,SAA4BttD,KAAtB3nD,MAAAA,OAAA,EAAAA,EAASkhG,UAAyBlhG,EAAQkhG,UAAS,GAAS,KAChFA,QAAiB+T,SACIttD,IAAvBlI,QAA2DkI,IAAvBjI,GAAiD,OAAbwhD,IACxEzhD,GAAqB,EAAAk9C,EAAAD,sBAAqBwE,EAASrrC,UAAWqrC,EAAS75F,GAAIm4C,GAAa,OAASrX,KAAKC,OAG1G,MAAMxM,QAAWm5E,EAAM91G,KAAKqhG,EAAQ9gD,EAAWC,EAAoBC,GACnE4gD,EAAO9gD,UAAYA,EAEnB,MAAM01D,EAAS5U,EAAO/kE,OAAOkY,YAsC7B,OArCA6sD,EAAO/kE,OAAOiY,WAAU+L,UACpB,MAAM41D,EAAyC,mBAApBn1G,MAAAA,OAAP,EAAOA,EAAS+0C,QAC9BqgE,EAAaD,EAEfA,GACAv5E,EAAGy1C,OAGP,MAAM6vB,QAAiB+T,IAEvB,GAAiB,OAAb/T,EAAmB,CACfkU,GACAR,EAAU,oCAGd,MAAM1vG,QAAa02B,EAAGskB,UAElBk1D,GACAR,EAAU,wCAGR,EAAAjY,EAAAF,mBAAkByE,EAASrrC,UAAWqrC,EAAS75F,GAAIm4C,EAAWt6C,QAEhEkwG,GACAR,EAAU,0CAGRM,EAAOj2G,KAAKqhG,EAAO/kE,QAGzB45E,GAAeC,IACfR,EAAU,uCACVF,EAAUv2F,UAAUzJ,OAAO,qBAInCmgG,IACOj5E,GAGX,MAAMy5E,EAAS/U,EAAOxgD,KAMtB,OALAwgD,EAAOxgD,KAAO,KACVwgD,EAAO9gD,UAAY,KACZ61D,EAAOp2G,KAAKqhG,IAGhBA,EAxIXthG,EAAAo1G,UAAAA,EA4ICjyG,OAAem2C,IAAM87D,G9C+oOpB,CAAC,wBAAwB,IAAI,QAAQ,IAAI,6BAA6B,IAAI,eAAe,MAAM,IAAI,CAAC,SAAS11G,EAAQS,EAAOH,GAC9H,aAEAqR,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ6iD,aAAU,E+C50OlB7iD,EAAA6iD,QAAOtC,eAAuB+1D,GAAsE,IAApDpuG,EAAoDkB,UAAAlJ,OAAA,QAAAyoD,IAAAv/C,UAAA,GAAAA,UAAA,GAAnC,MAAOhC,EAA4BgC,UAAAlJ,OAAA,QAAAyoD,IAAAv/C,UAAA,GAAAA,UAAA,GAAJ,KAC5F,MAAM5F,QAAe82E,MAAMg8B,EAAU,CACjCpuG,OAAAA,EACAd,KAAAA,EACA+yE,QAAS,IAAI6S,QAAQ,CAAE,eAAgB,uBACxC34C,MAAMn1C,GAAMA,EAAE0yG,SAEQ,IAAA2E,EAAzB,GAAoB,MAAhB/yG,EAAO1D,KACP,MAAM,IAAID,MAAJ,QAAA02G,EAAU/yG,EAAO8b,eAAjB,IAAAi3F,EAAAA,EAA4B,SAAW/yG,EAAO1D,MAGxD,OAAO0D,I/Cy1OT,IAAI,IAAI,CAAC,SAAS9D,EAAQS,EAAOH,GACnC,agDr2OA,SAAgBwjD,EAAKt7C,EACAy6C,EACAK,EACA57C,EACA66C,EACAk4B,GACjB,OAAO,IAAIrnC,SAAgB,CAAC8P,EAAS7P,KACjC,MAAM8P,EAAU,IAAIC,eA+BpB,GA9BAD,EAAQG,aAAeA,EACvBH,EAAQ3gC,KAAKha,EAAQy6C,GAAK,GAE1BE,EAAQl8C,iBAAiB,QAAQ,KACN,MAAnBk8C,EAAQM,OACRpQ,EAAO,IAAIlzC,MAAM,qBAAuBgjD,EAAQM,SACxB,SAAjBH,EACPJ,EAAQC,EAAQ2zD,cACQ,gBAAjBxzD,EACPJ,EAAQC,EAAQO,UAEhBrQ,EAAO,IAAIlzC,MAAM,4BAA8BmjD,OAEpD,GACHH,EAAQl8C,iBAAiB,SAAS,KAC9BosC,EAAO,IAAIlzC,MAAM,2BAA6B8iD,OAC/C,GACHE,EAAQl8C,iBAAiB,SAAS,KAC9BosC,EAAO,IAAIlzC,MAAM,6BAA+B8iD,OACjD,QAEgBgG,IAAf1G,IACAY,EAAQZ,WAAcxlC,IAClB,GAAIA,EAAM6mC,QAAU7mC,EAAM6lC,OAAS7lC,EAAM6lC,MAAQ,EAAG,CAChD,MAAMe,EAAWnxC,KAAKwoB,MAAqB,IAAfje,EAAM6mC,OAAiB7mC,EAAM6lC,OAAS,IAClEL,EAAWoB,WAKPsF,IAAZwxB,EACA,IAAK,MAAM7rD,KAAOjd,OAAOiI,KAAK6gE,GAC1Bt3B,EAAQU,iBAAiBj1B,EAAK6rD,EAAQ7rD,IAI9Cu0B,EAAQW,KAAKp8C,MAgCrB,SAAgBqvG,EAAK9zD,EACAK,EACA98C,GACjB,OAAOs9C,EAAK,OAAQb,EAAKK,EAAc98C,GhDwxO3CxG,EAAQ,mDAER2R,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQy2G,KAAOz2G,EAAQmE,UAAYnE,EAAQg+F,WAAah+F,EAAQwjD,UAAO,EgD52OvExjD,EAAAwjD,KAAAA,EAgDAxjD,EAAAg+F,WAAOz9C,eAA0BoC,EAAaz8C,GAC1C,MAAMk9C,EAAWntB,KAAKu4C,YAAaioC,EAAK9zD,EAAK,OAAQz8C,IAErD,GAAIk9C,EAASjhC,QACT,OAAOihC,EAGX,QAA2BuF,IAAvBvF,EAASkpD,UACT,MAAM,IAAIzsG,MAAMujD,EAASkpD,WAG7B,MAAM,IAAIzsG,MAAM,2CAA6Co2B,KAAKpK,UAAUu3B,EAASh8C,KAAM,KAAM,KAGrGpH,EAAAmE,UAAOo8C,eAAyBoC,GAC5B,MAAMS,EAAWntB,KAAKu4C,YAAahrB,EAAK,MAAOb,EAAK,SAEpD,GAAIS,EAASjhC,QACT,OAAOihC,EAGX,QAA2BuF,IAAvBvF,EAASkpD,UACT,MAAM,IAAIzsG,MAAMujD,EAASkpD,WAG7B,MAAM,IAAIzsG,MAAM,0CAA4Co2B,KAAKpK,UAAUu3B,EAAU,KAAM,KAG/FpjD,EAAAy2G,KAAAA,GhDo3OE,CAAC,kDAAkD,MAAM,IAAI,CAAC,SAAS/2G,EAAQS,EAAOH,GACxF,aAEAqR,OAAOC,eAAetR,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ09F,qBAAuB19F,EAAQ02G,qBAAuB12G,EAAQ22G,qBAAkB,EiDt8O3E32G,EAAA22G,gBAAkB,kBAE/B,MAAMC,EAAe,kEAErB,SAAgBF,EAAqB7/C,EAAmBxuD,EACnBm4C,EAAmBq2D,GACpD,QAAqBluD,IAAjBkuD,GAA8Br2D,EAAU1I,WAAW8+D,GACnD,OAAOp2D,EAAUzwB,UAAU6mF,EAAa12G,OAAS,GAGrD,MAAM8a,EAAQwlC,EAAU+B,YAAY,KAC9Bu0D,EAAWt2D,EAAUxwB,OAAOhV,EAAQ,GAC1C,MAAkB,YAAd67C,EACO,YAAcxuD,EAAK,IAAMyuG,EAEzB,eAAiBjgD,EAAY,IAAMxuD,EAAK,IAAMyuG,EAX7D92G,EAAA02G,qBAAAA,EAeA12G,EAAA09F,qBAAA,SAAqC7mC,EAAmBxuD,EAAYm4C,EAC/Bq2D,GACjC,MAAME,EAAoBL,EAAqB7/C,EAAWxuD,EAAIm4C,EAAWq2D,GACzE,OAAOD,EAAe,IAAMG,IjD48O9B,KAAK,GAAG,CAAC","file":"js-dos.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","!function t(e,n,o){function i(s,a){if(!n[s]){if(!e[s]){var c=\"function\"==typeof require&&require;if(!a&&c)return c(s,!0);if(r)return r(s,!0);var u=new Error(\"Cannot find module '\"+s+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var l=n[s]={exports:{}};e[s][0].call(l.exports,(function(t){return i(e[s][1][t]||t)}),l,l.exports,t,e,n,o)}return n[s].exports}for(var r=\"function\"==typeof require&&require,s=0;s<o.length;s++)i(o[s]);return i}({1:[function(t,e,n){\"use strict\";var o=t(\"./utils\");function i(){var t={},e=0,n=0,o=0;return{add:function(i,r){r||(r=i,i=0),i>n?n=i:i<o&&(o=i),t[i]||(t[i]=[]),t[i].push(r),e++},process:function(){for(var e=o;e<=n;e++)for(var i=t[e],r=0;r<i.length;r++){(0,i[r])()}},size:function(){return e}}}e.exports=function(t){var e=(t=t||{}).reporter,n=o.getOption(t,\"async\",!0),r=o.getOption(t,\"auto\",!0);r&&!n&&(e&&e.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\"),n=!0);var s,a=i(),c=!1;function u(){for(c=!0;a.size();){var t=a;a=i(),t.process()}c=!1}function l(){var t;t=u,s=setTimeout(t,0)}return{add:function(t,e){!c&&r&&n&&0===a.size()&&l(),a.add(t,e)},force:function(t){c||(void 0===t&&(t=n),s&&(clearTimeout(s),s=null),t?l():u())}}}},{\"./utils\":2}],2:[function(t,e,n){\"use strict\";(e.exports={}).getOption=function(t,e,n){var o=t[e];if(null==o&&void 0!==n)return n;return o}},{}],3:[function(t,e,n){\"use strict\";var o=e.exports={};o.isIE=function(t){return(-1!==(e=navigator.userAgent.toLowerCase()).indexOf(\"msie\")||-1!==e.indexOf(\"trident\")||-1!==e.indexOf(\" edge/\"))&&(!t||t===function(){var t=3,e=document.createElement(\"div\"),n=e.getElementsByTagName(\"i\");do{e.innerHTML=\"\\x3c!--[if gt IE \"+ ++t+\"]><i></i><![endif]--\\x3e\"}while(n[0]);return t>4?t:undefined}());var e},o.isLegacyOpera=function(){return!!window.opera}},{}],4:[function(t,e,n){\"use strict\";(e.exports={}).forEach=function(t,e){for(var n=0;n<t.length;n++){var o=e(t[n]);if(o)return o}}},{}],5:[function(t,e,n){\"use strict\";var o=t(\"../browser-detector\");e.exports=function(t){var e=(t=t||{}).reporter,n=t.batchProcessor,i=t.stateHandler.getState;if(!e)throw new Error(\"Missing required dependency: reporter.\");function r(e){var n=t.important?\" !important; \":\"; \";return(e.join(n)+n).trim()}function s(t){return i(t).object}return{makeDetectable:function(t,s,a){a||(a=s,s=t,t=null),(t=t||{}).debug,o.isIE(8)?a(s):function(s,a){var c=r([\"display: block\",\"position: absolute\",\"top: 0\",\"left: 0\",\"width: 100%\",\"height: 100%\",\"border: none\",\"padding: 0\",\"margin: 0\",\"opacity: 0\",\"z-index: -1000\",\"pointer-events: none\"]),u=!1,l=window.getComputedStyle(s),d=s.offsetWidth,h=s.offsetHeight;function p(){function n(){if(\"static\"===l.position){s.style.setProperty(\"position\",\"relative\",t.important?\"important\":\"\");var n=function(e,n,o,i){var r=o[i];\"auto\"!==r&&\"0\"!==function(t){return t.replace(/[^-\\d\\.]/g,\"\")}(r)&&(e.warn(\"An element that is positioned static has style.\"+i+\"=\"+r+\" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\"+i+\" will be set to 0. Element: \",n),n.style.setProperty(i,\"0\",t.important?\"important\":\"\"))};n(e,s,l,\"top\"),n(e,s,l,\"right\"),n(e,s,l,\"bottom\"),n(e,s,l,\"left\")}}\"\"!==l.position&&(n(),u=!0);var r=document.createElement(\"object\");r.style.cssText=c,r.tabIndex=-1,r.type=\"text/html\",r.setAttribute(\"aria-hidden\",\"true\"),r.onload=function(){u||n(),function t(e,n){if(!e.contentDocument){var o=i(e);return o.checkForObjectDocumentTimeoutId&&window.clearTimeout(o.checkForObjectDocumentTimeoutId),void(o.checkForObjectDocumentTimeoutId=setTimeout((function(){o.checkForObjectDocumentTimeoutId=0,t(e,n)}),100))}n(e.contentDocument)}(this,(function(t){a(s)}))},o.isIE()||(r.data=\"about:blank\"),i(s)&&(s.appendChild(r),i(s).object=r,o.isIE()&&(r.data=\"about:blank\"))}i(s).startSize={width:d,height:h},n?n.add(p):p()}(s,a)},addListener:function(t,e){function n(){e(t)}if(o.isIE(8))i(t).object={proxy:n},t.attachEvent(\"onresize\",n);else{var r=s(t);if(!r)throw new Error(\"Element is not detectable by this strategy.\");r.contentDocument.defaultView.addEventListener(\"resize\",n)}},uninstall:function(t){if(i(t)){var e=s(t);e&&(o.isIE(8)?t.detachEvent(\"onresize\",e.proxy):t.removeChild(e),i(t).checkForObjectDocumentTimeoutId&&window.clearTimeout(i(t).checkForObjectDocumentTimeoutId),delete i(t).object)}}}}},{\"../browser-detector\":3}],6:[function(t,e,n){\"use strict\";var o=t(\"../collection-utils\").forEach;e.exports=function(t){var e=(t=t||{}).reporter,n=t.batchProcessor,i=t.stateHandler.getState,r=(t.stateHandler.hasState,t.idHandler);if(!n)throw new Error(\"Missing required dependency: batchProcessor\");if(!e)throw new Error(\"Missing required dependency: reporter.\");var s=function(){var t=500,e=500,n=document.createElement(\"div\");n.style.cssText=u([\"position: absolute\",\"width: 1000px\",\"height: 1000px\",\"visibility: hidden\",\"margin: 0\",\"padding: 0\"]);var o=document.createElement(\"div\");o.style.cssText=u([\"position: absolute\",\"width: 500px\",\"height: 500px\",\"overflow: scroll\",\"visibility: none\",\"top: -1500px\",\"left: -1500px\",\"visibility: hidden\",\"margin: 0\",\"padding: 0\"]),o.appendChild(n),document.body.insertBefore(o,document.body.firstChild);var i=t-o.clientWidth,r=e-o.clientHeight;return document.body.removeChild(o),{width:i,height:r}}(),a=\"erd_scroll_detection_container\";function c(t){!function(t,e,n){function o(n,o){o=o||function(e){t.head.appendChild(e)};var i=t.createElement(\"style\");return i.innerHTML=n,i.id=e,o(i),i}if(!t.getElementById(e)){var i=n+\"_animation\",r=n+\"_animation_active\",s=\"/* Created by the element-resize-detector library. */\\n\";s+=\".\"+n+\" > div::-webkit-scrollbar { \"+u([\"display: none\"])+\" }\\n\\n\",s+=\".\"+r+\" { \"+u([\"-webkit-animation-duration: 0.1s\",\"animation-duration: 0.1s\",\"-webkit-animation-name: \"+i,\"animation-name: \"+i])+\" }\\n\",s+=\"@-webkit-keyframes \"+i+\" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\",o(s+=\"@keyframes \"+i+\" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\")}}(t,\"erd_scroll_detection_scrollbar_style\",a)}function u(e){var n=t.important?\" !important; \":\"; \";return(e.join(n)+n).trim()}function l(t,n,o){if(t.addEventListener)t.addEventListener(n,o);else{if(!t.attachEvent)return e.error(\"[scroll] Don't know how to add event listeners.\");t.attachEvent(\"on\"+n,o)}}function d(t,n,o){if(t.removeEventListener)t.removeEventListener(n,o);else{if(!t.detachEvent)return e.error(\"[scroll] Don't know how to remove event listeners.\");t.detachEvent(\"on\"+n,o)}}function h(t){return i(t).container.childNodes[0].childNodes[0].childNodes[0]}function p(t){return i(t).container.childNodes[0].childNodes[0].childNodes[1]}return c(window.document),{makeDetectable:function(t,c,d){function f(){if(t.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(r.get(c),\"Scroll: \"),e.log.apply)e.log.apply(null,n);else for(var o=0;o<n.length;o++)e.log(n[o])}}function v(t){var e=i(t).container.childNodes[0],n=window.getComputedStyle(e);return!n.width||-1===n.width.indexOf(\"px\")}function g(){var t=window.getComputedStyle(c),e={};return e.position=t.position,e.width=c.offsetWidth,e.height=c.offsetHeight,e.top=t.top,e.right=t.right,e.bottom=t.bottom,e.left=t.left,e.widthCSS=t.width,e.heightCSS=t.height,e}function m(){if(f(\"storeStyle invoked.\"),i(c)){var t=g();i(c).style=t}else f(\"Aborting because element has been uninstalled\")}function y(t,e,n){i(t).lastWidth=e,i(t).lastHeight=n}function b(){return 2*s.width+1}function _(){return 2*s.height+1}function w(t){return t+10+b()}function D(t){return t+10+_()}function x(t,e,n){var o=h(t),i=p(t),r=w(e),s=D(n),a=function(t){return 2*t+b()}(e),c=function(t){return 2*t+_()}(n);o.scrollLeft=r,o.scrollTop=s,i.scrollLeft=a,i.scrollTop=c}function B(){var t=i(c).container;if(!t){(t=document.createElement(\"div\")).className=a,t.style.cssText=u([\"visibility: hidden\",\"display: inline\",\"width: 0px\",\"height: 0px\",\"z-index: -1\",\"overflow: hidden\",\"margin: 0\",\"padding: 0\"]),i(c).container=t,function(t){t.className+=\" \"+a+\"_animation_active\"}(t),c.appendChild(t);var e=function(){i(c).onRendered&&i(c).onRendered()};l(t,\"animationstart\",e),i(c).onAnimationStart=e}return t}function E(){if(f(\"Injecting elements\"),i(c)){!function(){var n=i(c).style;if(\"static\"===n.position){c.style.setProperty(\"position\",\"relative\",t.important?\"important\":\"\");var o=function(t,e,n,o){var i=n[o];\"auto\"!==i&&\"0\"!==function(t){return t.replace(/[^-\\d\\.]/g,\"\")}(i)&&(t.warn(\"An element that is positioned static has style.\"+o+\"=\"+i+\" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\"+o+\" will be set to 0. Element: \",e),e.style[o]=0)};o(e,c,n,\"top\"),o(e,c,n,\"right\"),o(e,c,n,\"bottom\"),o(e,c,n,\"left\")}}();var n=i(c).container;n||(n=B());var o,r,d,h,p=s.width,v=s.height,g=u([\"position: absolute\",\"flex: none\",\"overflow: hidden\",\"z-index: -1\",\"visibility: hidden\",\"width: 100%\",\"height: 100%\",\"left: 0px\",\"top: 0px\"]),m=u([\"position: absolute\",\"flex: none\",\"overflow: hidden\",\"z-index: -1\",\"visibility: hidden\"].concat([\"left: \"+(o=(o=-(1+p))?o+\"px\":\"0\"),\"top: \"+(r=(r=-(1+v))?r+\"px\":\"0\"),\"right: \"+(h=(h=-p)?h+\"px\":\"0\"),\"bottom: \"+(d=(d=-v)?d+\"px\":\"0\")])),y=u([\"position: absolute\",\"flex: none\",\"overflow: scroll\",\"z-index: -1\",\"visibility: hidden\",\"width: 100%\",\"height: 100%\"]),b=u([\"position: absolute\",\"flex: none\",\"overflow: scroll\",\"z-index: -1\",\"visibility: hidden\",\"width: 100%\",\"height: 100%\"]),_=u([\"position: absolute\",\"left: 0\",\"top: 0\"]),w=u([\"position: absolute\",\"width: 200%\",\"height: 200%\"]),D=document.createElement(\"div\"),x=document.createElement(\"div\"),E=document.createElement(\"div\"),k=document.createElement(\"div\"),K=document.createElement(\"div\"),C=document.createElement(\"div\");D.dir=\"ltr\",D.style.cssText=g,D.className=a,x.className=a,x.style.cssText=m,E.style.cssText=y,k.style.cssText=_,K.style.cssText=b,C.style.cssText=w,E.appendChild(k),K.appendChild(C),x.appendChild(E),x.appendChild(K),D.appendChild(x),n.appendChild(D),l(E,\"scroll\",O),l(K,\"scroll\",S),i(c).onExpandScroll=O,i(c).onShrinkScroll=S}else f(\"Aborting because element has been uninstalled\");function O(){var t=i(c);t&&t.onExpand?t.onExpand():f(\"Aborting expand scroll handler: element has been uninstalled\")}function S(){var t=i(c);t&&t.onShrink?t.onShrink():f(\"Aborting shrink scroll handler: element has been uninstalled\")}}function k(){function s(e,n,o){var i=function(t){return h(t).childNodes[0]}(e),r=w(n),s=D(o);i.style.setProperty(\"width\",r+\"px\",t.important?\"important\":\"\"),i.style.setProperty(\"height\",s+\"px\",t.important?\"important\":\"\")}function a(o){var a=c.offsetWidth,l=c.offsetHeight,d=a!==i(c).lastWidth||l!==i(c).lastHeight;f(\"Storing current size\",a,l),y(c,a,l),n.add(0,(function(){if(d)if(i(c))if(u()){if(t.debug){var n=c.offsetWidth,o=c.offsetHeight;n===a&&o===l||e.warn(r.get(c),\"Scroll: Size changed before updating detector elements.\")}s(c,a,l)}else f(\"Aborting because element container has not been initialized\");else f(\"Aborting because element has been uninstalled\")})),n.add(1,(function(){i(c)?u()?x(c,a,l):f(\"Aborting because element container has not been initialized\"):f(\"Aborting because element has been uninstalled\")})),d&&o&&n.add(2,(function(){i(c)?u()?o():f(\"Aborting because element container has not been initialized\"):f(\"Aborting because element has been uninstalled\")}))}function u(){return!!i(c).container}function l(){f(\"notifyListenersIfNeeded invoked\");var t=i(c);return void 0===i(c).lastNotifiedWidth&&t.lastWidth===t.startSize.width&&t.lastHeight===t.startSize.height?f(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\"):t.lastWidth===t.lastNotifiedWidth&&t.lastHeight===t.lastNotifiedHeight?f(\"Not notifying: Size already notified\"):(f(\"Current size not notified, notifying...\"),t.lastNotifiedWidth=t.lastWidth,t.lastNotifiedHeight=t.lastHeight,void o(i(c).listeners,(function(t){t(c)})))}function d(){f(\"Scroll detected.\"),v(c)?f(\"Scroll event fired while unrendered. Ignoring...\"):a(l)}if(f(\"registerListenersAndPositionElements invoked.\"),i(c)){i(c).onRendered=function(){if(f(\"startanimation triggered.\"),v(c))f(\"Ignoring since element is still unrendered...\");else{f(\"Element rendered.\");var t=h(c),e=p(c);0!==t.scrollLeft&&0!==t.scrollTop&&0!==e.scrollLeft&&0!==e.scrollTop||(f(\"Scrollbars out of sync. Updating detector elements...\"),a(l))}},i(c).onExpand=d,i(c).onShrink=d;var g=i(c).style;s(c,g.width,g.height)}else f(\"Aborting because element has been uninstalled\")}function K(){if(f(\"finalizeDomMutation invoked.\"),i(c)){var t=i(c).style;y(c,t.width,t.height),x(c,t.width,t.height)}else f(\"Aborting because element has been uninstalled\")}function C(){d(c)}function O(){var t;f(\"Installing...\"),i(c).listeners=[],t=g(),i(c).startSize={width:t.width,height:t.height},f(\"Element start size\",i(c).startSize),n.add(0,m),n.add(1,E),n.add(2,k),n.add(3,K),n.add(4,C)}d||(d=c,c=t,t=null),t=t||{},f(\"Making detectable...\"),!function(t){return!function(t){var e=t.getRootNode&&t.getRootNode().contains(t);return t===t.ownerDocument.body||t.ownerDocument.body.contains(t)||e}(t)||null===window.getComputedStyle(t)}(c)?O():(f(\"Element is detached\"),B(),f(\"Waiting until element is attached...\"),i(c).onRendered=function(){f(\"Element is now attached\"),O()})},addListener:function(t,e){if(!i(t).listeners.push)throw new Error(\"Cannot add listener to an element that is not detectable.\");i(t).listeners.push(e)},uninstall:function(t){var e=i(t);e&&(e.onExpandScroll&&d(h(t),\"scroll\",e.onExpandScroll),e.onShrinkScroll&&d(p(t),\"scroll\",e.onShrinkScroll),e.onAnimationStart&&d(e.container,\"animationstart\",e.onAnimationStart),e.container&&t.removeChild(e.container))},initDocument:c}}},{\"../collection-utils\":4}],7:[function(t,e,n){\"use strict\";var o=t(\"./collection-utils\").forEach,i=t(\"./element-utils\"),r=t(\"./listener-handler\"),s=t(\"./id-generator\"),a=t(\"./id-handler\"),c=t(\"./reporter\"),u=t(\"./browser-detector\"),l=t(\"batch-processor\"),d=t(\"./state-handler\"),h=t(\"./detection-strategy/object.js\"),p=t(\"./detection-strategy/scroll.js\");function f(t){return Array.isArray(t)||void 0!==t.length}function v(t){if(Array.isArray(t))return t;var e=[];return o(t,(function(t){e.push(t)})),e}function g(t){return t&&1===t.nodeType}function m(t,e,n){var o=t[e];return null==o&&void 0!==n?n:o}e.exports=function(t){var e;if((t=t||{}).idHandler)e={get:function(e){return t.idHandler.get(e,!0)},set:t.idHandler.set};else{var n=s(),y=a({idGenerator:n,stateHandler:d});e=y}var b=t.reporter;b||(b=c(!1===b));var _=m(t,\"batchProcessor\",l({reporter:b})),w={};w.callOnAdd=!!m(t,\"callOnAdd\",!0),w.debug=!!m(t,\"debug\",!1);var D,x=r(e),B=i({stateHandler:d}),E=m(t,\"strategy\",\"object\"),k=m(t,\"important\",!1),K={reporter:b,batchProcessor:_,stateHandler:d,idHandler:e,important:k};if(\"scroll\"===E&&(u.isLegacyOpera()?(b.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\"),E=\"object\"):u.isIE(9)&&(b.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\"),E=\"object\")),\"scroll\"===E)D=p(K);else{if(\"object\"!==E)throw new Error(\"Invalid strategy name: \"+E);D=h(K)}var C={};return{listenTo:function(t,n,i){function r(t){var e=x.get(t);o(e,(function(e){e(t)}))}function s(t,e,n){x.add(e,n),t&&n(e)}if(i||(i=n,n=t,t={}),!n)throw new Error(\"At least one element required.\");if(!i)throw new Error(\"Listener required.\");if(g(n))n=[n];else{if(!f(n))return b.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");n=v(n)}var a=0,c=m(t,\"callOnAdd\",w.callOnAdd),u=m(t,\"onReady\",(function(){})),l=m(t,\"debug\",w.debug);o(n,(function(t){d.getState(t)||(d.initState(t),e.set(t));var h=e.get(t);if(l&&b.log(\"Attaching listener to element\",h,t),!B.isDetectable(t))return l&&b.log(h,\"Not detectable.\"),B.isBusy(t)?(l&&b.log(h,\"System busy making it detectable\"),s(c,t,i),C[h]=C[h]||[],void C[h].push((function(){++a===n.length&&u()}))):(l&&b.log(h,\"Making detectable...\"),B.markBusy(t,!0),D.makeDetectable({debug:l,important:k},t,(function(t){if(l&&b.log(h,\"onElementDetectable\"),d.getState(t)){B.markAsDetectable(t),B.markBusy(t,!1),D.addListener(t,r),s(c,t,i);var e=d.getState(t);if(e&&e.startSize){var p=t.offsetWidth,f=t.offsetHeight;e.startSize.width===p&&e.startSize.height===f||r(t)}C[h]&&o(C[h],(function(t){t()}))}else l&&b.log(h,\"Element uninstalled before being detectable.\");delete C[h],++a===n.length&&u()})));l&&b.log(h,\"Already detecable, adding listener.\"),s(c,t,i),a++})),a===n.length&&u()},removeListener:x.removeListener,removeAllListeners:x.removeAllListeners,uninstall:function(t){if(!t)return b.error(\"At least one element is required.\");if(g(t))t=[t];else{if(!f(t))return b.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");t=v(t)}o(t,(function(t){x.removeAllListeners(t),D.uninstall(t),d.cleanState(t)}))},initDocument:function(t){D.initDocument&&D.initDocument(t)}}}},{\"./browser-detector\":3,\"./collection-utils\":4,\"./detection-strategy/object.js\":5,\"./detection-strategy/scroll.js\":6,\"./element-utils\":8,\"./id-generator\":9,\"./id-handler\":10,\"./listener-handler\":11,\"./reporter\":12,\"./state-handler\":13,\"batch-processor\":1}],8:[function(t,e,n){\"use strict\";e.exports=function(t){var e=t.stateHandler.getState;return{isDetectable:function(t){var n=e(t);return n&&!!n.isDetectable},markAsDetectable:function(t){e(t).isDetectable=!0},isBusy:function(t){return!!e(t).busy},markBusy:function(t,n){e(t).busy=!!n}}}},{}],9:[function(t,e,n){\"use strict\";e.exports=function(){var t=1;return{generate:function(){return t++}}}},{}],10:[function(t,e,n){\"use strict\";e.exports=function(t){var e=t.idGenerator,n=t.stateHandler.getState;return{get:function(t){var e=n(t);return e&&void 0!==e.id?e.id:null},set:function(t){var o=n(t);if(!o)throw new Error(\"setId required the element to have a resize detection state.\");var i=e.generate();return o.id=i,i}}}},{}],11:[function(t,e,n){\"use strict\";e.exports=function(t){var e={};function n(n){var o=t.get(n);return void 0===o?[]:e[o]||[]}return{get:n,add:function(n,o){var i=t.get(n);e[i]||(e[i]=[]),e[i].push(o)},removeListener:function(t,e){for(var o=n(t),i=0,r=o.length;i<r;++i)if(o[i]===e){o.splice(i,1);break}},removeAllListeners:function(t){var e=n(t);e&&(e.length=0)}}}},{}],12:[function(t,e,n){\"use strict\";e.exports=function(t){function e(){}var n={log:e,warn:e,error:e};if(!t&&window.console){var o=function(t,e){t[e]=function(){var t=console[e];if(t.apply)t.apply(console,arguments);else for(var n=0;n<arguments.length;n++)t(arguments[n])}};o(n,\"log\"),o(n,\"warn\"),o(n,\"error\")}return n}},{}],13:[function(t,e,n){\"use strict\";function o(t){return t._erd}e.exports={initState:function(t){return t._erd={},o(t)},getState:o,cleanState:function(t){delete t._erd}}},{}],14:[function(t,e,n){var o,i;o=window,i=function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=0)}([function(t,e,n){\"use strict\";n.r(e);var o,i=function(t,e){var n=e.x-t.x,o=e.y-t.y;return Math.sqrt(n*n+o*o)},r=function(t){return t*(Math.PI/180)},s=new Map,a=function(t){s.has(t)&&clearTimeout(s.get(t)),s.set(t,setTimeout(t,100))},c=function(t,e,n){for(var o,i=e.split(/[ ,]+/g),r=0;r<i.length;r+=1)o=i[r],t.addEventListener?t.addEventListener(o,n,!1):t.attachEvent&&t.attachEvent(o,n)},u=function(t,e,n){for(var o,i=e.split(/[ ,]+/g),r=0;r<i.length;r+=1)o=i[r],t.removeEventListener?t.removeEventListener(o,n):t.detachEvent&&t.detachEvent(o,n)},l=function(t){return t.preventDefault(),t.type.match(/^touch/)?t.changedTouches:t},d=function(){return{x:void 0!==window.pageXOffset?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop}},h=function(t,e){e.top||e.right||e.bottom||e.left?(t.style.top=e.top,t.style.right=e.right,t.style.bottom=e.bottom,t.style.left=e.left):(t.style.left=e.x+\"px\",t.style.top=e.y+\"px\")},p=function(t,e,n){var o=f(t);for(var i in o)if(o.hasOwnProperty(i))if(\"string\"==typeof e)o[i]=e+\" \"+n;else{for(var r=\"\",s=0,a=e.length;s<a;s+=1)r+=e[s]+\" \"+n+\", \";o[i]=r.slice(0,-2)}return o},f=function(t){var e={};return e[t]=\"\",[\"webkit\",\"Moz\",\"o\"].forEach((function(n){e[n+t.charAt(0).toUpperCase()+t.slice(1)]=\"\"})),e},v=function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},g=function(t,e){if(t.length)for(var n=0,o=t.length;n<o;n+=1)e(t[n]);else e(t)},m=!!(\"ontouchstart\"in window),y=!!window.PointerEvent,b=!!window.MSPointerEvent,_={start:\"mousedown\",move:\"mousemove\",end:\"mouseup\"},w={};function D(){}y?o={start:\"pointerdown\",move:\"pointermove\",end:\"pointerup, pointercancel\"}:b?o={start:\"MSPointerDown\",move:\"MSPointerMove\",end:\"MSPointerUp\"}:m?(o={start:\"touchstart\",move:\"touchmove\",end:\"touchend, touchcancel\"},w=_):o=_,D.prototype.on=function(t,e){var n,o=t.split(/[ ,]+/g);this._handlers_=this._handlers_||{};for(var i=0;i<o.length;i+=1)n=o[i],this._handlers_[n]=this._handlers_[n]||[],this._handlers_[n].push(e);return this},D.prototype.off=function(t,e){return this._handlers_=this._handlers_||{},void 0===t?this._handlers_={}:void 0===e?this._handlers_[t]=null:this._handlers_[t]&&this._handlers_[t].indexOf(e)>=0&&this._handlers_[t].splice(this._handlers_[t].indexOf(e),1),this},D.prototype.trigger=function(t,e){var n,o=this,i=t.split(/[ ,]+/g);o._handlers_=o._handlers_||{};for(var r=0;r<i.length;r+=1)n=i[r],o._handlers_[n]&&o._handlers_[n].length&&o._handlers_[n].forEach((function(t){t.call(o,{type:n,target:o},e)}))},D.prototype.config=function(t){this.options=this.defaults||{},t&&(this.options=function(t,e){var n={};for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)?n[o]=e[o]:t.hasOwnProperty(o)&&(n[o]=t[o]);return n}(this.options,t))},D.prototype.bindEvt=function(t,e){var n=this;return n._domHandlers_=n._domHandlers_||{},n._domHandlers_[e]=function(){\"function\"==typeof n[\"on\"+e]?n[\"on\"+e].apply(n,arguments):console.warn('[WARNING] : Missing \"on'+e+'\" handler.')},c(t,o[e],n._domHandlers_[e]),w[e]&&c(t,w[e],n._domHandlers_[e]),n},D.prototype.unbindEvt=function(t,e){return this._domHandlers_=this._domHandlers_||{},u(t,o[e],this._domHandlers_[e]),w[e]&&u(t,w[e],this._domHandlers_[e]),delete this._domHandlers_[e],this};var x=D;function B(t,e){return this.identifier=e.identifier,this.position=e.position,this.frontPosition=e.frontPosition,this.collection=t,this.defaults={size:100,threshold:.1,color:\"white\",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:.5,mode:\"dynamic\",zone:document.body,lockX:!1,lockY:!1,shape:\"circle\"},this.config(e),\"dynamic\"===this.options.mode&&(this.options.restOpacity=0),this.id=B.id,B.id+=1,this.buildEl().stylize(),this.instance={el:this.ui.el,on:this.on.bind(this),off:this.off.bind(this),show:this.show.bind(this),hide:this.hide.bind(this),add:this.addToDom.bind(this),remove:this.removeFromDom.bind(this),destroy:this.destroy.bind(this),setPosition:this.setPosition.bind(this),resetDirection:this.resetDirection.bind(this),computeDirection:this.computeDirection.bind(this),trigger:this.trigger.bind(this),position:this.position,frontPosition:this.frontPosition,ui:this.ui,identifier:this.identifier,id:this.id,options:this.options},this.instance}B.prototype=new x,B.constructor=B,B.id=0,B.prototype.buildEl=function(t){return this.ui={},this.options.dataOnly||(this.ui.el=document.createElement(\"div\"),this.ui.back=document.createElement(\"div\"),this.ui.front=document.createElement(\"div\"),this.ui.el.className=\"nipple collection_\"+this.collection.id,this.ui.back.className=\"back\",this.ui.front.className=\"front\",this.ui.el.setAttribute(\"id\",\"nipple_\"+this.collection.id+\"_\"+this.id),this.ui.el.appendChild(this.ui.back),this.ui.el.appendChild(this.ui.front)),this},B.prototype.stylize=function(){if(this.options.dataOnly)return this;var t=this.options.fadeTime+\"ms\",e=function(t,e){var n=f(\"borderRadius\");for(var o in n)n.hasOwnProperty(o)&&(n[o]=\"50%\");return n}(),n=p(\"transition\",\"opacity\",t),o={};return o.el={position:\"absolute\",opacity:this.options.restOpacity,display:\"block\",zIndex:999},o.back={position:\"absolute\",display:\"block\",width:this.options.size+\"px\",height:this.options.size+\"px\",marginLeft:-this.options.size/2+\"px\",marginTop:-this.options.size/2+\"px\",background:this.options.color,opacity:\".5\"},o.front={width:this.options.size/2+\"px\",height:this.options.size/2+\"px\",position:\"absolute\",display:\"block\",marginLeft:-this.options.size/4+\"px\",marginTop:-this.options.size/4+\"px\",background:this.options.color,opacity:\".5\"},v(o.el,n),\"circle\"===this.options.shape&&v(o.back,e),v(o.front,e),this.applyStyles(o),this},B.prototype.applyStyles=function(t){for(var e in this.ui)if(this.ui.hasOwnProperty(e))for(var n in t[e])this.ui[e].style[n]=t[e][n];return this},B.prototype.addToDom=function(){return this.options.dataOnly||document.body.contains(this.ui.el)||this.options.zone.appendChild(this.ui.el),this},B.prototype.removeFromDom=function(){return this.options.dataOnly||!document.body.contains(this.ui.el)||this.options.zone.removeChild(this.ui.el),this},B.prototype.destroy=function(){clearTimeout(this.removeTimeout),clearTimeout(this.showTimeout),clearTimeout(this.restTimeout),this.trigger(\"destroyed\",this.instance),this.removeFromDom(),this.off()},B.prototype.show=function(t){var e=this;return e.options.dataOnly||(clearTimeout(e.removeTimeout),clearTimeout(e.showTimeout),clearTimeout(e.restTimeout),e.addToDom(),e.restCallback(),setTimeout((function(){e.ui.el.style.opacity=1}),0),e.showTimeout=setTimeout((function(){e.trigger(\"shown\",e.instance),\"function\"==typeof t&&t.call(this)}),e.options.fadeTime)),e},B.prototype.hide=function(t){var e=this;if(e.options.dataOnly)return e;if(e.ui.el.style.opacity=e.options.restOpacity,clearTimeout(e.removeTimeout),clearTimeout(e.showTimeout),clearTimeout(e.restTimeout),e.removeTimeout=setTimeout((function(){var n=\"dynamic\"===e.options.mode?\"none\":\"block\";e.ui.el.style.display=n,\"function\"==typeof t&&t.call(e),e.trigger(\"hidden\",e.instance)}),e.options.fadeTime),e.options.restJoystick){var n=e.options.restJoystick,o={};o.x=!0===n||!1!==n.x?0:e.instance.frontPosition.x,o.y=!0===n||!1!==n.y?0:e.instance.frontPosition.y,e.setPosition(t,o)}return e},B.prototype.setPosition=function(t,e){var n=this;n.frontPosition={x:e.x,y:e.y};var o=n.options.fadeTime+\"ms\",i={};i.front=p(\"transition\",[\"top\",\"left\"],o);var r={front:{}};r.front={left:n.frontPosition.x+\"px\",top:n.frontPosition.y+\"px\"},n.applyStyles(i),n.applyStyles(r),n.restTimeout=setTimeout((function(){\"function\"==typeof t&&t.call(n),n.restCallback()}),n.options.fadeTime)},B.prototype.restCallback=function(){var t={};t.front=p(\"transition\",\"none\",\"\"),this.applyStyles(t),this.trigger(\"rested\",this.instance)},B.prototype.resetDirection=function(){this.direction={x:!1,y:!1,angle:!1}},B.prototype.computeDirection=function(t){var e,n,o,i=t.angle.radian,r=Math.PI/4,s=Math.PI/2;if(i>r&&i<3*r&&!t.lockX?e=\"up\":i>-r&&i<=r&&!t.lockY?e=\"left\":i>3*-r&&i<=-r&&!t.lockX?e=\"down\":t.lockY||(e=\"right\"),t.lockY||(n=i>-s&&i<s?\"left\":\"right\"),t.lockX||(o=i>0?\"up\":\"down\"),t.force>this.options.threshold){var a,c={};for(a in this.direction)this.direction.hasOwnProperty(a)&&(c[a]=this.direction[a]);var u={};for(a in this.direction={x:n,y:o,angle:e},t.direction=this.direction,c)c[a]===this.direction[a]&&(u[a]=!0);if(u.x&&u.y&&u.angle)return t;u.x&&u.y||this.trigger(\"plain\",t),u.x||this.trigger(\"plain:\"+n,t),u.y||this.trigger(\"plain:\"+o,t),u.angle||this.trigger(\"dir dir:\"+e,t)}else this.resetDirection();return t};var E=B;function k(t,e){this.nipples=[],this.idles=[],this.actives=[],this.ids=[],this.pressureIntervals={},this.manager=t,this.id=k.id,k.id+=1,this.defaults={zone:document.body,multitouch:!1,maxNumberOfNipples:10,mode:\"dynamic\",position:{top:0,left:0},catchDistance:200,size:100,threshold:.1,color:\"white\",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:.5,lockX:!1,lockY:!1,shape:\"circle\",dynamicPage:!1,follow:!1},this.config(e),\"static\"!==this.options.mode&&\"semi\"!==this.options.mode||(this.options.multitouch=!1),this.options.multitouch||(this.options.maxNumberOfNipples=1);var n=getComputedStyle(this.options.zone.parentElement);return n&&\"flex\"===n.display&&(this.parentIsFlex=!0),this.updateBox(),this.prepareNipples(),this.bindings(),this.begin(),this.nipples}k.prototype=new x,k.constructor=k,k.id=0,k.prototype.prepareNipples=function(){var t=this.nipples;t.on=this.on.bind(this),t.off=this.off.bind(this),t.options=this.options,t.destroy=this.destroy.bind(this),t.ids=this.ids,t.id=this.id,t.processOnMove=this.processOnMove.bind(this),t.processOnEnd=this.processOnEnd.bind(this),t.get=function(e){if(void 0===e)return t[0];for(var n=0,o=t.length;n<o;n+=1)if(t[n].identifier===e)return t[n];return!1}},k.prototype.bindings=function(){this.bindEvt(this.options.zone,\"start\"),this.options.zone.style.touchAction=\"none\",this.options.zone.style.msTouchAction=\"none\"},k.prototype.begin=function(){var t=this.options;if(\"static\"===t.mode){var e=this.createNipple(t.position,this.manager.getIdentifier());e.add(),this.idles.push(e)}},k.prototype.createNipple=function(t,e){var n=this.manager.scroll,o={},i=this.options,r=this.parentIsFlex?n.x:n.x+this.box.left,s=this.parentIsFlex?n.y:n.y+this.box.top;if(t.x&&t.y)o={x:t.x-r,y:t.y-s};else if(t.top||t.right||t.bottom||t.left){var a=document.createElement(\"DIV\");a.style.display=\"hidden\",a.style.top=t.top,a.style.right=t.right,a.style.bottom=t.bottom,a.style.left=t.left,a.style.position=\"absolute\",i.zone.appendChild(a);var c=a.getBoundingClientRect();i.zone.removeChild(a),o=t,t={x:c.left+n.x,y:c.top+n.y}}var u=new E(this,{color:i.color,size:i.size,threshold:i.threshold,fadeTime:i.fadeTime,dataOnly:i.dataOnly,restJoystick:i.restJoystick,restOpacity:i.restOpacity,mode:i.mode,identifier:e,position:t,zone:i.zone,frontPosition:{x:0,y:0},shape:i.shape});return i.dataOnly||(h(u.ui.el,o),h(u.ui.front,u.frontPosition)),this.nipples.push(u),this.trigger(\"added \"+u.identifier+\":added\",u),this.manager.trigger(\"added \"+u.identifier+\":added\",u),this.bindNipple(u),u},k.prototype.updateBox=function(){this.box=this.options.zone.getBoundingClientRect()},k.prototype.bindNipple=function(t){var e,n=this,o=function(t,o){e=t.type+\" \"+o.id+\":\"+t.type,n.trigger(e,o)};t.on(\"destroyed\",n.onDestroyed.bind(n)),t.on(\"shown hidden rested dir plain\",o),t.on(\"dir:up dir:right dir:down dir:left\",o),t.on(\"plain:up plain:right plain:down plain:left\",o)},k.prototype.pressureFn=function(t,e,n){var o=this,i=0;clearInterval(o.pressureIntervals[n]),o.pressureIntervals[n]=setInterval(function(){var n=t.force||t.pressure||t.webkitForce||0;n!==i&&(e.trigger(\"pressure\",n),o.trigger(\"pressure \"+e.identifier+\":pressure\",n),i=n)}.bind(o),100)},k.prototype.onstart=function(t){var e=this,n=e.options,o=t;return t=l(t),e.updateBox(),g(t,(function(i){e.actives.length<n.maxNumberOfNipples?e.processOnStart(i):o.type.match(/^touch/)&&(Object.keys(e.manager.ids).forEach((function(n){if(Object.values(o.touches).findIndex((function(t){return t.identifier===n}))<0){var i=[t[0]];i.identifier=n,e.processOnEnd(i)}})),e.actives.length<n.maxNumberOfNipples&&e.processOnStart(i))})),e.manager.bindDocument(),!1},k.prototype.processOnStart=function(t){var e,n=this,o=n.options,r=n.manager.getIdentifier(t),s=t.force||t.pressure||t.webkitForce||0,a={x:t.pageX,y:t.pageY},c=n.getOrCreate(r,a);c.identifier!==r&&n.manager.removeIdentifier(c.identifier),c.identifier=r;var u=function(e){e.trigger(\"start\",e),n.trigger(\"start \"+e.id+\":start\",e),e.show(),s>0&&n.pressureFn(t,e,e.identifier),n.processOnMove(t)};if((e=n.idles.indexOf(c))>=0&&n.idles.splice(e,1),n.actives.push(c),n.ids.push(c.identifier),\"semi\"!==o.mode)u(c);else{if(!(i(a,c.position)<=o.catchDistance))return c.destroy(),void n.processOnStart(t);u(c)}return c},k.prototype.getOrCreate=function(t,e){var n,o=this.options;return/(semi|static)/.test(o.mode)?(n=this.idles[0])?(this.idles.splice(0,1),n):\"semi\"===o.mode?this.createNipple(e,t):(console.warn(\"Coudln't find the needed nipple.\"),!1):n=this.createNipple(e,t)},k.prototype.processOnMove=function(t){var e=this.options,n=this.manager.getIdentifier(t),o=this.nipples.get(n),s=this.manager.scroll;if(function(t){return isNaN(t.buttons)?0!==t.pressure:0!==t.buttons}(t)){if(!o)return console.error(\"Found zombie joystick with ID \"+n),void this.manager.removeIdentifier(n);if(e.dynamicPage){var a=o.el.getBoundingClientRect();o.position={x:s.x+a.left,y:s.y+a.top}}o.identifier=n;var c=o.options.size/2,u={x:t.pageX,y:t.pageY};e.lockX&&(u.y=o.position.y),e.lockY&&(u.x=o.position.x);var l,d,p,f,v,g,m,y,b,_,w=i(u,o.position),D=(l=u,p=(d=o.position).x-l.x,f=d.y-l.y,function(t){return t*(180/Math.PI)}(Math.atan2(f,p))),x=r(D),B=w/c,E={distance:w,position:u};if(\"circle\"===o.options.shape?(v=Math.min(w,c),m=o.position,y=v,_={x:0,y:0},b=r(b=D),_.x=m.x-y*Math.cos(b),_.y=m.y-y*Math.sin(b),g=_):(g=function(t,e,n){return{x:Math.min(Math.max(t.x,e.x-n),e.x+n),y:Math.min(Math.max(t.y,e.y-n),e.y+n)}}(u,o.position,c),v=i(g,o.position)),e.follow){if(w>c){var k=u.x-g.x,K=u.y-g.y;o.position.x+=k,o.position.y+=K,o.el.style.top=o.position.y-(this.box.top+s.y)+\"px\",o.el.style.left=o.position.x-(this.box.left+s.x)+\"px\",w=i(u,o.position)}}else u=g,w=v;var C=u.x-o.position.x,O=u.y-o.position.y;o.frontPosition={x:C,y:O},e.dataOnly||h(o.ui.front,o.frontPosition);var S={identifier:o.identifier,position:u,force:B,pressure:t.force||t.pressure||t.webkitForce||0,distance:w,angle:{radian:x,degree:D},vector:{x:C/c,y:-O/c},raw:E,instance:o,lockX:e.lockX,lockY:e.lockY};(S=o.computeDirection(S)).angle={radian:r(180-D),degree:180-D},o.trigger(\"move\",S),this.trigger(\"move \"+o.id+\":move\",S)}else this.processOnEnd(t)},k.prototype.processOnEnd=function(t){var e=this,n=e.options,o=e.manager.getIdentifier(t),i=e.nipples.get(o),r=e.manager.removeIdentifier(i.identifier);i&&(n.dataOnly||i.hide((function(){\"dynamic\"===n.mode&&(i.trigger(\"removed\",i),e.trigger(\"removed \"+i.id+\":removed\",i),e.manager.trigger(\"removed \"+i.id+\":removed\",i),i.destroy())})),clearInterval(e.pressureIntervals[i.identifier]),i.resetDirection(),i.trigger(\"end\",i),e.trigger(\"end \"+i.id+\":end\",i),e.ids.indexOf(i.identifier)>=0&&e.ids.splice(e.ids.indexOf(i.identifier),1),e.actives.indexOf(i)>=0&&e.actives.splice(e.actives.indexOf(i),1),/(semi|static)/.test(n.mode)?e.idles.push(i):e.nipples.indexOf(i)>=0&&e.nipples.splice(e.nipples.indexOf(i),1),e.manager.unbindDocument(),/(semi|static)/.test(n.mode)&&(e.manager.ids[r.id]=r.identifier))},k.prototype.onDestroyed=function(t,e){this.nipples.indexOf(e)>=0&&this.nipples.splice(this.nipples.indexOf(e),1),this.actives.indexOf(e)>=0&&this.actives.splice(this.actives.indexOf(e),1),this.idles.indexOf(e)>=0&&this.idles.splice(this.idles.indexOf(e),1),this.ids.indexOf(e.identifier)>=0&&this.ids.splice(this.ids.indexOf(e.identifier),1),this.manager.removeIdentifier(e.identifier),this.manager.unbindDocument()},k.prototype.destroy=function(){for(var t in this.unbindEvt(this.options.zone,\"start\"),this.nipples.forEach((function(t){t.destroy()})),this.pressureIntervals)this.pressureIntervals.hasOwnProperty(t)&&clearInterval(this.pressureIntervals[t]);this.trigger(\"destroyed\",this.nipples),this.manager.unbindDocument(),this.off()};var K=k;function C(t){var e=this;e.ids={},e.index=0,e.collections=[],e.scroll=d(),e.config(t),e.prepareCollections();var n=function(){var t;e.collections.forEach((function(n){n.forEach((function(n){t=n.el.getBoundingClientRect(),n.position={x:e.scroll.x+t.left,y:e.scroll.y+t.top}}))}))};c(window,\"resize\",(function(){a(n)}));var o=function(){e.scroll=d()};return c(window,\"scroll\",(function(){a(o)})),e.collections}C.prototype=new x,C.constructor=C,C.prototype.prepareCollections=function(){var t=this;t.collections.create=t.create.bind(t),t.collections.on=t.on.bind(t),t.collections.off=t.off.bind(t),t.collections.destroy=t.destroy.bind(t),t.collections.get=function(e){var n;return t.collections.every((function(t){return!(n=t.get(e))})),n}},C.prototype.create=function(t){return this.createCollection(t)},C.prototype.createCollection=function(t){var e=new K(this,t);return this.bindCollection(e),this.collections.push(e),e},C.prototype.bindCollection=function(t){var e,n=this,o=function(t,o){e=t.type+\" \"+o.id+\":\"+t.type,n.trigger(e,o)};t.on(\"destroyed\",n.onDestroyed.bind(n)),t.on(\"shown hidden rested dir plain\",o),t.on(\"dir:up dir:right dir:down dir:left\",o),t.on(\"plain:up plain:right plain:down plain:left\",o)},C.prototype.bindDocument=function(){this.binded||(this.bindEvt(document,\"move\").bindEvt(document,\"end\"),this.binded=!0)},C.prototype.unbindDocument=function(t){Object.keys(this.ids).length&&!0!==t||(this.unbindEvt(document,\"move\").unbindEvt(document,\"end\"),this.binded=!1)},C.prototype.getIdentifier=function(t){var e;return t?void 0===(e=void 0===t.identifier?t.pointerId:t.identifier)&&(e=this.latest||0):e=this.index,void 0===this.ids[e]&&(this.ids[e]=this.index,this.index+=1),this.latest=e,this.ids[e]},C.prototype.removeIdentifier=function(t){var e={};for(var n in this.ids)if(this.ids[n]===t){e.id=n,e.identifier=this.ids[n],delete this.ids[n];break}return e},C.prototype.onmove=function(t){return this.onAny(\"move\",t),!1},C.prototype.onend=function(t){return this.onAny(\"end\",t),!1},C.prototype.oncancel=function(t){return this.onAny(\"end\",t),!1},C.prototype.onAny=function(t,e){var n,o=this,i=\"processOn\"+t.charAt(0).toUpperCase()+t.slice(1);return e=l(e),g(e,(function(t){n=o.getIdentifier(t),g(o.collections,function(t,e,n){n.ids.indexOf(e)>=0&&(n[i](t),t._found_=!0)}.bind(null,t,n)),t._found_||o.removeIdentifier(n)})),!1},C.prototype.destroy=function(){this.unbindDocument(!0),this.ids={},this.index=0,this.collections.forEach((function(t){t.destroy()})),this.off()},C.prototype.onDestroyed=function(t,e){if(this.collections.indexOf(e)<0)return!1;this.collections.splice(this.collections.indexOf(e),1)};var O=new C;e.default={create:function(t){return O.create(t)},factory:O}}]).default},\"object\"==typeof n&&\"object\"==typeof e?e.exports=i():\"function\"==typeof define&&define.amd?define(\"nipplejs\",[],i):\"object\"==typeof n?n.nipplejs=i():o.nipplejs=i()},{}],15:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar o,i=function(){return i=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},i.apply(this,arguments)},r=function(){function t(t){this.options=t,this.listeners={}}return t.prototype.on=function(t,e){var n=this.listeners[t]||[];this.listeners[t]=n.concat([e])},t.prototype.triggerEvent=function(t,e){var n=this;(this.listeners[t]||[]).forEach((function(t){return t({target:n,event:e})}))},t}();(o=n.NotyfArrayEvent||(n.NotyfArrayEvent={}))[o.Add=0]=\"Add\",o[o.Remove=1]=\"Remove\";var s,a=function(){function t(){this.notifications=[]}return t.prototype.push=function(t){this.notifications.push(t),this.updateFn(t,n.NotyfArrayEvent.Add,this.notifications)},t.prototype.splice=function(t,e){var o=this.notifications.splice(t,e)[0];return this.updateFn(o,n.NotyfArrayEvent.Remove,this.notifications),o},t.prototype.indexOf=function(t){return this.notifications.indexOf(t)},t.prototype.onUpdate=function(t){this.updateFn=t},t}();(s=n.NotyfEvent||(n.NotyfEvent={})).Dismiss=\"dismiss\",s.Click=\"click\";var c={types:[{type:\"success\",className:\"notyf__toast--success\",backgroundColor:\"#3dc763\",icon:{className:\"notyf__icon--success\",tagName:\"i\"}},{type:\"error\",className:\"notyf__toast--error\",backgroundColor:\"#ed3d3d\",icon:{className:\"notyf__icon--error\",tagName:\"i\"}}],duration:2e3,ripple:!0,position:{x:\"right\",y:\"bottom\"},dismissible:!1},u=function(){function t(){this.notifications=[],this.events={},this.X_POSITION_FLEX_MAP={left:\"flex-start\",center:\"center\",right:\"flex-end\"},this.Y_POSITION_FLEX_MAP={top:\"flex-start\",center:\"center\",bottom:\"flex-end\"};var t=document.createDocumentFragment(),e=this._createHTMLElement({tagName:\"div\",className:\"notyf\"});t.appendChild(e),document.body.appendChild(t),this.container=e,this.animationEndEventName=this._getAnimationEndEventName(),this._createA11yContainer()}return t.prototype.on=function(t,e){var n;this.events=i(i({},this.events),((n={})[t]=e,n))},t.prototype.update=function(t,e){e===n.NotyfArrayEvent.Add?this.addNotification(t):e===n.NotyfArrayEvent.Remove&&this.removeNotification(t)},t.prototype.removeNotification=function(t){var e,n,o=this,i=this._popRenderedNotification(t);i&&((e=i.node).classList.add(\"notyf__toast--disappear\"),e.addEventListener(this.animationEndEventName,n=function(t){t.target===e&&(e.removeEventListener(o.animationEndEventName,n),o.container.removeChild(e))}))},t.prototype.addNotification=function(t){var e=this._renderNotification(t);this.notifications.push({notification:t,node:e}),this._announce(t.options.message||\"Notification\")},t.prototype._renderNotification=function(t){var e,n=this._buildNotificationCard(t),o=t.options.className;return o&&(e=n.classList).add.apply(e,o.split(\" \")),this.container.appendChild(n),n},t.prototype._popRenderedNotification=function(t){for(var e=-1,n=0;n<this.notifications.length&&e<0;n++)this.notifications[n].notification===t&&(e=n);if(-1!==e)return this.notifications.splice(e,1)[0]},t.prototype.getXPosition=function(t){var e;return(null===(e=null==t?void 0:t.position)||void 0===e?void 0:e.x)||\"right\"},t.prototype.getYPosition=function(t){var e;return(null===(e=null==t?void 0:t.position)||void 0===e?void 0:e.y)||\"bottom\"},t.prototype.adjustContainerAlignment=function(t){var e=this.X_POSITION_FLEX_MAP[this.getXPosition(t)],n=this.Y_POSITION_FLEX_MAP[this.getYPosition(t)],o=this.container.style;o.setProperty(\"justify-content\",n),o.setProperty(\"align-items\",e)},t.prototype._buildNotificationCard=function(t){var e=this,o=t.options,i=o.icon;this.adjustContainerAlignment(o);var r=this._createHTMLElement({tagName:\"div\",className:\"notyf__toast\"}),s=this._createHTMLElement({tagName:\"div\",className:\"notyf__ripple\"}),a=this._createHTMLElement({tagName:\"div\",className:\"notyf__wrapper\"}),c=this._createHTMLElement({tagName:\"div\",className:\"notyf__message\"});c.innerHTML=o.message||\"\";var u=o.background||o.backgroundColor;if(i){var l=this._createHTMLElement({tagName:\"div\",className:\"notyf__icon\"});if((\"string\"==typeof i||i instanceof String)&&(l.innerHTML=new String(i).valueOf()),\"object\"==typeof i){var d=i.tagName,h=void 0===d?\"i\":d,p=i.className,f=i.text,v=i.color,g=void 0===v?u:v,m=this._createHTMLElement({tagName:h,className:p,text:f});g&&(m.style.color=g),l.appendChild(m)}a.appendChild(l)}if(a.appendChild(c),r.appendChild(a),u&&(o.ripple?(s.style.background=u,r.appendChild(s)):r.style.background=u),o.dismissible){var y=this._createHTMLElement({tagName:\"div\",className:\"notyf__dismiss\"}),b=this._createHTMLElement({tagName:\"button\",className:\"notyf__dismiss-btn\"});y.appendChild(b),a.appendChild(y),r.classList.add(\"notyf__toast--dismissible\"),b.addEventListener(\"click\",(function(o){var i,r;null===(r=(i=e.events)[n.NotyfEvent.Dismiss])||void 0===r||r.call(i,{target:t,event:o}),o.stopPropagation()}))}r.addEventListener(\"click\",(function(o){var i,r;return null===(r=(i=e.events)[n.NotyfEvent.Click])||void 0===r?void 0:r.call(i,{target:t,event:o})}));var _=\"top\"===this.getYPosition(o)?\"upper\":\"lower\";return r.classList.add(\"notyf__toast--\"+_),r},t.prototype._createHTMLElement=function(t){var e=t.tagName,n=t.className,o=t.text,i=document.createElement(e);return n&&(i.className=n),i.textContent=o||null,i},t.prototype._createA11yContainer=function(){var t=this._createHTMLElement({tagName:\"div\",className:\"notyf-announcer\"});t.setAttribute(\"aria-atomic\",\"true\"),t.setAttribute(\"aria-live\",\"polite\"),t.style.border=\"0\",t.style.clip=\"rect(0 0 0 0)\",t.style.height=\"1px\",t.style.margin=\"-1px\",t.style.overflow=\"hidden\",t.style.padding=\"0\",t.style.position=\"absolute\",t.style.width=\"1px\",t.style.outline=\"0\",document.body.appendChild(t),this.a11yContainer=t},t.prototype._announce=function(t){var e=this;this.a11yContainer.textContent=\"\",setTimeout((function(){e.a11yContainer.textContent=t}),100)},t.prototype._getAnimationEndEventName=function(){var t,e=document.createElement(\"_fake\"),n={MozTransition:\"animationend\",OTransition:\"oAnimationEnd\",WebkitTransition:\"webkitAnimationEnd\",transition:\"animationend\"};for(t in n)if(void 0!==e.style[t])return n[t];return\"animationend\"},t}(),l=function(){function t(t){var e=this;this.dismiss=this._removeNotification,this.notifications=new a,this.view=new u;var o=this.registerTypes(t);this.options=i(i({},c),t),this.options.types=o,this.notifications.onUpdate((function(t,n){return e.view.update(t,n)})),this.view.on(n.NotyfEvent.Dismiss,(function(t){var o=t.target,i=t.event;e._removeNotification(o),o.triggerEvent(n.NotyfEvent.Dismiss,i)})),this.view.on(n.NotyfEvent.Click,(function(t){var e=t.target,o=t.event;return e.triggerEvent(n.NotyfEvent.Click,o)}))}return t.prototype.error=function(t){var e=this.normalizeOptions(\"error\",t);return this.open(e)},t.prototype.success=function(t){var e=this.normalizeOptions(\"success\",t);return this.open(e)},t.prototype.open=function(t){var e=this.options.types.find((function(e){return e.type===t.type}))||{},n=i(i({},e),t);this.assignProps([\"ripple\",\"position\",\"dismissible\"],n);var o=new r(n);return this._pushNotification(o),o},t.prototype.dismissAll=function(){for(;this.notifications.splice(0,1););},t.prototype.assignProps=function(t,e){var n=this;t.forEach((function(t){e[t]=null==e[t]?n.options[t]:e[t]}))},t.prototype._pushNotification=function(t){var e=this;this.notifications.push(t);var n=void 0!==t.options.duration?t.options.duration:this.options.duration;n&&setTimeout((function(){return e._removeNotification(t)}),n)},t.prototype._removeNotification=function(t){var e=this.notifications.indexOf(t);-1!==e&&this.notifications.splice(e,1)},t.prototype.normalizeOptions=function(t,e){var n={type:t};return\"string\"==typeof e?n.message=e:\"object\"==typeof e&&(n=i(i({},n),e)),n},t.prototype.registerTypes=function(t){var e=(t&&t.types||[]).slice();return c.types.map((function(t){var n=-1;e.forEach((function(e,o){e.type===t.type&&(n=o)}));var o=-1!==n?e.splice(n,1)[0]:{};return i(i({},t),o)})).concat(e)},t}();n.DEFAULT_OPTIONS=c,n.Notyf=l,n.NotyfArray=a,n.NotyfNotification=r,n.NotyfView=u},{}],16:[function(t,e,n){var o,i;o=this,i=function(){return function(){var t={9662:function(t,e,n){var o=n(614),i=n(6330),r=TypeError;t.exports=function(t){if(o(t))return t;throw r(i(t)+\" is not a function\")}},9483:function(t,e,n){var o=n(4411),i=n(6330),r=TypeError;t.exports=function(t){if(o(t))return t;throw r(i(t)+\" is not a constructor\")}},6077:function(t,e,n){var o=n(614),i=String,r=TypeError;t.exports=function(t){if(\"object\"==typeof t||o(t))return t;throw r(\"Can't set \"+i(t)+\" as a prototype\")}},1223:function(t,e,n){var o=n(5112),i=n(30),r=n(3070).f,s=o(\"unscopables\"),a=Array.prototype;null==a[s]&&r(a,s,{configurable:!0,value:i(null)}),t.exports=function(t){a[s][t]=!0}},1530:function(t,e,n){\"use strict\";var o=n(8710).charAt;t.exports=function(t,e,n){return e+(n?o(t,e).length:1)}},9670:function(t,e,n){var o=n(111),i=String,r=TypeError;t.exports=function(t){if(o(t))return t;throw r(i(t)+\" is not an object\")}},8533:function(t,e,n){\"use strict\";var o=n(2092).forEach,i=n(9341)(\"forEach\");t.exports=i?[].forEach:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}},8457:function(t,e,n){\"use strict\";var o=n(9974),i=n(6916),r=n(7908),s=n(3411),a=n(7659),c=n(4411),u=n(6244),l=n(6135),d=n(8554),h=n(1246),p=Array;t.exports=function(t){var e=r(t),n=c(this),f=arguments.length,v=f>1?arguments[1]:void 0,g=void 0!==v;g&&(v=o(v,f>2?arguments[2]:void 0));var m,y,b,_,w,D,x=h(e),B=0;if(!x||this===p&&a(x))for(m=u(e),y=n?new this(m):p(m);m>B;B++)D=g?v(e[B],B):e[B],l(y,B,D);else for(w=(_=d(e,x)).next,y=n?new this:[];!(b=i(w,_)).done;B++)D=g?s(_,v,[b.value,B],!0):b.value,l(y,B,D);return y.length=B,y}},1318:function(t,e,n){var o=n(5656),i=n(1400),r=n(6244),s=function(t){return function(e,n,s){var a,c=o(e),u=r(c),l=i(s,u);if(t&&n!=n){for(;u>l;)if((a=c[l++])!=a)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},2092:function(t,e,n){var o=n(9974),i=n(1702),r=n(8361),s=n(7908),a=n(6244),c=n(5417),u=i([].push),l=function(t){var e=1==t,n=2==t,i=3==t,l=4==t,d=6==t,h=7==t,p=5==t||d;return function(f,v,g,m){for(var y,b,_=s(f),w=r(_),D=o(v,g),x=a(w),B=0,E=m||c,k=e?E(f,x):n||h?E(f,0):void 0;x>B;B++)if((p||B in w)&&(b=D(y=w[B],B,_),t))if(e)k[B]=b;else if(b)switch(t){case 3:return!0;case 5:return y;case 6:return B;case 2:u(k,y)}else switch(t){case 4:return!1;case 7:u(k,y)}return d?-1:i||l?l:k}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterReject:l(7)}},1194:function(t,e,n){var o=n(7293),i=n(5112),r=n(7392),s=i(\"species\");t.exports=function(t){return r>=51||!o((function(){var e=[];return(e.constructor={})[s]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},9341:function(t,e,n){\"use strict\";var o=n(7293);t.exports=function(t,e){var n=[][t];return!!n&&o((function(){n.call(null,e||function(){return 1},1)}))}},3671:function(t,e,n){var o=n(9662),i=n(7908),r=n(8361),s=n(6244),a=TypeError,c=function(t){return function(e,n,c,u){o(n);var l=i(e),d=r(l),h=s(l),p=t?h-1:0,f=t?-1:1;if(c<2)for(;;){if(p in d){u=d[p],p+=f;break}if(p+=f,t?p<0:h<=p)throw a(\"Reduce of empty array with no initial value\")}for(;t?p>=0:h>p;p+=f)p in d&&(u=n(u,d[p],p,l));return u}};t.exports={left:c(!1),right:c(!0)}},1589:function(t,e,n){var o=n(1400),i=n(6244),r=n(6135),s=Array,a=Math.max;t.exports=function(t,e,n){for(var c=i(t),u=o(e,c),l=o(void 0===n?c:n,c),d=s(a(l-u,0)),h=0;u<l;u++,h++)r(d,h,t[u]);return d.length=h,d}},206:function(t,e,n){var o=n(1702);t.exports=o([].slice)},4362:function(t,e,n){var o=n(1589),i=Math.floor,r=function(t,e){var n=t.length,c=i(n/2);return n<8?s(t,e):a(t,r(o(t,0,c),e),r(o(t,c),e),e)},s=function(t,e){for(var n,o,i=t.length,r=1;r<i;){for(o=r,n=t[r];o&&e(t[o-1],n)>0;)t[o]=t[--o];o!==r++&&(t[o]=n)}return t},a=function(t,e,n,o){for(var i=e.length,r=n.length,s=0,a=0;s<i||a<r;)t[s+a]=s<i&&a<r?o(e[s],n[a])<=0?e[s++]:n[a++]:s<i?e[s++]:n[a++];return t};t.exports=r},7475:function(t,e,n){var o=n(3157),i=n(4411),r=n(111),s=n(5112)(\"species\"),a=Array;t.exports=function(t){var e;return o(t)&&(e=t.constructor,(i(e)&&(e===a||o(e.prototype))||r(e)&&null===(e=e[s]))&&(e=void 0)),void 0===e?a:e}},5417:function(t,e,n){var o=n(7475);t.exports=function(t,e){return new(o(t))(0===e?0:e)}},3411:function(t,e,n){var o=n(9670),i=n(9212);t.exports=function(t,e,n,r){try{return r?e(o(n)[0],n[1]):e(n)}catch(e){i(t,\"throw\",e)}}},7072:function(t,e,n){var o=n(5112)(\"iterator\"),i=!1;try{var r=0,s={next:function(){return{done:!!r++}},return:function(){i=!0}};s[o]=function(){return this},Array.from(s,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(t){}return n}},4326:function(t,e,n){var o=n(1702),i=o({}.toString),r=o(\"\".slice);t.exports=function(t){return r(i(t),8,-1)}},648:function(t,e,n){var o=n(1694),i=n(614),r=n(4326),s=n(5112)(\"toStringTag\"),a=Object,c=\"Arguments\"==r(function(){return arguments}());t.exports=o?r:function(t){var e,n,o;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=a(t),s))?n:c?r(e):\"Object\"==(o=r(e))&&i(e.callee)?\"Arguments\":o}},9920:function(t,e,n){var o=n(2597),i=n(3887),r=n(1236),s=n(3070);t.exports=function(t,e,n){for(var a=i(e),c=s.f,u=r.f,l=0;l<a.length;l++){var d=a[l];o(t,d)||n&&o(n,d)||c(t,d,u(e,d))}}},4964:function(t,e,n){var o=n(5112)(\"match\");t.exports=function(t){var e=/./;try{\"/./\"[t](e)}catch(n){try{return e[o]=!1,\"/./\"[t](e)}catch(t){}}return!1}},8544:function(t,e,n){var o=n(7293);t.exports=!o((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},4994:function(t,e,n){\"use strict\";var o=n(3383).IteratorPrototype,i=n(30),r=n(9114),s=n(8003),a=n(7497),c=function(){return this};t.exports=function(t,e,n,u){var l=e+\" Iterator\";return t.prototype=i(o,{next:r(+!u,n)}),s(t,l,!1,!0),a[l]=c,t}},8880:function(t,e,n){var o=n(9781),i=n(3070),r=n(9114);t.exports=o?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},9114:function(t){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},6135:function(t,e,n){\"use strict\";var o=n(4948),i=n(3070),r=n(9114);t.exports=function(t,e,n){var s=o(e);s in t?i.f(t,s,r(0,n)):t[s]=n}},8052:function(t,e,n){var o=n(614),i=n(3070),r=n(6339),s=n(3072);t.exports=function(t,e,n,a){a||(a={});var c=a.enumerable,u=void 0!==a.name?a.name:e;if(o(n)&&r(n,u,a),a.global)c?t[e]=n:s(e,n);else{try{a.unsafe?t[e]&&(c=!0):delete t[e]}catch(t){}c?t[e]=n:i.f(t,e,{value:n,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return t}},3072:function(t,e,n){var o=n(7854),i=Object.defineProperty;t.exports=function(t,e){try{i(o,t,{value:e,configurable:!0,writable:!0})}catch(n){o[t]=e}return e}},654:function(t,e,n){\"use strict\";var o=n(2109),i=n(6916),r=n(1913),s=n(6530),a=n(614),c=n(4994),u=n(9518),l=n(7674),d=n(8003),h=n(8880),p=n(8052),f=n(5112),v=n(7497),g=n(3383),m=s.PROPER,y=s.CONFIGURABLE,b=g.IteratorPrototype,_=g.BUGGY_SAFARI_ITERATORS,w=f(\"iterator\"),D=\"keys\",x=\"values\",B=\"entries\",E=function(){return this};t.exports=function(t,e,n,s,f,g,k){c(n,e,s);var K,C,O,S=function(t){if(t===f&&L)return L;if(!_&&t in M)return M[t];switch(t){case D:case x:case B:return function(){return new n(this,t)}}return function(){return new n(this)}},P=e+\" Iterator\",T=!1,M=t.prototype,I=M[w]||M[\"@@iterator\"]||f&&M[f],L=!_&&I||S(f),N=\"Array\"==e&&M.entries||I;if(N&&(K=u(N.call(new t)))!==Object.prototype&&K.next&&(r||u(K)===b||(l?l(K,b):a(K[w])||p(K,w,E)),d(K,P,!0,!0),r&&(v[P]=E)),m&&f==x&&I&&I.name!==x&&(!r&&y?h(M,\"name\",x):(T=!0,L=function(){return i(I,this)})),f)if(C={values:S(x),keys:g?L:S(D),entries:S(B)},k)for(O in C)(_||T||!(O in M))&&p(M,O,C[O]);else o({target:e,proto:!0,forced:_||T},C);return r&&!k||M[w]===L||p(M,w,L,{name:f}),v[e]=L,C}},7235:function(t,e,n){var o=n(857),i=n(2597),r=n(6061),s=n(3070).f;t.exports=function(t){var e=o.Symbol||(o.Symbol={});i(e,t)||s(e,t,{value:r.f(t)})}},5117:function(t,e,n){\"use strict\";var o=n(6330),i=TypeError;t.exports=function(t,e){if(!delete t[e])throw i(\"Cannot delete property \"+o(e)+\" of \"+o(t))}},9781:function(t,e,n){var o=n(7293);t.exports=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:function(t,e,n){var o=n(7854),i=n(111),r=o.document,s=i(r)&&i(r.createElement);t.exports=function(t){return s?r.createElement(t):{}}},7207:function(t){var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw e(\"Maximum allowed index exceeded\");return t}},8324:function(t){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:function(t,e,n){var o=n(317)(\"span\").classList,i=o&&o.constructor&&o.constructor.prototype;t.exports=i===Object.prototype?void 0:i},8886:function(t,e,n){var o=n(8113).match(/firefox\\/(\\d+)/i);t.exports=!!o&&+o[1]},256:function(t,e,n){var o=n(8113);t.exports=/MSIE|Trident/.test(o)},5268:function(t,e,n){var o=n(4326),i=n(7854);t.exports=\"process\"==o(i.process)},8113:function(t,e,n){var o=n(5005);t.exports=o(\"navigator\",\"userAgent\")||\"\"},7392:function(t,e,n){var o,i,r=n(7854),s=n(8113),a=r.process,c=r.Deno,u=a&&a.versions||c&&c.version,l=u&&u.v8;l&&(i=(o=l.split(\".\"))[0]>0&&o[0]<4?1:+(o[0]+o[1])),!i&&s&&(!(o=s.match(/Edge\\/(\\d+)/))||o[1]>=74)&&(o=s.match(/Chrome\\/(\\d+)/))&&(i=+o[1]),t.exports=i},8008:function(t,e,n){var o=n(8113).match(/AppleWebKit\\/(\\d+)\\./);t.exports=!!o&&+o[1]},748:function(t){t.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},2109:function(t,e,n){var o=n(7854),i=n(1236).f,r=n(8880),s=n(8052),a=n(3072),c=n(9920),u=n(4705);t.exports=function(t,e){var n,l,d,h,p,f=t.target,v=t.global,g=t.stat;if(n=v?o:g?o[f]||a(f,{}):(o[f]||{}).prototype)for(l in e){if(h=e[l],d=t.dontCallGetSet?(p=i(n,l))&&p.value:n[l],!u(v?l:f+(g?\".\":\"#\")+l,t.forced)&&void 0!==d){if(typeof h==typeof d)continue;c(h,d)}(t.sham||d&&d.sham)&&r(h,\"sham\",!0),s(n,l,h,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(t){return!0}}},7007:function(t,e,n){\"use strict\";n(4916);var o=n(1702),i=n(8052),r=n(2261),s=n(7293),a=n(5112),c=n(8880),u=a(\"species\"),l=RegExp.prototype;t.exports=function(t,e,n,d){var h=a(t),p=!s((function(){var e={};return e[h]=function(){return 7},7!=\"\"[t](e)})),f=p&&!s((function(){var e=!1,n=/a/;return\"split\"===t&&((n={}).constructor={},n.constructor[u]=function(){return n},n.flags=\"\",n[h]=/./[h]),n.exec=function(){return e=!0,null},n[h](\"\"),!e}));if(!p||!f||n){var v=o(/./[h]),g=e(h,\"\"[t],(function(t,e,n,i,s){var a=o(t),c=e.exec;return c===r||c===l.exec?p&&!s?{done:!0,value:v(e,n,i)}:{done:!0,value:a(n,e,i)}:{done:!1}}));i(String.prototype,t,g[0]),i(l,h,g[1])}d&&c(l[h],\"sham\",!0)}},2104:function(t,e,n){var o=n(4374),i=Function.prototype,r=i.apply,s=i.call;t.exports=\"object\"==typeof Reflect&&Reflect.apply||(o?s.bind(r):function(){return s.apply(r,arguments)})},9974:function(t,e,n){var o=n(1702),i=n(9662),r=n(4374),s=o(o.bind);t.exports=function(t,e){return i(t),void 0===e?t:r?s(t,e):function(){return t.apply(e,arguments)}}},4374:function(t,e,n){var o=n(7293);t.exports=!o((function(){var t=function(){}.bind();return\"function\"!=typeof t||t.hasOwnProperty(\"prototype\")}))},6916:function(t,e,n){var o=n(4374),i=Function.prototype.call;t.exports=o?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(t,e,n){var o=n(9781),i=n(2597),r=Function.prototype,s=o&&Object.getOwnPropertyDescriptor,a=i(r,\"name\"),c=a&&\"something\"===function(){}.name,u=a&&(!o||o&&s(r,\"name\").configurable);t.exports={EXISTS:a,PROPER:c,CONFIGURABLE:u}},1702:function(t,e,n){var o=n(4374),i=Function.prototype,r=i.bind,s=i.call,a=o&&r.bind(s,s);t.exports=o?function(t){return t&&a(t)}:function(t){return t&&function(){return s.apply(t,arguments)}}},5005:function(t,e,n){var o=n(7854),i=n(614),r=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?r(o[t]):o[t]&&o[t][e]}},1246:function(t,e,n){var o=n(648),i=n(8173),r=n(7497),s=n(5112)(\"iterator\");t.exports=function(t){if(null!=t)return i(t,s)||i(t,\"@@iterator\")||r[o(t)]}},8554:function(t,e,n){var o=n(6916),i=n(9662),r=n(9670),s=n(6330),a=n(1246),c=TypeError;t.exports=function(t,e){var n=arguments.length<2?a(t):e;if(i(n))return r(o(n,t));throw c(s(t)+\" is not iterable\")}},8173:function(t,e,n){var o=n(9662);t.exports=function(t,e){var n=t[e];return null==n?void 0:o(n)}},647:function(t,e,n){var o=n(1702),i=n(7908),r=Math.floor,s=o(\"\".charAt),a=o(\"\".replace),c=o(\"\".slice),u=/\\$([$&'`]|\\d{1,2}|<[^>]*>)/g,l=/\\$([$&'`]|\\d{1,2})/g;t.exports=function(t,e,n,o,d,h){var p=n+t.length,f=o.length,v=l;return void 0!==d&&(d=i(d),v=u),a(h,v,(function(i,a){var u;switch(s(a,0)){case\"$\":return\"$\";case\"&\":return t;case\"`\":return c(e,0,n);case\"'\":return c(e,p);case\"<\":u=d[c(a,1,-1)];break;default:var l=+a;if(0===l)return i;if(l>f){var h=r(l/10);return 0===h?i:h<=f?void 0===o[h-1]?s(a,1):o[h-1]+s(a,1):i}u=o[l-1]}return void 0===u?\"\":u}))}},7854:function(t,e,n){var o=function(t){return t&&t.Math==Math&&t};t.exports=o(\"object\"==typeof globalThis&&globalThis)||o(\"object\"==typeof window&&window)||o(\"object\"==typeof self&&self)||o(\"object\"==typeof n.g&&n.g)||function(){return this}()||Function(\"return this\")()},2597:function(t,e,n){var o=n(1702),i=n(7908),r=o({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return r(i(t),e)}},3501:function(t){t.exports={}},490:function(t,e,n){var o=n(5005);t.exports=o(\"document\",\"documentElement\")},4664:function(t,e,n){var o=n(9781),i=n(7293),r=n(317);t.exports=!o&&!i((function(){return 7!=Object.defineProperty(r(\"div\"),\"a\",{get:function(){return 7}}).a}))},8361:function(t,e,n){var o=n(1702),i=n(7293),r=n(4326),s=Object,a=o(\"\".split);t.exports=i((function(){return!s(\"z\").propertyIsEnumerable(0)}))?function(t){return\"String\"==r(t)?a(t,\"\"):s(t)}:s},9587:function(t,e,n){var o=n(614),i=n(111),r=n(7674);t.exports=function(t,e,n){var s,a;return r&&o(s=e.constructor)&&s!==n&&i(a=s.prototype)&&a!==n.prototype&&r(t,a),t}},2788:function(t,e,n){var o=n(1702),i=n(614),r=n(5465),s=o(Function.toString);i(r.inspectSource)||(r.inspectSource=function(t){return s(t)}),t.exports=r.inspectSource},9909:function(t,e,n){var o,i,r,s=n(8536),a=n(7854),c=n(1702),u=n(111),l=n(8880),d=n(2597),h=n(5465),p=n(6200),f=n(3501),v=\"Object already initialized\",g=a.TypeError,m=a.WeakMap;if(s||h.state){var y=h.state||(h.state=new m),b=c(y.get),_=c(y.has),w=c(y.set);o=function(t,e){if(_(y,t))throw new g(v);return e.facade=t,w(y,t,e),e},i=function(t){return b(y,t)||{}},r=function(t){return _(y,t)}}else{var D=p(\"state\");f[D]=!0,o=function(t,e){if(d(t,D))throw new g(v);return e.facade=t,l(t,D,e),e},i=function(t){return d(t,D)?t[D]:{}},r=function(t){return d(t,D)}}t.exports={set:o,get:i,has:r,enforce:function(t){return r(t)?i(t):o(t,{})},getterFor:function(t){return function(e){var n;if(!u(e)||(n=i(e)).type!==t)throw g(\"Incompatible receiver, \"+t+\" required\");return n}}}},7659:function(t,e,n){var o=n(5112),i=n(7497),r=o(\"iterator\"),s=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||s[r]===t)}},3157:function(t,e,n){var o=n(4326);t.exports=Array.isArray||function(t){return\"Array\"==o(t)}},614:function(t){t.exports=function(t){return\"function\"==typeof t}},4411:function(t,e,n){var o=n(1702),i=n(7293),r=n(614),s=n(648),a=n(5005),c=n(2788),u=function(){},l=[],d=a(\"Reflect\",\"construct\"),h=/^\\s*(?:class|function)\\b/,p=o(h.exec),f=!h.exec(u),v=function(t){if(!r(t))return!1;try{return d(u,l,t),!0}catch(t){return!1}},g=function(t){if(!r(t))return!1;switch(s(t)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return f||!!p(h,c(t))}catch(t){return!0}};g.sham=!0,t.exports=!d||i((function(){var t;return v(v.call)||!v(Object)||!v((function(){t=!0}))||t}))?g:v},4705:function(t,e,n){var o=n(7293),i=n(614),r=/#|\\.prototype\\./,s=function(t,e){var n=c[a(t)];return n==l||n!=u&&(i(e)?o(e):!!e)},a=s.normalize=function(t){return String(t).replace(r,\".\").toLowerCase()},c=s.data={},u=s.NATIVE=\"N\",l=s.POLYFILL=\"P\";t.exports=s},5988:function(t,e,n){var o=n(111),i=Math.floor;t.exports=Number.isInteger||function(t){return!o(t)&&isFinite(t)&&i(t)===t}},111:function(t,e,n){var o=n(614);t.exports=function(t){return\"object\"==typeof t?null!==t:o(t)}},1913:function(t){t.exports=!1},7850:function(t,e,n){var o=n(111),i=n(4326),r=n(5112)(\"match\");t.exports=function(t){var e;return o(t)&&(void 0!==(e=t[r])?!!e:\"RegExp\"==i(t))}},2190:function(t,e,n){var o=n(5005),i=n(614),r=n(7976),s=n(3307),a=Object;t.exports=s?function(t){return\"symbol\"==typeof t}:function(t){var e=o(\"Symbol\");return i(e)&&r(e.prototype,a(t))}},9212:function(t,e,n){var o=n(6916),i=n(9670),r=n(8173);t.exports=function(t,e,n){var s,a;i(t);try{if(!(s=r(t,\"return\"))){if(\"throw\"===e)throw n;return n}s=o(s,t)}catch(t){a=!0,s=t}if(\"throw\"===e)throw n;if(a)throw s;return i(s),n}},3383:function(t,e,n){\"use strict\";var o,i,r,s=n(7293),a=n(614),c=n(30),u=n(9518),l=n(8052),d=n(5112),h=n(1913),p=d(\"iterator\"),f=!1;[].keys&&(\"next\"in(r=[].keys())?(i=u(u(r)))!==Object.prototype&&(o=i):f=!0),null==o||s((function(){var t={};return o[p].call(t)!==t}))?o={}:h&&(o=c(o)),a(o[p])||l(o,p,(function(){return this})),t.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:f}},7497:function(t){t.exports={}},6244:function(t,e,n){var o=n(7466);t.exports=function(t){return o(t.length)}},6339:function(t,e,n){var o=n(7293),i=n(614),r=n(2597),s=n(9781),a=n(6530).CONFIGURABLE,c=n(2788),u=n(9909),l=u.enforce,d=u.get,h=Object.defineProperty,p=s&&!o((function(){return 8!==h((function(){}),\"length\",{value:8}).length})),f=String(String).split(\"String\"),v=t.exports=function(t,e,n){\"Symbol(\"===String(e).slice(0,7)&&(e=\"[\"+String(e).replace(/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),n&&n.getter&&(e=\"get \"+e),n&&n.setter&&(e=\"set \"+e),(!r(t,\"name\")||a&&t.name!==e)&&(s?h(t,\"name\",{value:e,configurable:!0}):t.name=e),p&&n&&r(n,\"arity\")&&t.length!==n.arity&&h(t,\"length\",{value:n.arity});try{n&&r(n,\"constructor\")&&n.constructor?s&&h(t,\"prototype\",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var o=l(t);return r(o,\"source\")||(o.source=f.join(\"string\"==typeof e?e:\"\")),t};Function.prototype.toString=v((function(){return i(this)&&d(this).source||c(this)}),\"toString\")},4758:function(t){var e=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(t){var o=+t;return(o>0?n:e)(o)}},735:function(t,e,n){var o=n(133);t.exports=o&&!!Symbol.for&&!!Symbol.keyFor},133:function(t,e,n){var o=n(7392),i=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&o&&o<41}))},8536:function(t,e,n){var o=n(7854),i=n(614),r=n(2788),s=o.WeakMap;t.exports=i(s)&&/native code/.test(r(s))},3929:function(t,e,n){var o=n(7850),i=TypeError;t.exports=function(t){if(o(t))throw i(\"The method doesn't accept regular expressions\");return t}},1574:function(t,e,n){\"use strict\";var o=n(9781),i=n(1702),r=n(6916),s=n(7293),a=n(1956),c=n(5181),u=n(5296),l=n(7908),d=n(8361),h=Object.assign,p=Object.defineProperty,f=i([].concat);t.exports=!h||s((function(){if(o&&1!==h({b:1},h(p({},\"a\",{enumerable:!0,get:function(){p(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),i=\"abcdefghijklmnopqrst\";return t[n]=7,i.split(\"\").forEach((function(t){e[t]=t})),7!=h({},t)[n]||a(h({},e)).join(\"\")!=i}))?function(t,e){for(var n=l(t),i=arguments.length,s=1,h=c.f,p=u.f;i>s;)for(var v,g=d(arguments[s++]),m=h?f(a(g),h(g)):a(g),y=m.length,b=0;y>b;)v=m[b++],o&&!r(p,g,v)||(n[v]=g[v]);return n}:h},30:function(t,e,n){var o,i=n(9670),r=n(6048),s=n(748),a=n(3501),c=n(490),u=n(317),l=n(6200)(\"IE_PROTO\"),d=function(){},h=function(t){return\"<script>\"+t+\"<\\/script>\"},p=function(t){t.write(h(\"\")),t.close();var e=t.parentWindow.Object;return t=null,e},f=function(){try{o=new ActiveXObject(\"htmlfile\")}catch(t){}var t,e;f=\"undefined\"!=typeof document?document.domain&&o?p(o):((e=u(\"iframe\")).style.display=\"none\",c.appendChild(e),e.src=String(\"javascript:\"),(t=e.contentWindow.document).open(),t.write(h(\"document.F=Object\")),t.close(),t.F):p(o);for(var n=s.length;n--;)delete f.prototype[s[n]];return f()};a[l]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(d.prototype=i(t),n=new d,d.prototype=null,n[l]=t):n=f(),void 0===e?n:r.f(n,e)}},6048:function(t,e,n){var o=n(9781),i=n(3353),r=n(3070),s=n(9670),a=n(5656),c=n(1956);e.f=o&&!i?Object.defineProperties:function(t,e){s(t);for(var n,o=a(e),i=c(e),u=i.length,l=0;u>l;)r.f(t,n=i[l++],o[n]);return t}},3070:function(t,e,n){var o=n(9781),i=n(4664),r=n(3353),s=n(9670),a=n(4948),c=TypeError,u=Object.defineProperty,l=Object.getOwnPropertyDescriptor;e.f=o?r?function(t,e,n){if(s(t),e=a(e),s(n),\"function\"==typeof t&&\"prototype\"===e&&\"value\"in n&&\"writable\"in n&&!n.writable){var o=l(t,e);o&&o.writable&&(t[e]=n.value,n={configurable:\"configurable\"in n?n.configurable:o.configurable,enumerable:\"enumerable\"in n?n.enumerable:o.enumerable,writable:!1})}return u(t,e,n)}:u:function(t,e,n){if(s(t),e=a(e),s(n),i)try{return u(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw c(\"Accessors not supported\");return\"value\"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var o=n(9781),i=n(6916),r=n(5296),s=n(9114),a=n(5656),c=n(4948),u=n(2597),l=n(4664),d=Object.getOwnPropertyDescriptor;e.f=o?d:function(t,e){if(t=a(t),e=c(e),l)try{return d(t,e)}catch(t){}if(u(t,e))return s(!i(r.f,t,e),t[e])}},1156:function(t,e,n){var o=n(4326),i=n(5656),r=n(8006).f,s=n(1589),a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&\"Window\"==o(t)?function(t){try{return r(t)}catch(t){return s(a)}}(t):r(i(t))}},8006:function(t,e,n){var o=n(6324),i=n(748).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return o(t,i)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},9518:function(t,e,n){var o=n(2597),i=n(614),r=n(7908),s=n(6200),a=n(8544),c=s(\"IE_PROTO\"),u=Object,l=u.prototype;t.exports=a?u.getPrototypeOf:function(t){var e=r(t);if(o(e,c))return e[c];var n=e.constructor;return i(n)&&e instanceof n?n.prototype:e instanceof u?l:null}},7976:function(t,e,n){var o=n(1702);t.exports=o({}.isPrototypeOf)},6324:function(t,e,n){var o=n(1702),i=n(2597),r=n(5656),s=n(1318).indexOf,a=n(3501),c=o([].push);t.exports=function(t,e){var n,o=r(t),u=0,l=[];for(n in o)!i(a,n)&&i(o,n)&&c(l,n);for(;e.length>u;)i(o,n=e[u++])&&(~s(l,n)||c(l,n));return l}},1956:function(t,e,n){var o=n(6324),i=n(748);t.exports=Object.keys||function(t){return o(t,i)}},5296:function(t,e){\"use strict\";var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!n.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:n},9026:function(t,e,n){\"use strict\";var o=n(1913),i=n(7854),r=n(7293),s=n(8008);t.exports=o||!r((function(){if(!(s&&s<535)){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete i[t]}}))},7674:function(t,e,n){var o=n(1702),i=n(9670),r=n(6077);t.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var t,e=!1,n={};try{(t=o(Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set))(n,[]),e=n instanceof Array}catch(t){}return function(n,o){return i(n),r(o),e?t(n,o):n.__proto__=o,n}}():void 0)},288:function(t,e,n){\"use strict\";var o=n(1694),i=n(648);t.exports=o?{}.toString:function(){return\"[object \"+i(this)+\"]\"}},2140:function(t,e,n){var o=n(6916),i=n(614),r=n(111),s=TypeError;t.exports=function(t,e){var n,a;if(\"string\"===e&&i(n=t.toString)&&!r(a=o(n,t)))return a;if(i(n=t.valueOf)&&!r(a=o(n,t)))return a;if(\"string\"!==e&&i(n=t.toString)&&!r(a=o(n,t)))return a;throw s(\"Can't convert object to primitive value\")}},3887:function(t,e,n){var o=n(5005),i=n(1702),r=n(8006),s=n(5181),a=n(9670),c=i([].concat);t.exports=o(\"Reflect\",\"ownKeys\")||function(t){var e=r.f(a(t)),n=s.f;return n?c(e,n(t)):e}},857:function(t,e,n){var o=n(7854);t.exports=o},2626:function(t,e,n){var o=n(3070).f;t.exports=function(t,e,n){n in t||o(t,n,{configurable:!0,get:function(){return e[n]},set:function(t){e[n]=t}})}},7651:function(t,e,n){var o=n(6916),i=n(9670),r=n(614),s=n(4326),a=n(2261),c=TypeError;t.exports=function(t,e){var n=t.exec;if(r(n)){var u=o(n,t,e);return null!==u&&i(u),u}if(\"RegExp\"===s(t))return o(a,t,e);throw c(\"RegExp#exec called on incompatible receiver\")}},2261:function(t,e,n){\"use strict\";var o,i,r=n(6916),s=n(1702),a=n(1340),c=n(7066),u=n(2999),l=n(2309),d=n(30),h=n(9909).get,p=n(9441),f=n(7168),v=l(\"native-string-replace\",String.prototype.replace),g=RegExp.prototype.exec,m=g,y=s(\"\".charAt),b=s(\"\".indexOf),_=s(\"\".replace),w=s(\"\".slice),D=(i=/b*/g,r(g,o=/a/,\"a\"),r(g,i,\"a\"),0!==o.lastIndex||0!==i.lastIndex),x=u.BROKEN_CARET,B=void 0!==/()??/.exec(\"\")[1];(D||B||x||p||f)&&(m=function(t){var e,n,o,i,s,u,l,p=this,f=h(p),E=a(t),k=f.raw;if(k)return k.lastIndex=p.lastIndex,e=r(m,k,E),p.lastIndex=k.lastIndex,e;var K=f.groups,C=x&&p.sticky,O=r(c,p),S=p.source,P=0,T=E;if(C&&(O=_(O,\"y\",\"\"),-1===b(O,\"g\")&&(O+=\"g\"),T=w(E,p.lastIndex),p.lastIndex>0&&(!p.multiline||p.multiline&&\"\\n\"!==y(E,p.lastIndex-1))&&(S=\"(?: \"+S+\")\",T=\" \"+T,P++),n=new RegExp(\"^(?:\"+S+\")\",O)),B&&(n=new RegExp(\"^\"+S+\"$(?!\\\\s)\",O)),D&&(o=p.lastIndex),i=r(g,C?n:p,T),C?i?(i.input=w(i.input,P),i[0]=w(i[0],P),i.index=p.lastIndex,p.lastIndex+=i[0].length):p.lastIndex=0:D&&i&&(p.lastIndex=p.global?i.index+i[0].length:o),B&&i&&i.length>1&&r(v,i[0],n,(function(){for(s=1;s<arguments.length-2;s++)void 0===arguments[s]&&(i[s]=void 0)})),i&&K)for(i.groups=u=d(null),s=0;s<K.length;s++)u[(l=K[s])[0]]=i[l[1]];return i}),t.exports=m},7066:function(t,e,n){\"use strict\";var o=n(9670);t.exports=function(){var t=o(this),e=\"\";return t.hasIndices&&(e+=\"d\"),t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.dotAll&&(e+=\"s\"),t.unicode&&(e+=\"u\"),t.unicodeSets&&(e+=\"v\"),t.sticky&&(e+=\"y\"),e}},4706:function(t,e,n){var o=n(6916),i=n(2597),r=n(7976),s=n(7066),a=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||\"flags\"in a||i(t,\"flags\")||!r(a,t)?e:o(s,t)}},2999:function(t,e,n){var o=n(7293),i=n(7854).RegExp,r=o((function(){var t=i(\"a\",\"y\");return t.lastIndex=2,null!=t.exec(\"abcd\")})),s=r||o((function(){return!i(\"a\",\"y\").sticky})),a=r||o((function(){var t=i(\"^r\",\"gy\");return t.lastIndex=2,null!=t.exec(\"str\")}));t.exports={BROKEN_CARET:a,MISSED_STICKY:s,UNSUPPORTED_Y:r}},9441:function(t,e,n){var o=n(7293),i=n(7854).RegExp;t.exports=o((function(){var t=i(\".\",\"s\");return!(t.dotAll&&t.exec(\"\\n\")&&\"s\"===t.flags)}))},7168:function(t,e,n){var o=n(7293),i=n(7854).RegExp;t.exports=o((function(){var t=i(\"(?<a>b)\",\"g\");return\"b\"!==t.exec(\"b\").groups.a||\"bc\"!==\"b\".replace(t,\"$<a>c\")}))},4488:function(t){var e=TypeError;t.exports=function(t){if(null==t)throw e(\"Can't call method on \"+t);return t}},6340:function(t,e,n){\"use strict\";var o=n(5005),i=n(3070),r=n(5112),s=n(9781),a=r(\"species\");t.exports=function(t){var e=o(t),n=i.f;s&&e&&!e[a]&&n(e,a,{configurable:!0,get:function(){return this}})}},8003:function(t,e,n){var o=n(3070).f,i=n(2597),r=n(5112)(\"toStringTag\");t.exports=function(t,e,n){t&&!n&&(t=t.prototype),t&&!i(t,r)&&o(t,r,{configurable:!0,value:e})}},6200:function(t,e,n){var o=n(2309),i=n(9711),r=o(\"keys\");t.exports=function(t){return r[t]||(r[t]=i(t))}},5465:function(t,e,n){var o=n(7854),i=n(3072),r=\"__core-js_shared__\",s=o[r]||i(r,{});t.exports=s},2309:function(t,e,n){var o=n(1913),i=n(5465);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:\"3.23.5\",mode:o?\"pure\":\"global\",copyright:\"© 2014-2022 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.23.5/LICENSE\",source:\"https://github.com/zloirock/core-js\"})},6707:function(t,e,n){var o=n(9670),i=n(9483),r=n(5112)(\"species\");t.exports=function(t,e){var n,s=o(t).constructor;return void 0===s||null==(n=o(s)[r])?e:i(n)}},8710:function(t,e,n){var o=n(1702),i=n(9303),r=n(1340),s=n(4488),a=o(\"\".charAt),c=o(\"\".charCodeAt),u=o(\"\".slice),l=function(t){return function(e,n){var o,l,d=r(s(e)),h=i(n),p=d.length;return h<0||h>=p?t?\"\":void 0:(o=c(d,h))<55296||o>56319||h+1===p||(l=c(d,h+1))<56320||l>57343?t?a(d,h):o:t?u(d,h,h+2):l-56320+(o-55296<<10)+65536}};t.exports={codeAt:l(!1),charAt:l(!0)}},6091:function(t,e,n){var o=n(6530).PROPER,i=n(7293),r=n(1361);t.exports=function(t){return i((function(){return!!r[t]()||\"​…᠎\"!==\"​…᠎\"[t]()||o&&r[t].name!==t}))}},3111:function(t,e,n){var o=n(1702),i=n(4488),r=n(1340),s=n(1361),a=o(\"\".replace),c=\"[\"+s+\"]\",u=RegExp(\"^\"+c+c+\"*\"),l=RegExp(c+c+\"*$\"),d=function(t){return function(e){var n=r(i(e));return 1&t&&(n=a(n,u,\"\")),2&t&&(n=a(n,l,\"\")),n}};t.exports={start:d(1),end:d(2),trim:d(3)}},6532:function(t,e,n){var o=n(6916),i=n(5005),r=n(5112),s=n(8052);t.exports=function(){var t=i(\"Symbol\"),e=t&&t.prototype,n=e&&e.valueOf,a=r(\"toPrimitive\");e&&!e[a]&&s(e,a,(function(t){return o(n,this)}),{arity:1})}},863:function(t,e,n){var o=n(1702);t.exports=o(1..valueOf)},1400:function(t,e,n){var o=n(9303),i=Math.max,r=Math.min;t.exports=function(t,e){var n=o(t);return n<0?i(n+e,0):r(n,e)}},5656:function(t,e,n){var o=n(8361),i=n(4488);t.exports=function(t){return o(i(t))}},9303:function(t,e,n){var o=n(4758);t.exports=function(t){var e=+t;return e!=e||0===e?0:o(e)}},7466:function(t,e,n){var o=n(9303),i=Math.min;t.exports=function(t){return t>0?i(o(t),9007199254740991):0}},7908:function(t,e,n){var o=n(4488),i=Object;t.exports=function(t){return i(o(t))}},7593:function(t,e,n){var o=n(6916),i=n(111),r=n(2190),s=n(8173),a=n(2140),c=n(5112),u=TypeError,l=c(\"toPrimitive\");t.exports=function(t,e){if(!i(t)||r(t))return t;var n,c=s(t,l);if(c){if(void 0===e&&(e=\"default\"),n=o(c,t,e),!i(n)||r(n))return n;throw u(\"Can't convert object to primitive value\")}return void 0===e&&(e=\"number\"),a(t,e)}},4948:function(t,e,n){var o=n(7593),i=n(2190);t.exports=function(t){var e=o(t,\"string\");return i(e)?e:e+\"\"}},1694:function(t,e,n){var o={};o[n(5112)(\"toStringTag\")]=\"z\",t.exports=\"[object z]\"===String(o)},1340:function(t,e,n){var o=n(648),i=String;t.exports=function(t){if(\"Symbol\"===o(t))throw TypeError(\"Cannot convert a Symbol value to a string\");return i(t)}},6330:function(t){var e=String;t.exports=function(t){try{return e(t)}catch(t){return\"Object\"}}},9711:function(t,e,n){var o=n(1702),i=0,r=Math.random(),s=o(1..toString);t.exports=function(t){return\"Symbol(\"+(void 0===t?\"\":t)+\")_\"+s(++i+r,36)}},3307:function(t,e,n){var o=n(133);t.exports=o&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},3353:function(t,e,n){var o=n(9781),i=n(7293);t.exports=o&&i((function(){return 42!=Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype}))},6061:function(t,e,n){var o=n(5112);e.f=o},5112:function(t,e,n){var o=n(7854),i=n(2309),r=n(2597),s=n(9711),a=n(133),c=n(3307),u=i(\"wks\"),l=o.Symbol,d=l&&l.for,h=c?l:l&&l.withoutSetter||s;t.exports=function(t){if(!r(u,t)||!a&&\"string\"!=typeof u[t]){var e=\"Symbol.\"+t;a&&r(l,t)?u[t]=l[t]:u[t]=c&&d?d(e):h(e)}return u[t]}},1361:function(t){t.exports=\"\\t\\n\\v\\f\\r                 \\u2028\\u2029\\ufeff\"},2222:function(t,e,n){\"use strict\";var o=n(2109),i=n(7293),r=n(3157),s=n(111),a=n(7908),c=n(6244),u=n(7207),l=n(6135),d=n(5417),h=n(1194),p=n(5112),f=n(7392),v=p(\"isConcatSpreadable\"),g=f>=51||!i((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),m=h(\"concat\"),y=function(t){if(!s(t))return!1;var e=t[v];return void 0!==e?!!e:r(t)};o({target:\"Array\",proto:!0,arity:1,forced:!g||!m},{concat:function(t){var e,n,o,i,r,s=a(this),h=d(s,0),p=0;for(e=-1,o=arguments.length;e<o;e++)if(y(r=-1===e?s:arguments[e]))for(i=c(r),u(p+i),n=0;n<i;n++,p++)n in r&&l(h,p,r[n]);else u(p+1),l(h,p++,r);return h.length=p,h}})},7327:function(t,e,n){\"use strict\";var o=n(2109),i=n(2092).filter;o({target:\"Array\",proto:!0,forced:!n(1194)(\"filter\")},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},1038:function(t,e,n){var o=n(2109),i=n(8457);o({target:\"Array\",stat:!0,forced:!n(7072)((function(t){Array.from(t)}))},{from:i})},6699:function(t,e,n){\"use strict\";var o=n(2109),i=n(1318).includes,r=n(7293),s=n(1223);o({target:\"Array\",proto:!0,forced:r((function(){return!Array(1).includes()}))},{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),s(\"includes\")},2772:function(t,e,n){\"use strict\";var o=n(2109),i=n(1702),r=n(1318).indexOf,s=n(9341),a=i([].indexOf),c=!!a&&1/a([1],1,-0)<0,u=s(\"indexOf\");o({target:\"Array\",proto:!0,forced:c||!u},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return c?a(this,t,e)||0:r(this,t,e)}})},6992:function(t,e,n){\"use strict\";var o=n(5656),i=n(1223),r=n(7497),s=n(9909),a=n(3070).f,c=n(654),u=n(1913),l=n(9781),d=\"Array Iterator\",h=s.set,p=s.getterFor(d);t.exports=c(Array,\"Array\",(function(t,e){h(this,{type:d,target:o(t),index:0,kind:e})}),(function(){var t=p(this),e=t.target,n=t.kind,o=t.index++;return!e||o>=e.length?(t.target=void 0,{value:void 0,done:!0}):\"keys\"==n?{value:o,done:!1}:\"values\"==n?{value:e[o],done:!1}:{value:[o,e[o]],done:!1}}),\"values\");var f=r.Arguments=r.Array;if(i(\"keys\"),i(\"values\"),i(\"entries\"),!u&&l&&\"values\"!==f.name)try{a(f,\"name\",{value:\"values\"})}catch(t){}},9600:function(t,e,n){\"use strict\";var o=n(2109),i=n(1702),r=n(8361),s=n(5656),a=n(9341),c=i([].join),u=r!=Object,l=a(\"join\",\",\");o({target:\"Array\",proto:!0,forced:u||!l},{join:function(t){return c(s(this),void 0===t?\",\":t)}})},1249:function(t,e,n){\"use strict\";var o=n(2109),i=n(2092).map;o({target:\"Array\",proto:!0,forced:!n(1194)(\"map\")},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},5827:function(t,e,n){\"use strict\";var o=n(2109),i=n(3671).left,r=n(9341),s=n(7392),a=n(5268);o({target:\"Array\",proto:!0,forced:!r(\"reduce\")||!a&&s>79&&s<83},{reduce:function(t){var e=arguments.length;return i(this,t,e,e>1?arguments[1]:void 0)}})},7042:function(t,e,n){\"use strict\";var o=n(2109),i=n(3157),r=n(4411),s=n(111),a=n(1400),c=n(6244),u=n(5656),l=n(6135),d=n(5112),h=n(1194),p=n(206),f=h(\"slice\"),v=d(\"species\"),g=Array,m=Math.max;o({target:\"Array\",proto:!0,forced:!f},{slice:function(t,e){var n,o,d,h=u(this),f=c(h),y=a(t,f),b=a(void 0===e?f:e,f);if(i(h)&&(n=h.constructor,(r(n)&&(n===g||i(n.prototype))||s(n)&&null===(n=n[v]))&&(n=void 0),n===g||void 0===n))return p(h,y,b);for(o=new(void 0===n?g:n)(m(b-y,0)),d=0;y<b;y++,d++)y in h&&l(o,d,h[y]);return o.length=d,o}})},2707:function(t,e,n){\"use strict\";var o=n(2109),i=n(1702),r=n(9662),s=n(7908),a=n(6244),c=n(5117),u=n(1340),l=n(7293),d=n(4362),h=n(9341),p=n(8886),f=n(256),v=n(7392),g=n(8008),m=[],y=i(m.sort),b=i(m.push),_=l((function(){m.sort(void 0)})),w=l((function(){m.sort(null)})),D=h(\"sort\"),x=!l((function(){if(v)return v<70;if(!(p&&p>3)){if(f)return!0;if(g)return g<603;var t,e,n,o,i=\"\";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(o=0;o<47;o++)m.push({k:e+o,v:n})}for(m.sort((function(t,e){return e.v-t.v})),o=0;o<m.length;o++)e=m[o].k.charAt(0),i.charAt(i.length-1)!==e&&(i+=e);return\"DGBEFHACIJK\"!==i}}));o({target:\"Array\",proto:!0,forced:_||!w||!D||!x},{sort:function(t){void 0!==t&&r(t);var e=s(this);if(x)return void 0===t?y(e):y(e,t);var n,o,i=[],l=a(e);for(o=0;o<l;o++)o in e&&b(i,e[o]);for(d(i,function(t){return function(e,n){return void 0===n?-1:void 0===e?1:void 0!==t?+t(e,n)||0:u(e)>u(n)?1:-1}}(t)),n=i.length,o=0;o<n;)e[o]=i[o++];for(;o<l;)c(e,o++);return e}})},561:function(t,e,n){\"use strict\";var o=n(2109),i=n(7908),r=n(1400),s=n(9303),a=n(6244),c=n(7207),u=n(5417),l=n(6135),d=n(5117),h=n(1194)(\"splice\"),p=Math.max,f=Math.min;o({target:\"Array\",proto:!0,forced:!h},{splice:function(t,e){var n,o,h,v,g,m,y=i(this),b=a(y),_=r(t,b),w=arguments.length;for(0===w?n=o=0:1===w?(n=0,o=b-_):(n=w-2,o=f(p(s(e),0),b-_)),c(b+n-o),h=u(y,o),v=0;v<o;v++)(g=_+v)in y&&l(h,v,y[g]);if(h.length=o,n<o){for(v=_;v<b-o;v++)m=v+n,(g=v+o)in y?y[m]=y[g]:d(y,m);for(v=b;v>b-o+n;v--)d(y,v-1)}else if(n>o)for(v=b-o;v>_;v--)m=v+n-1,(g=v+o-1)in y?y[m]=y[g]:d(y,m);for(v=0;v<n;v++)y[v+_]=arguments[v+2];return y.length=b-o+n,h}})},8309:function(t,e,n){var o=n(9781),i=n(6530).EXISTS,r=n(1702),s=n(3070).f,a=Function.prototype,c=r(a.toString),u=/function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/,l=r(u.exec);o&&!i&&s(a,\"name\",{configurable:!0,get:function(){try{return l(u,c(this))[1]}catch(t){return\"\"}}})},8862:function(t,e,n){var o=n(2109),i=n(5005),r=n(2104),s=n(6916),a=n(1702),c=n(7293),u=n(3157),l=n(614),d=n(111),h=n(2190),p=n(206),f=n(133),v=i(\"JSON\",\"stringify\"),g=a(/./.exec),m=a(\"\".charAt),y=a(\"\".charCodeAt),b=a(\"\".replace),_=a(1..toString),w=/[\\uD800-\\uDFFF]/g,D=/^[\\uD800-\\uDBFF]$/,x=/^[\\uDC00-\\uDFFF]$/,B=!f||c((function(){var t=i(\"Symbol\")();return\"[null]\"!=v([t])||\"{}\"!=v({a:t})||\"{}\"!=v(Object(t))})),E=c((function(){return'\"\\\\udf06\\\\ud834\"'!==v(\"\\udf06\\ud834\")||'\"\\\\udead\"'!==v(\"\\udead\")})),k=function(t,e){var n=p(arguments),o=e;if((d(e)||void 0!==t)&&!h(t))return u(e)||(e=function(t,e){if(l(o)&&(e=s(o,this,t,e)),!h(e))return e}),n[1]=e,r(v,null,n)},K=function(t,e,n){var o=m(n,e-1),i=m(n,e+1);return g(D,t)&&!g(x,i)||g(x,t)&&!g(D,o)?\"\\\\u\"+_(y(t,0),16):t};v&&o({target:\"JSON\",stat:!0,arity:3,forced:B||E},{stringify:function(t,e,n){var o=p(arguments),i=r(B?k:v,null,o);return E&&\"string\"==typeof i?b(i,w,K):i}})},9653:function(t,e,n){\"use strict\";var o=n(9781),i=n(7854),r=n(1702),s=n(4705),a=n(8052),c=n(2597),u=n(9587),l=n(7976),d=n(2190),h=n(7593),p=n(7293),f=n(8006).f,v=n(1236).f,g=n(3070).f,m=n(863),y=n(3111).trim,b=\"Number\",_=i.Number,w=_.prototype,D=i.TypeError,x=r(\"\".slice),B=r(\"\".charCodeAt),E=function(t){var e=h(t,\"number\");return\"bigint\"==typeof e?e:k(e)},k=function(t){var e,n,o,i,r,s,a,c,u=h(t,\"number\");if(d(u))throw D(\"Cannot convert a Symbol value to a number\");if(\"string\"==typeof u&&u.length>2)if(u=y(u),43===(e=B(u,0))||45===e){if(88===(n=B(u,2))||120===n)return NaN}else if(48===e){switch(B(u,1)){case 66:case 98:o=2,i=49;break;case 79:case 111:o=8,i=55;break;default:return+u}for(s=(r=x(u,2)).length,a=0;a<s;a++)if((c=B(r,a))<48||c>i)return NaN;return parseInt(r,o)}return+u};if(s(b,!_(\" 0o1\")||!_(\"0b1\")||_(\"+0x1\"))){for(var K,C=function(t){var e=arguments.length<1?0:_(E(t)),n=this;return l(w,n)&&p((function(){m(n)}))?u(Object(e),n,C):e},O=o?f(_):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range\".split(\",\"),S=0;O.length>S;S++)c(_,K=O[S])&&!c(C,K)&&g(C,K,v(_,K));C.prototype=w,w.constructor=C,a(i,b,C,{constructor:!0})}},3161:function(t,e,n){n(2109)({target:\"Number\",stat:!0},{isInteger:n(5988)})},9601:function(t,e,n){var o=n(2109),i=n(1574);o({target:\"Object\",stat:!0,arity:2,forced:Object.assign!==i},{assign:i})},9595:function(t,e,n){\"use strict\";var o=n(2109),i=n(9781),r=n(9026),s=n(9662),a=n(7908),c=n(3070);i&&o({target:\"Object\",proto:!0,forced:r},{__defineGetter__:function(t,e){c.f(a(this),t,{get:s(e),enumerable:!0,configurable:!0})}})},5003:function(t,e,n){var o=n(2109),i=n(7293),r=n(5656),s=n(1236).f,a=n(9781),c=i((function(){s(1)}));o({target:\"Object\",stat:!0,forced:!a||c,sham:!a},{getOwnPropertyDescriptor:function(t,e){return s(r(t),e)}})},9337:function(t,e,n){var o=n(2109),i=n(9781),r=n(3887),s=n(5656),a=n(1236),c=n(6135);o({target:\"Object\",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){for(var e,n,o=s(t),i=a.f,u=r(o),l={},d=0;u.length>d;)void 0!==(n=i(o,e=u[d++]))&&c(l,e,n);return l}})},6210:function(t,e,n){var o=n(2109),i=n(7293),r=n(1156).f;o({target:\"Object\",stat:!0,forced:i((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:r})},9660:function(t,e,n){var o=n(2109),i=n(133),r=n(7293),s=n(5181),a=n(7908);o({target:\"Object\",stat:!0,forced:!i||r((function(){s.f(1)}))},{getOwnPropertySymbols:function(t){var e=s.f;return e?e(a(t)):[]}})},7941:function(t,e,n){var o=n(2109),i=n(7908),r=n(1956);o({target:\"Object\",stat:!0,forced:n(7293)((function(){r(1)}))},{keys:function(t){return r(i(t))}})},1539:function(t,e,n){var o=n(1694),i=n(8052),r=n(288);o||i(Object.prototype,\"toString\",r,{unsafe:!0})},4603:function(t,e,n){var o=n(9781),i=n(7854),r=n(1702),s=n(4705),a=n(9587),c=n(8880),u=n(8006).f,l=n(7976),d=n(7850),h=n(1340),p=n(4706),f=n(2999),v=n(2626),g=n(8052),m=n(7293),y=n(2597),b=n(9909).enforce,_=n(6340),w=n(5112),D=n(9441),x=n(7168),B=w(\"match\"),E=i.RegExp,k=E.prototype,K=i.SyntaxError,C=r(k.exec),O=r(\"\".charAt),S=r(\"\".replace),P=r(\"\".indexOf),T=r(\"\".slice),M=/^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/,I=/a/g,L=/a/g,N=new E(I)!==I,A=f.MISSED_STICKY,j=f.UNSUPPORTED_Y;if(s(\"RegExp\",o&&(!N||A||D||x||m((function(){return L[B]=!1,E(I)!=I||E(L)==L||\"/a/i\"!=E(I,\"i\")}))))){for(var F=function(t,e){var n,o,i,r,s,u,f=l(k,this),v=d(t),g=void 0===e,m=[],_=t;if(!f&&v&&g&&t.constructor===F)return t;if((v||l(k,t))&&(t=t.source,g&&(e=p(_))),t=void 0===t?\"\":h(t),e=void 0===e?\"\":h(e),_=t,D&&\"dotAll\"in I&&(o=!!e&&P(e,\"s\")>-1)&&(e=S(e,/s/g,\"\")),n=e,A&&\"sticky\"in I&&(i=!!e&&P(e,\"y\")>-1)&&j&&(e=S(e,/y/g,\"\")),x&&(t=(r=function(t){for(var e,n=t.length,o=0,i=\"\",r=[],s={},a=!1,c=!1,u=0,l=\"\";o<=n;o++){if(\"\\\\\"===(e=O(t,o)))e+=O(t,++o);else if(\"]\"===e)a=!1;else if(!a)switch(!0){case\"[\"===e:a=!0;break;case\"(\"===e:C(M,T(t,o+1))&&(o+=2,c=!0),i+=e,u++;continue;case\">\"===e&&c:if(\"\"===l||y(s,l))throw new K(\"Invalid capture group name\");s[l]=!0,r[r.length]=[l,u],c=!1,l=\"\";continue}c?l+=e:i+=e}return[i,r]}(t))[0],m=r[1]),s=a(E(t,e),f?this:k,F),(o||i||m.length)&&(u=b(s),o&&(u.dotAll=!0,u.raw=F(function(t){for(var e,n=t.length,o=0,i=\"\",r=!1;o<=n;o++)\"\\\\\"!==(e=O(t,o))?r||\".\"!==e?(\"[\"===e?r=!0:\"]\"===e&&(r=!1),i+=e):i+=\"[\\\\s\\\\S]\":i+=e+O(t,++o);return i}(t),n)),i&&(u.sticky=!0),m.length&&(u.groups=m)),t!==_)try{c(s,\"source\",\"\"===_?\"(?:)\":_)}catch(t){}return s},R=u(E),z=0;R.length>z;)v(F,E,R[z++]);k.constructor=F,F.prototype=k,g(i,\"RegExp\",F,{constructor:!0})}_(\"RegExp\")},4916:function(t,e,n){\"use strict\";var o=n(2109),i=n(2261);o({target:\"RegExp\",proto:!0,forced:/./.exec!==i},{exec:i})},9714:function(t,e,n){\"use strict\";var o=n(6530).PROPER,i=n(8052),r=n(9670),s=n(1340),a=n(7293),c=n(4706),u=\"toString\",l=RegExp.prototype.toString,d=a((function(){return\"/a/b\"!=l.call({source:\"a\",flags:\"b\"})})),h=o&&l.name!=u;(d||h)&&i(RegExp.prototype,u,(function(){var t=r(this);return\"/\"+s(t.source)+\"/\"+s(c(t))}),{unsafe:!0})},2023:function(t,e,n){\"use strict\";var o=n(2109),i=n(1702),r=n(3929),s=n(4488),a=n(1340),c=n(4964),u=i(\"\".indexOf);o({target:\"String\",proto:!0,forced:!c(\"includes\")},{includes:function(t){return!!~u(a(s(this)),a(r(t)),arguments.length>1?arguments[1]:void 0)}})},8783:function(t,e,n){\"use strict\";var o=n(8710).charAt,i=n(1340),r=n(9909),s=n(654),a=\"String Iterator\",c=r.set,u=r.getterFor(a);s(String,\"String\",(function(t){c(this,{type:a,string:i(t),index:0})}),(function(){var t,e=u(this),n=e.string,i=e.index;return i>=n.length?{value:void 0,done:!0}:(t=o(n,i),e.index+=t.length,{value:t,done:!1})}))},6373:function(t,e,n){\"use strict\";var o=n(2109),i=n(6916),r=n(1702),s=n(4994),a=n(4488),c=n(7466),u=n(1340),l=n(9670),d=n(4326),h=n(7850),p=n(4706),f=n(8173),v=n(8052),g=n(7293),m=n(5112),y=n(6707),b=n(1530),_=n(7651),w=n(9909),D=n(1913),x=m(\"matchAll\"),B=\"RegExp String Iterator\",E=w.set,k=w.getterFor(B),K=RegExp.prototype,C=TypeError,O=r(\"\".indexOf),S=r(\"\".matchAll),P=!!S&&!g((function(){S(\"a\",/./)})),T=s((function(t,e,n,o){E(this,{type:B,regexp:t,string:e,global:n,unicode:o,done:!1})}),\"RegExp String\",(function(){var t=k(this);if(t.done)return{value:void 0,done:!0};var e=t.regexp,n=t.string,o=_(e,n);return null===o?{value:void 0,done:t.done=!0}:t.global?(\"\"===u(o[0])&&(e.lastIndex=b(n,c(e.lastIndex),t.unicode)),{value:o,done:!1}):(t.done=!0,{value:o,done:!1})})),M=function(t){var e,n,o,i=l(this),r=u(t),s=y(i,RegExp),a=u(p(i));return e=new s(s===RegExp?i.source:i,a),n=!!~O(a,\"g\"),o=!!~O(a,\"u\"),e.lastIndex=c(i.lastIndex),new T(e,r,n,o)};o({target:\"String\",proto:!0,forced:P},{matchAll:function(t){var e,n,o,r,s=a(this);if(null!=t){if(h(t)&&(e=u(a(p(t))),!~O(e,\"g\")))throw C(\"`.matchAll` does not allow non-global regexes\");if(P)return S(s,t);if(void 0===(o=f(t,x))&&D&&\"RegExp\"==d(t)&&(o=M),o)return i(o,t,s)}else if(P)return S(s,t);return n=u(s),r=new RegExp(t,\"g\"),D?i(M,r,n):r[x](n)}}),D||x in K||v(K,x,M)},4723:function(t,e,n){\"use strict\";var o=n(6916),i=n(7007),r=n(9670),s=n(7466),a=n(1340),c=n(4488),u=n(8173),l=n(1530),d=n(7651);i(\"match\",(function(t,e,n){return[function(e){var n=c(this),i=null==e?void 0:u(e,t);return i?o(i,e,n):new RegExp(e)[t](a(n))},function(t){var o=r(this),i=a(t),c=n(e,o,i);if(c.done)return c.value;if(!o.global)return d(o,i);var u=o.unicode;o.lastIndex=0;for(var h,p=[],f=0;null!==(h=d(o,i));){var v=a(h[0]);p[f]=v,\"\"===v&&(o.lastIndex=l(i,s(o.lastIndex),u)),f++}return 0===f?null:p}]}))},5306:function(t,e,n){\"use strict\";var o=n(2104),i=n(6916),r=n(1702),s=n(7007),a=n(7293),c=n(9670),u=n(614),l=n(9303),d=n(7466),h=n(1340),p=n(4488),f=n(1530),v=n(8173),g=n(647),m=n(7651),y=n(5112)(\"replace\"),b=Math.max,_=Math.min,w=r([].concat),D=r([].push),x=r(\"\".indexOf),B=r(\"\".slice),E=\"$0\"===\"a\".replace(/./,\"$0\"),k=!!/./[y]&&\"\"===/./[y](\"a\",\"$0\");s(\"replace\",(function(t,e,n){var r=k?\"$\":\"$0\";return[function(t,n){var o=p(this),r=null==t?void 0:v(t,y);return r?i(r,t,o,n):i(e,h(o),t,n)},function(t,i){var s=c(this),a=h(t);if(\"string\"==typeof i&&-1===x(i,r)&&-1===x(i,\"$<\")){var p=n(e,s,a,i);if(p.done)return p.value}var v=u(i);v||(i=h(i));var y=s.global;if(y){var E=s.unicode;s.lastIndex=0}for(var k=[];;){var K=m(s,a);if(null===K)break;if(D(k,K),!y)break;\"\"===h(K[0])&&(s.lastIndex=f(a,d(s.lastIndex),E))}for(var C,O=\"\",S=0,P=0;P<k.length;P++){for(var T=h((K=k[P])[0]),M=b(_(l(K.index),a.length),0),I=[],L=1;L<K.length;L++)D(I,void 0===(C=K[L])?C:String(C));var N=K.groups;if(v){var A=w([T],I,M,a);void 0!==N&&D(A,N);var j=h(o(i,void 0,A))}else j=g(T,a,M,I,N,i);M>=S&&(O+=B(a,S,M)+j,S=M+T.length)}return O+B(a,S)}]}),!!a((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:\"7\"},t},\"7\"!==\"\".replace(t,\"$<a>\")}))||!E||k)},3123:function(t,e,n){\"use strict\";var o=n(2104),i=n(6916),r=n(1702),s=n(7007),a=n(7850),c=n(9670),u=n(4488),l=n(6707),d=n(1530),h=n(7466),p=n(1340),f=n(8173),v=n(1589),g=n(7651),m=n(2261),y=n(2999),b=n(7293),_=y.UNSUPPORTED_Y,w=4294967295,D=Math.min,x=[].push,B=r(/./.exec),E=r(x),k=r(\"\".slice);s(\"split\",(function(t,e,n){var r;return r=\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1).length||2!=\"ab\".split(/(?:ab)*/).length||4!=\".\".split(/(.?)(.?)/).length||\".\".split(/()()/).length>1||\"\".split(/.?/).length?function(t,n){var r=p(u(this)),s=void 0===n?w:n>>>0;if(0===s)return[];if(void 0===t)return[r];if(!a(t))return i(e,r,t,s);for(var c,l,d,h=[],f=(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),g=0,y=new RegExp(t.source,f+\"g\");(c=i(m,y,r))&&!((l=y.lastIndex)>g&&(E(h,k(r,g,c.index)),c.length>1&&c.index<r.length&&o(x,h,v(c,1)),d=c[0].length,g=l,h.length>=s));)y.lastIndex===c.index&&y.lastIndex++;return g===r.length?!d&&B(y,\"\")||E(h,\"\"):E(h,k(r,g)),h.length>s?v(h,0,s):h}:\"0\".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:i(e,this,t,n)}:e,[function(e,n){var o=u(this),s=null==e?void 0:f(e,t);return s?i(s,e,o,n):i(r,p(o),e,n)},function(t,o){var i=c(this),s=p(t),a=n(r,i,s,o,r!==e);if(a.done)return a.value;var u=l(i,RegExp),f=i.unicode,v=(i.ignoreCase?\"i\":\"\")+(i.multiline?\"m\":\"\")+(i.unicode?\"u\":\"\")+(_?\"g\":\"y\"),m=new u(_?\"^(?:\"+i.source+\")\":i,v),y=void 0===o?w:o>>>0;if(0===y)return[];if(0===s.length)return null===g(m,s)?[s]:[];for(var b=0,x=0,B=[];x<s.length;){m.lastIndex=_?0:x;var K,C=g(m,_?k(s,x):s);if(null===C||(K=D(h(m.lastIndex+(_?x:0)),s.length))===b)x=d(s,x,f);else{if(E(B,k(s,b,x)),B.length===y)return B;for(var O=1;O<=C.length-1;O++)if(E(B,C[O]),B.length===y)return B;x=b=K}}return E(B,k(s,b)),B}]}),!!b((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n=\"ab\".split(t);return 2!==n.length||\"a\"!==n[0]||\"b\"!==n[1]})),_)},3210:function(t,e,n){\"use strict\";var o=n(2109),i=n(3111).trim;o({target:\"String\",proto:!0,forced:n(6091)(\"trim\")},{trim:function(){return i(this)}})},4032:function(t,e,n){\"use strict\";var o=n(2109),i=n(7854),r=n(6916),s=n(1702),a=n(1913),c=n(9781),u=n(133),l=n(7293),d=n(2597),h=n(7976),p=n(9670),f=n(5656),v=n(4948),g=n(1340),m=n(9114),y=n(30),b=n(1956),_=n(8006),w=n(1156),D=n(5181),x=n(1236),B=n(3070),E=n(6048),k=n(5296),K=n(8052),C=n(2309),O=n(6200),S=n(3501),P=n(9711),T=n(5112),M=n(6061),I=n(7235),L=n(6532),N=n(8003),A=n(9909),j=n(2092).forEach,F=O(\"hidden\"),R=\"Symbol\",z=A.set,H=A.getterFor(R),U=Object.prototype,V=i.Symbol,G=V&&V.prototype,Y=i.TypeError,X=i.QObject,q=x.f,W=B.f,$=w.f,J=k.f,Q=s([].push),Z=C(\"symbols\"),tt=C(\"op-symbols\"),et=C(\"wks\"),nt=!X||!X.prototype||!X.prototype.findChild,ot=c&&l((function(){return 7!=y(W({},\"a\",{get:function(){return W(this,\"a\",{value:7}).a}})).a}))?function(t,e,n){var o=q(U,e);o&&delete U[e],W(t,e,n),o&&t!==U&&W(U,e,o)}:W,it=function(t,e){var n=Z[t]=y(G);return z(n,{type:R,tag:t,description:e}),c||(n.description=e),n},rt=function(t,e,n){t===U&&rt(tt,e,n),p(t);var o=v(e);return p(n),d(Z,o)?(n.enumerable?(d(t,F)&&t[F][o]&&(t[F][o]=!1),n=y(n,{enumerable:m(0,!1)})):(d(t,F)||W(t,F,m(1,{})),t[F][o]=!0),ot(t,o,n)):W(t,o,n)},st=function(t,e){p(t);var n=f(e),o=b(n).concat(lt(n));return j(o,(function(e){c&&!r(at,n,e)||rt(t,e,n[e])})),t},at=function(t){var e=v(t),n=r(J,this,e);return!(this===U&&d(Z,e)&&!d(tt,e))&&(!(n||!d(this,e)||!d(Z,e)||d(this,F)&&this[F][e])||n)},ct=function(t,e){var n=f(t),o=v(e);if(n!==U||!d(Z,o)||d(tt,o)){var i=q(n,o);return!i||!d(Z,o)||d(n,F)&&n[F][o]||(i.enumerable=!0),i}},ut=function(t){var e=$(f(t)),n=[];return j(e,(function(t){d(Z,t)||d(S,t)||Q(n,t)})),n},lt=function(t){var e=t===U,n=$(e?tt:f(t)),o=[];return j(n,(function(t){!d(Z,t)||e&&!d(U,t)||Q(o,Z[t])})),o};u||(K(G=(V=function(){if(h(G,this))throw Y(\"Symbol is not a constructor\");var t=arguments.length&&void 0!==arguments[0]?g(arguments[0]):void 0,e=P(t),n=function(t){this===U&&r(n,tt,t),d(this,F)&&d(this[F],e)&&(this[F][e]=!1),ot(this,e,m(1,t))};return c&&nt&&ot(U,e,{configurable:!0,set:n}),it(e,t)}).prototype,\"toString\",(function(){return H(this).tag})),K(V,\"withoutSetter\",(function(t){return it(P(t),t)})),k.f=at,B.f=rt,E.f=st,x.f=ct,_.f=w.f=ut,D.f=lt,M.f=function(t){return it(T(t),t)},c&&(W(G,\"description\",{configurable:!0,get:function(){return H(this).description}}),a||K(U,\"propertyIsEnumerable\",at,{unsafe:!0}))),o({global:!0,constructor:!0,wrap:!0,forced:!u,sham:!u},{Symbol:V}),j(b(et),(function(t){I(t)})),o({target:R,stat:!0,forced:!u},{useSetter:function(){nt=!0},useSimple:function(){nt=!1}}),o({target:\"Object\",stat:!0,forced:!u,sham:!c},{create:function(t,e){return void 0===e?y(t):st(y(t),e)},defineProperty:rt,defineProperties:st,getOwnPropertyDescriptor:ct}),o({target:\"Object\",stat:!0,forced:!u},{getOwnPropertyNames:ut}),L(),N(V,R),S[F]=!0},1817:function(t,e,n){\"use strict\";var o=n(2109),i=n(9781),r=n(7854),s=n(1702),a=n(2597),c=n(614),u=n(7976),l=n(1340),d=n(3070).f,h=n(9920),p=r.Symbol,f=p&&p.prototype;if(i&&c(p)&&(!(\"description\"in f)||void 0!==p().description)){var v={},g=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:l(arguments[0]),e=u(f,this)?new p(t):void 0===t?p():p(t);return\"\"===t&&(v[e]=!0),e};h(g,p),g.prototype=f,f.constructor=g;var m=\"Symbol(test)\"==String(p(\"test\")),y=s(f.toString),b=s(f.valueOf),_=/^Symbol\\((.*)\\)[^)]+$/,w=s(\"\".replace),D=s(\"\".slice);d(f,\"description\",{configurable:!0,get:function(){var t=b(this),e=y(t);if(a(v,t))return\"\";var n=m?D(e,7,-1):w(e,_,\"$1\");return\"\"===n?void 0:n}}),o({global:!0,constructor:!0,forced:!0},{Symbol:g})}},763:function(t,e,n){var o=n(2109),i=n(5005),r=n(2597),s=n(1340),a=n(2309),c=n(735),u=a(\"string-to-symbol-registry\"),l=a(\"symbol-to-string-registry\");o({target:\"Symbol\",stat:!0,forced:!c},{for:function(t){var e=s(t);if(r(u,e))return u[e];var n=i(\"Symbol\")(e);return u[e]=n,l[n]=e,n}})},2165:function(t,e,n){n(7235)(\"iterator\")},2526:function(t,e,n){n(4032),n(763),n(6620),n(8862),n(9660)},6620:function(t,e,n){var o=n(2109),i=n(2597),r=n(2190),s=n(6330),a=n(2309),c=n(735),u=a(\"symbol-to-string-registry\");o({target:\"Symbol\",stat:!0,forced:!c},{keyFor:function(t){if(!r(t))throw TypeError(s(t)+\" is not a symbol\");if(i(u,t))return u[t]}})},3728:function(t,e,n){n(6373)},4747:function(t,e,n){var o=n(7854),i=n(8324),r=n(8509),s=n(8533),a=n(8880),c=function(t){if(t&&t.forEach!==s)try{a(t,\"forEach\",s)}catch(e){t.forEach=s}};for(var u in i)i[u]&&c(o[u]&&o[u].prototype);c(r)},3948:function(t,e,n){var o=n(7854),i=n(8324),r=n(8509),s=n(6992),a=n(8880),c=n(5112),u=c(\"iterator\"),l=c(\"toStringTag\"),d=s.values,h=function(t,e){if(t){if(t[u]!==d)try{a(t,u,d)}catch(e){t[u]=d}if(t[l]||a(t,l,e),i[e])for(var n in s)if(t[n]!==s[n])try{a(t,n,s[n])}catch(e){t[n]=s[n]}}};for(var p in i)h(o[p]&&o[p].prototype,p);h(r,\"DOMTokenList\")}},e={};function n(o){var i=e[o];if(void 0!==i)return i.exports;var r=e[o]={exports:{}};return t[o](r,r.exports,n),r.exports}n.d=function(t,e){for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var o={};return function(){\"use strict\";function t(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||e(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function e(t,e){if(t){if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=t[n];return o}function r(t){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function s(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.r(o),n.d(o,{default:function(){return _}}),n(3210),n(4916),n(5306),n(2772),n(8309),n(3123),n(1539),n(9714),n(561),n(9600),n(9595),n(7042),\"undefined\"==typeof Element||\"remove\"in Element.prototype||(Element.prototype.remove=function(){this.parentNode&&this.parentNode.removeChild(this)}),\"undefined\"!=typeof self&&\"document\"in self&&((!(\"classList\"in document.createElement(\"_\"))||document.createElementNS&&!(\"classList\"in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")))&&function(t){if(\"Element\"in t){var e=\"classList\",n=t.Element.prototype,o=Object,i=String.prototype.trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")},r=Array.prototype.indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1},s=function(t,e){this.name=t,this.code=DOMException[t],this.message=e},a=function(t,e){if(\"\"===e)throw new s(\"SYNTAX_ERR\",\"The token must not be empty.\");if(/\\s/.test(e))throw new s(\"INVALID_CHARACTER_ERR\",\"The token must not contain space characters.\");return r.call(t,e)},c=function(t){for(var e=i.call(t.getAttribute(\"class\")||\"\"),n=e?e.split(/\\s+/):[],o=0,r=n.length;o<r;o++)this.push(n[o]);this._updateClassName=function(){t.setAttribute(\"class\",this.toString())}},u=c.prototype=[],l=function(){return new c(this)};if(s.prototype=Error.prototype,u.item=function(t){return this[t]||null},u.contains=function(t){return~a(this,t+\"\")},u.add=function(){var t,e=arguments,n=0,o=e.length,i=!1;do{t=e[n]+\"\",~a(this,t)||(this.push(t),i=!0)}while(++n<o);i&&this._updateClassName()},u.remove=function(){var t,e,n=arguments,o=0,i=n.length,r=!1;do{for(t=n[o]+\"\",e=a(this,t);~e;)this.splice(e,1),r=!0,e=a(this,t)}while(++o<i);r&&this._updateClassName()},u.toggle=function(t,e){var n=this.contains(t),o=n?!0!==e&&\"remove\":!1!==e&&\"add\";return o&&this[o](t),!0===e||!1===e?e:!n},u.replace=function(t,e){var n=a(t+\"\");~n&&(this.splice(n,1,e),this._updateClassName())},u.toString=function(){return this.join(\" \")},o.defineProperty){var d={get:l,enumerable:!0,configurable:!0};try{o.defineProperty(n,e,d)}catch(t){void 0!==t.number&&-2146823252!==t.number||(d.enumerable=!1,o.defineProperty(n,e,d))}}else o.prototype.__defineGetter__&&n.__defineGetter__(e,l)}}(self),function(){var t=document.createElement(\"_\");if(t.classList.add(\"c1\",\"c2\"),!t.classList.contains(\"c2\")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var n,o=arguments.length;for(n=0;n<o;n++)t=arguments[n],e.call(this,t)}};e(\"add\"),e(\"remove\")}if(t.classList.toggle(\"c3\",!1),t.classList.contains(\"c3\")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return 1 in arguments&&!this.contains(t)==!e?e:n.call(this,t)}}\"replace\"in document.createElement(\"_\").classList||(DOMTokenList.prototype.replace=function(t,e){var n=this.toString().split(\" \"),o=n.indexOf(t+\"\");~o&&(n=n.slice(o),this.remove.apply(this,n),this.add(e),this.add.apply(this,n.slice(1)))}),t=null}()),n(7327),n(2222),n(7941),n(4603),n(3728),n(2707),n(6699),n(2023),n(4747),n(9601),n(1249),n(1038),n(8783),n(2526),n(5003),n(9337),n(1817),n(2165),n(6992),n(3948),n(3161),n(9653),n(4723),n(5827),n(6210);var c=function(){function n(t){var e=t.getOptions,o=t.getCaretPosition,i=t.getCaretPositionEnd,r=t.dispatch;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,n),a(this,\"isStandardButton\",(function(t){return t&&!(\"{\"===t[0]&&\"}\"===t[t.length-1])})),this.getOptions=e,this.getCaretPosition=o,this.getCaretPositionEnd=i,this.dispatch=r,n.bindMethods(n,this)}var o,i,c;return o=n,c=[{key:\"bindMethods\",value:function(t,n){var o,i=function(t,n){var o=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!o){if(Array.isArray(t)||(o=e(t))){o&&(t=o);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var s,a=!0,c=!1;return{s:function(){o=o.call(t)},n:function(){var t=o.next();return a=t.done,t},e:function(t){c=!0,s=t},f:function(){try{a||null==o.return||o.return()}finally{if(c)throw s}}}}(Object.getOwnPropertyNames(t.prototype));try{for(i.s();!(o=i.n()).done;){var r=o.value;\"constructor\"===r||\"bindMethods\"===r||(n[r]=n[r].bind(n))}}catch(t){i.e(t)}finally{i.f()}}}],(i=[{key:\"getButtonType\",value:function(t){return t.includes(\"{\")&&t.includes(\"}\")&&\"{//}\"!==t?\"functionBtn\":\"standardBtn\"}},{key:\"getButtonClass\",value:function(t){var e=this.getButtonType(t),n=t.replace(\"{\",\"\").replace(\"}\",\"\"),o=\"\";return\"standardBtn\"!==e&&(o=\" hg-button-\".concat(n)),\"hg-\".concat(e).concat(o)}},{key:\"getDefaultDiplay\",value:function(){return{\"{bksp}\":\"backspace\",\"{backspace}\":\"backspace\",\"{enter}\":\"< enter\",\"{shift}\":\"shift\",\"{shiftleft}\":\"shift\",\"{shiftright}\":\"shift\",\"{alt}\":\"alt\",\"{s}\":\"shift\",\"{tab}\":\"tab\",\"{lock}\":\"caps\",\"{capslock}\":\"caps\",\"{accept}\":\"Submit\",\"{space}\":\" \",\"{//}\":\" \",\"{esc}\":\"esc\",\"{escape}\":\"esc\",\"{f1}\":\"f1\",\"{f2}\":\"f2\",\"{f3}\":\"f3\",\"{f4}\":\"f4\",\"{f5}\":\"f5\",\"{f6}\":\"f6\",\"{f7}\":\"f7\",\"{f8}\":\"f8\",\"{f9}\":\"f9\",\"{f10}\":\"f10\",\"{f11}\":\"f11\",\"{f12}\":\"f12\",\"{numpaddivide}\":\"/\",\"{numlock}\":\"lock\",\"{arrowup}\":\"↑\",\"{arrowleft}\":\"←\",\"{arrowdown}\":\"↓\",\"{arrowright}\":\"→\",\"{prtscr}\":\"print\",\"{scrolllock}\":\"scroll\",\"{pause}\":\"pause\",\"{insert}\":\"ins\",\"{home}\":\"home\",\"{pageup}\":\"up\",\"{delete}\":\"del\",\"{forwarddelete}\":\"del\",\"{end}\":\"end\",\"{pagedown}\":\"down\",\"{numpadmultiply}\":\"*\",\"{numpadsubtract}\":\"-\",\"{numpadadd}\":\"+\",\"{numpadenter}\":\"enter\",\"{period}\":\".\",\"{numpaddecimal}\":\".\",\"{numpad0}\":\"0\",\"{numpad1}\":\"1\",\"{numpad2}\":\"2\",\"{numpad3}\":\"3\",\"{numpad4}\":\"4\",\"{numpad5}\":\"5\",\"{numpad6}\":\"6\",\"{numpad7}\":\"7\",\"{numpad8}\":\"8\",\"{numpad9}\":\"9\"}}},{key:\"getButtonDisplayName\",value:function(t,e,n){return(e=n?Object.assign({},this.getDefaultDiplay(),e):e||this.getDefaultDiplay())[t]||t}},{key:\"getUpdatedInput\",value:function(t,e,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=this.getOptions(),s=[n,o,i],a=e;return(\"{bksp}\"===t||\"{backspace}\"===t)&&a.length>0?a=this.removeAt.apply(this,[a].concat(s)):(\"{delete}\"===t||\"{forwarddelete}\"===t)&&a.length>0?a=this.removeForwardsAt.apply(this,[a].concat(s)):\"{space}\"===t?a=this.addStringAt.apply(this,[a,\" \"].concat(s)):\"{tab}\"!==t||\"boolean\"==typeof r.tabCharOnTab&&!1===r.tabCharOnTab?\"{enter}\"!==t&&\"{numpadenter}\"!==t||!r.newLineOnEnter?t.includes(\"numpad\")&&Number.isInteger(Number(t[t.length-2]))?a=this.addStringAt.apply(this,[a,t[t.length-2]].concat(s)):\"{numpaddivide}\"===t?a=this.addStringAt.apply(this,[a,\"/\"].concat(s)):\"{numpadmultiply}\"===t?a=this.addStringAt.apply(this,[a,\"*\"].concat(s)):\"{numpadsubtract}\"===t?a=this.addStringAt.apply(this,[a,\"-\"].concat(s)):\"{numpadadd}\"===t?a=this.addStringAt.apply(this,[a,\"+\"].concat(s)):\"{numpaddecimal}\"===t?a=this.addStringAt.apply(this,[a,\".\"].concat(s)):\"{\"===t||\"}\"===t?a=this.addStringAt.apply(this,[a,t].concat(s)):t.includes(\"{\")||t.includes(\"}\")||(a=this.addStringAt.apply(this,[a,t].concat(s))):a=this.addStringAt.apply(this,[a,\"\\n\"].concat(s)):a=this.addStringAt.apply(this,[a,\"\\t\"].concat(s)),a}},{key:\"updateCaretPos\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.updateCaretPosAction(t,e);this.dispatch((function(t){t.setCaretPosition(n)}))}},{key:\"updateCaretPosAction\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.getOptions(),o=this.getCaretPosition();return null!=o&&(e?o>0&&(o-=t):o+=t),n.debug&&console.log(\"Caret at:\",o),o}},{key:\"addStringAt\",value:function(t,e){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length,r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return o||0===o?(n=[t.slice(0,o),e,t.slice(i)].join(\"\"),this.isMaxLengthReached()||r&&this.updateCaretPos(e.length)):n=t+e,n}},{key:\"removeAt\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.length,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(0===n&&0===o)return t;if(n===o){var r=/([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g;n&&n>=0?t.substring(n-2,n).match(r)?(e=t.substr(0,n-2)+t.substr(n),i&&this.updateCaretPos(2,!0)):(e=t.substr(0,n-1)+t.substr(n),i&&this.updateCaretPos(1,!0)):t.slice(-2).match(r)?(e=t.slice(0,-2),i&&this.updateCaretPos(2,!0)):(e=t.slice(0,-1),i&&this.updateCaretPos(1,!0))}else e=t.slice(0,n)+t.slice(o),i&&this.dispatch((function(t){t.setCaretPosition(n)}));return e}},{key:\"removeForwardsAt\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.length,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(null==t||!t.length||null===n)return t;if(n===o){var r=/([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g,s=t.substring(n,n+2),a=s.match(r);e=a?t.substr(0,n)+t.substr(n+2):t.substr(0,n)+t.substr(n+1)}else e=t.slice(0,n)+t.slice(o),i&&this.dispatch((function(t){t.setCaretPosition(n)}));return e}},{key:\"handleMaxLength\",value:function(t,e){var n=this.getOptions(),o=n.maxLength,i=t[n.inputName||\"default\"],s=e.length-1>=o;if(e.length<=i.length)return!1;if(Number.isInteger(o))return n.debug&&console.log(\"maxLength (num) reached:\",s),s?(this.maxLengthReached=!0,!0):(this.maxLengthReached=!1,!1);if(\"object\"===r(o)){var a=e.length-1>=o[n.inputName||\"default\"];return n.debug&&console.log(\"maxLength (obj) reached:\",a),a?(this.maxLengthReached=!0,!0):(this.maxLengthReached=!1,!1)}}},{key:\"isMaxLengthReached\",value:function(){return Boolean(this.maxLengthReached)}},{key:\"isTouchDevice\",value:function(){return\"ontouchstart\"in window||navigator.maxTouchPoints}},{key:\"pointerEventsSupported\",value:function(){return!!window.PointerEvent}},{key:\"camelCase\",value:function(t){return t?t.toLowerCase().trim().split(/[.\\-_\\s]/g).reduce((function(t,e){return e.length?t+e[0].toUpperCase()+e.slice(1):t})):\"\"}},{key:\"chunkArray\",value:function(e,n){return t(Array(Math.ceil(e.length/n))).map((function(t,o){return e.slice(n*o,n+n*o)}))}}])&&s(o.prototype,i),c&&s(o,c),Object.defineProperty(o,\"prototype\",{writable:!1}),n}();a(c,\"noop\",(function(){}));var u=c;function l(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var d=function(){function t(e){var n=e.dispatch,o=e.getOptions;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.dispatch=n,this.getOptions=o,u.bindMethods(t,this)}var e,n;return e=t,(n=[{key:\"handleHighlightKeyDown\",value:function(t){var e=this.getOptions(),n=this.getSimpleKeyboardLayoutKey(t);this.dispatch((function(o){var i,r,s=o.getButtonElement(n),a=o.getButtonElement(\"{\".concat(n,\"}\"));if(s)i=s,r=n;else{if(!a)return;i=a,r=\"{\".concat(n,\"}\")}i&&(i.style.backgroundColor=e.physicalKeyboardHighlightBgColor||\"#dadce4\",i.style.color=e.physicalKeyboardHighlightTextColor||\"black\",e.physicalKeyboardHighlightPress&&(e.physicalKeyboardHighlightPressUsePointerEvents?i.onpointerdown():e.physicalKeyboardHighlightPressUseClick?i.click():o.handleButtonClicked(r,t)))}))}},{key:\"handleHighlightKeyUp\",value:function(t){var e=this.getOptions(),n=this.getSimpleKeyboardLayoutKey(t);this.dispatch((function(t){var o=t.getButtonElement(n)||t.getButtonElement(\"{\".concat(n,\"}\"));o&&o.removeAttribute&&(o.removeAttribute(\"style\"),e.physicalKeyboardHighlightPressUsePointerEvents&&o.onpointerup())}))}},{key:\"getSimpleKeyboardLayoutKey\",value:function(t){var e,n,o=t.code||t.key||this.keyCodeToKey(null==t?void 0:t.keyCode);return(n=null!=o&&o.includes(\"Numpad\")||null!=o&&o.includes(\"Shift\")||null!=o&&o.includes(\"Space\")||null!=o&&o.includes(\"Backspace\")||null!=o&&o.includes(\"Control\")||null!=o&&o.includes(\"Alt\")||null!=o&&o.includes(\"Meta\")?t.code||\"\":t.key||this.keyCodeToKey(null==t?void 0:t.keyCode)||\"\").length>1?null===(e=n)||void 0===e?void 0:e.toLowerCase():n}},{key:\"keyCodeToKey\",value:function(t){return{8:\"Backspace\",9:\"Tab\",13:\"Enter\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",48:\"0\",49:\"1\",50:\"2\",51:\"3\",52:\"4\",53:\"5\",54:\"6\",55:\"7\",56:\"8\",57:\"9\",65:\"A\",66:\"B\",67:\"C\",68:\"D\",69:\"E\",70:\"F\",71:\"G\",72:\"H\",73:\"I\",74:\"J\",75:\"K\",76:\"L\",77:\"M\",78:\"N\",79:\"O\",80:\"P\",81:\"Q\",82:\"R\",83:\"S\",84:\"T\",85:\"U\",86:\"V\",87:\"W\",88:\"X\",89:\"Y\",90:\"Z\",91:\"Meta\",96:\"Numpad0\",97:\"Numpad1\",98:\"Numpad2\",99:\"Numpad3\",100:\"Numpad4\",101:\"Numpad5\",102:\"Numpad6\",103:\"Numpad7\",104:\"Numpad8\",105:\"Numpad9\",106:\"NumpadMultiply\",107:\"NumpadAdd\",109:\"NumpadSubtract\",110:\"NumpadDecimal\",111:\"NumpadDivide\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\"}[t]}}])&&l(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();function h(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var p=function(){function t(e){var n,o=e.utilities;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),(n=\"pageIndex\")in this?Object.defineProperty(this,n,{value:0,enumerable:!0,configurable:!0,writable:!0}):this[n]=0,this.utilities=o,u.bindMethods(t,this),this.pageSize=this.utilities.getOptions().layoutCandidatesPageSize||5}var e,n;return e=t,(n=[{key:\"destroy\",value:function(){this.candidateBoxElement&&(this.candidateBoxElement.remove(),this.pageIndex=0)}},{key:\"show\",value:function(t){var e=this,n=t.candidateValue,o=t.targetElement,i=t.onSelect;if(n&&n.length){var r=this.utilities.chunkArray(n.split(\" \"),this.pageSize);this.renderPage({candidateListPages:r,targetElement:o,pageIndex:this.pageIndex,nbPages:r.length,onItemSelected:function(t,n){i(t,n),e.destroy()}})}}},{key:\"renderPage\",value:function(t){var e,n=this,o=t.candidateListPages,i=t.targetElement,r=t.pageIndex,s=t.nbPages,a=t.onItemSelected;null===(e=this.candidateBoxElement)||void 0===e||e.remove(),this.candidateBoxElement=document.createElement(\"div\"),this.candidateBoxElement.className=\"hg-candidate-box\";var c=document.createElement(\"ul\");c.className=\"hg-candidate-box-list\",o[r].forEach((function(t){var e=document.createElement(\"li\"),n=function(){var t=new MouseEvent(\"click\");return Object.defineProperty(t,\"target\",{value:e}),t};e.className=\"hg-candidate-box-list-item\",e.textContent=t,e.onclick=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n();return a(t,e)},c.appendChild(e)}));var u=r>0,l=document.createElement(\"div\");l.classList.add(\"hg-candidate-box-prev\"),u&&l.classList.add(\"hg-candidate-box-btn-active\"),l.onclick=function(){u&&n.renderPage({candidateListPages:o,targetElement:i,pageIndex:r-1,nbPages:s,onItemSelected:a})},this.candidateBoxElement.appendChild(l),this.candidateBoxElement.appendChild(c);var d=r<s-1,h=document.createElement(\"div\");h.classList.add(\"hg-candidate-box-next\"),d&&h.classList.add(\"hg-candidate-box-btn-active\"),h.onclick=function(){d&&n.renderPage({candidateListPages:o,targetElement:i,pageIndex:r+1,nbPages:s,onItemSelected:a})},this.candidateBoxElement.appendChild(h),i.prepend(this.candidateBoxElement)}}])&&h(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();function f(t){return function(t){if(Array.isArray(t))return v(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"==typeof t)return v(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(t,e):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function v(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=t[n];return o}function g(t){return(g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function m(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function y(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function b(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var _=function(){function t(e,n){var o=this;if(function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),b(this,\"defaultName\",\"default\"),b(this,\"activeInputElement\",null),b(this,\"handleParams\",(function(t,e){var n,o,i;if(\"string\"==typeof t)n=t.split(\".\").join(\"\"),o=document.querySelector(\".\".concat(n)),i=e;else if(t instanceof HTMLDivElement){if(!t.className)throw console.warn(\"Any DOM element passed as parameter must have a class.\"),new Error(\"KEYBOARD_DOM_CLASS_ERROR\");n=t.className.split(\" \")[0],o=t,i=e}else n=\"simple-keyboard\",o=document.querySelector(\".\".concat(n)),i=t;return{keyboardDOMClass:n,keyboardDOM:o,options:i}})),b(this,\"getOptions\",(function(){return o.options})),b(this,\"getCaretPosition\",(function(){return o.caretPosition})),b(this,\"getCaretPositionEnd\",(function(){return o.caretPositionEnd})),b(this,\"registerModule\",(function(t,e){o.modules[t]||(o.modules[t]={}),e(o.modules[t])})),b(this,\"getKeyboardClassString\",(function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var i=[o.keyboardDOMClass].concat(e).filter((function(t){return!!t}));return i.join(\" \")})),\"undefined\"!=typeof window){var i=this.handleParams(e,n),r=i.keyboardDOMClass,s=i.keyboardDOM,a=i.options,c=void 0===a?{}:a;this.utilities=new u({getOptions:this.getOptions,getCaretPosition:this.getCaretPosition,getCaretPositionEnd:this.getCaretPositionEnd,dispatch:this.dispatch}),this.caretPosition=null,this.caretPositionEnd=null,this.keyboardDOM=s,this.options=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?m(Object(n),!0).forEach((function(e){b(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({layoutName:\"default\",theme:\"hg-theme-default\",inputName:\"default\",preventMouseDownDefault:!1,enableLayoutCandidates:!0,excludeFromLayout:{}},c),this.keyboardPluginClasses=\"\",u.bindMethods(t,this);var l=this.options.inputName,h=void 0===l?this.defaultName:l;if(this.input={},this.input[h]=\"\",this.keyboardDOMClass=r,this.buttonElements={},window.SimpleKeyboardInstances||(window.SimpleKeyboardInstances={}),this.currentInstanceName=this.utilities.camelCase(this.keyboardDOMClass),window.SimpleKeyboardInstances[this.currentInstanceName]=this,this.allKeyboardInstances=window.SimpleKeyboardInstances,this.keyboardInstanceNames=Object.keys(window.SimpleKeyboardInstances),this.isFirstKeyboardInstance=this.keyboardInstanceNames[0]===this.currentInstanceName,this.physicalKeyboard=new d({dispatch:this.dispatch,getOptions:this.getOptions}),this.candidateBox=this.options.enableLayoutCandidates?new p({utilities:this.utilities}):null,!this.keyboardDOM)throw console.warn('\".'.concat(r,'\" was not found in the DOM.')),new Error(\"KEYBOARD_DOM_ERROR\");this.render(),this.modules={},this.loadModules()}}var e,n;return e=t,(n=[{key:\"setCaretPosition\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;this.caretPosition=t,this.caretPositionEnd=e}},{key:\"getInputCandidates\",value:function(t){var e=this,n=this.options,o=n.layoutCandidates,i=n.layoutCandidatesCaseSensitiveMatch;if(!o||\"object\"!==g(o))return{};var r=Object.keys(o).filter((function(n){var o=t.substring(0,e.getCaretPositionEnd()||0)||t,r=new RegExp(\"\".concat(n,\"$\"),i?\"g\":\"gi\");return!!f(o.matchAll(r)).length}));if(r.length>1){var s=r.sort((function(t,e){return e.length-t.length}))[0];return{candidateKey:s,candidateValue:o[s]}}if(r.length){var a=r[0];return{candidateKey:a,candidateValue:o[a]}}return{}}},{key:\"showCandidatesBox\",value:function(t,e,n){var o=this;this.candidateBox&&this.candidateBox.show({candidateValue:e,targetElement:n,onSelect:function(e,n){var i=o.options.layoutCandidatesCaseSensitiveMatch,r=e.normalize(\"NFD\"),s=o.getInput(o.options.inputName,!0),a=o.getCaretPositionEnd()||0,c=s.substring(0,a||0)||s,u=new RegExp(\"\".concat(t,\"$\"),i?\"g\":\"gi\"),l=c.replace(u,r),d=s.replace(c,l),h=l.length-c.length,p=(a||s.length)+h;p<0&&(p=0),o.setInput(d,o.options.inputName,!0),o.setCaretPosition(p),\"function\"==typeof o.options.onChange&&o.options.onChange(o.getInput(o.options.inputName,!0),n),\"function\"==typeof o.options.onChangeAll&&o.options.onChangeAll(o.getAllInputs(),n)}})}},{key:\"handleButtonClicked\",value:function(t,e){var n=this.options,o=n.inputName,i=void 0===o?this.defaultName:o,r=n.debug;if(\"{//}\"!==t){this.input[i]||(this.input[i]=\"\");var s=this.utilities.getUpdatedInput(t,this.input[i],this.caretPosition,this.caretPositionEnd);if(this.utilities.isStandardButton(t)&&this.activeInputElement&&this.input[i]&&this.input[i]===s&&0===this.caretPosition&&this.caretPositionEnd===s.length)return this.setInput(\"\",this.options.inputName,!0),this.setCaretPosition(0),this.activeInputElement.value=\"\",this.activeInputElement.setSelectionRange(0,0),void this.handleButtonClicked(t,e);if(\"function\"==typeof this.options.onKeyPress&&this.options.onKeyPress(t,e),this.input[i]!==s&&(!this.options.inputPattern||this.options.inputPattern&&this.inputPatternIsValid(s))){if(this.options.maxLength&&this.utilities.handleMaxLength(this.input,s))return;var a=this.utilities.getUpdatedInput(t,this.input[i],this.caretPosition,this.caretPositionEnd,!0);if(this.setInput(a,this.options.inputName,!0),r&&console.log(\"Input changed:\",this.getAllInputs()),this.options.debug&&console.log(\"Caret at: \",this.getCaretPosition(),this.getCaretPositionEnd(),\"(\".concat(this.keyboardDOMClass,\")\")),this.options.syncInstanceInputs&&this.syncInstanceInputs(),\"function\"==typeof this.options.onChange&&this.options.onChange(this.getInput(this.options.inputName,!0),e),\"function\"==typeof this.options.onChangeAll&&this.options.onChangeAll(this.getAllInputs(),e),null!=e&&e.target&&this.options.enableLayoutCandidates){var c,u=this.getInputCandidates(s),l=u.candidateKey,d=u.candidateValue;l&&d?this.showCandidatesBox(l,d,this.keyboardDOM):null===(c=this.candidateBox)||void 0===c||c.destroy()}}r&&console.log(\"Key pressed:\",t)}}},{key:\"getMouseHold\",value:function(){return this.isMouseHold}},{key:\"setMouseHold\",value:function(t){this.options.syncInstanceInputs?this.dispatch((function(e){e.isMouseHold=t})):this.isMouseHold=t}},{key:\"handleButtonMouseDown\",value:function(t,e){var n=this;e&&(this.options.preventMouseDownDefault&&e.preventDefault(),this.options.stopMouseDownPropagation&&e.stopPropagation(),e.target.classList.add(this.activeButtonClass)),this.holdInteractionTimeout&&clearTimeout(this.holdInteractionTimeout),this.holdTimeout&&clearTimeout(this.holdTimeout),this.setMouseHold(!0),this.options.disableButtonHold||(this.holdTimeout=window.setTimeout((function(){(n.getMouseHold()&&(!t.includes(\"{\")&&!t.includes(\"}\")||\"{delete}\"===t||\"{backspace}\"===t||\"{bksp}\"===t||\"{space}\"===t||\"{tab}\"===t)||\"{arrowright}\"===t||\"{arrowleft}\"===t||\"{arrowup}\"===t||\"{arrowdown}\"===t)&&(n.options.debug&&console.log(\"Button held:\",t),n.handleButtonHold(t)),clearTimeout(n.holdTimeout)}),500))}},{key:\"handleButtonMouseUp\",value:function(t,e){var n=this;e&&(this.options.preventMouseUpDefault&&e.preventDefault&&e.preventDefault(),this.options.stopMouseUpPropagation&&e.stopPropagation&&e.stopPropagation(),!(e.target===this.keyboardDOM||e.target&&this.keyboardDOM.contains(e.target)||this.candidateBox&&this.candidateBox.candidateBoxElement&&(e.target===this.candidateBox.candidateBoxElement||e.target&&this.candidateBox.candidateBoxElement.contains(e.target)))&&this.candidateBox&&this.candidateBox.destroy()),this.recurseButtons((function(t){t.classList.remove(n.activeButtonClass)})),this.setMouseHold(!1),this.holdInteractionTimeout&&clearTimeout(this.holdInteractionTimeout),t&&\"function\"==typeof this.options.onKeyReleased&&this.options.onKeyReleased(t)}},{key:\"handleKeyboardContainerMouseDown\",value:function(t){this.options.preventMouseDownDefault&&t.preventDefault()}},{key:\"handleButtonHold\",value:function(t){var e=this;this.holdInteractionTimeout&&clearTimeout(this.holdInteractionTimeout),this.holdInteractionTimeout=window.setTimeout((function(){e.getMouseHold()?(e.handleButtonClicked(t),e.handleButtonHold(t)):clearTimeout(e.holdInteractionTimeout)}),100)}},{key:\"syncInstanceInputs\",value:function(){var t=this;this.dispatch((function(e){e.replaceInput(t.input),e.setCaretPosition(t.caretPosition,t.caretPositionEnd)}))}},{key:\"clearInput\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.inputName||this.defaultName;this.input[t]=\"\",this.setCaretPosition(0),this.options.syncInstanceInputs&&this.syncInstanceInputs()}},{key:\"getInput\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.inputName||this.defaultName,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.options.syncInstanceInputs&&!e&&this.syncInstanceInputs(),this.options.rtl){var n=this.input[t].replace(\"‫\",\"\").replace(\"‬\",\"\");return\"‫\"+n+\"‬\"}return this.input[t]}},{key:\"getAllInputs\",value:function(){var t=this,e={};return Object.keys(this.input).forEach((function(n){e[n]=t.getInput(n,!0)})),e}},{key:\"setInput\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.inputName||this.defaultName,n=arguments.length>2?arguments[2]:void 0;this.input[e]=t,!n&&this.options.syncInstanceInputs&&this.syncInstanceInputs()}},{key:\"replaceInput\",value:function(t){this.input=t}},{key:\"setOptions\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.changedOptions(t);this.options=Object.assign(this.options,t),e.length&&(this.options.debug&&console.log(\"changedOptions\",e),this.onSetOptions(e),this.render())}},{key:\"changedOptions\",value:function(t){var e=this;return Object.keys(t).filter((function(n){return JSON.stringify(t[n])!==JSON.stringify(e.options[n])}))}},{key:\"onSetOptions\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.includes(\"layoutName\")&&this.candidateBox&&this.candidateBox.destroy(),(t.includes(\"layoutCandidatesPageSize\")||t.includes(\"layoutCandidates\"))&&this.candidateBox&&(this.candidateBox.destroy(),this.candidateBox=new p({utilities:this.utilities}))}},{key:\"resetRows\",value:function(){this.keyboardRowsDOM&&this.keyboardRowsDOM.remove(),this.keyboardDOM.className=this.keyboardDOMClass,this.keyboardDOM.setAttribute(\"data-skInstance\",this.currentInstanceName),this.buttonElements={}}},{key:\"dispatch\",value:function(t){if(!window.SimpleKeyboardInstances)throw console.warn(\"SimpleKeyboardInstances is not defined. Dispatch cannot be called.\"),new Error(\"INSTANCES_VAR_ERROR\");return Object.keys(window.SimpleKeyboardInstances).forEach((function(e){t(window.SimpleKeyboardInstances[e],e)}))}},{key:\"addButtonTheme\",value:function(t,e){var n=this;e&&t&&(t.split(\" \").forEach((function(o){e.split(\" \").forEach((function(e){n.options.buttonTheme||(n.options.buttonTheme=[]);var i=!1;n.options.buttonTheme.map((function(t){if(null!=t&&t.class.split(\" \").includes(e)){i=!0;var n=t.buttons.split(\" \");n.includes(o)||(i=!0,n.push(o),t.buttons=n.join(\" \"))}return t})),i||n.options.buttonTheme.push({class:e,buttons:t})}))})),this.render())}},{key:\"removeButtonTheme\",value:function(t,e){var n=this;if(!t&&!e)return this.options.buttonTheme=[],void this.render();t&&Array.isArray(this.options.buttonTheme)&&this.options.buttonTheme.length&&(t.split(\" \").forEach((function(t){var o,i;null===(o=n.options)||void 0===o||null===(i=o.buttonTheme)||void 0===i||i.map((function(o,i){if(o&&e&&e.includes(o.class)||!e){var r,s,a=null===(r=o)||void 0===r?void 0:r.buttons.split(\" \").filter((function(e){return e!==t}));o&&null!=a&&a.length?o.buttons=a.join(\" \"):(null===(s=n.options.buttonTheme)||void 0===s||s.splice(i,1),o=null)}return o}))})),this.render())}},{key:\"getButtonElement\",value:function(t){var e,n=this.buttonElements[t];return n&&(e=n.length>1?n:n[0]),e}},{key:\"inputPatternIsValid\",value:function(t){var e,n=this.options.inputPattern;if((e=n instanceof RegExp?n:n[this.options.inputName||this.defaultName])&&t){var o=e.test(t);return this.options.debug&&console.log('inputPattern (\"'.concat(e,'\"): ').concat(o?\"passed\":\"did not pass!\")),o}return!0}},{key:\"setEventListeners\",value:function(){!this.isFirstKeyboardInstance&&this.allKeyboardInstances||(this.options.debug&&console.log(\"Caret handling started (\".concat(this.keyboardDOMClass,\")\")),document.addEventListener(\"keyup\",this.handleKeyUp),document.addEventListener(\"keydown\",this.handleKeyDown),document.addEventListener(\"mouseup\",this.handleMouseUp),document.addEventListener(\"touchend\",this.handleTouchEnd),document.addEventListener(\"select\",this.handleSelect),document.addEventListener(\"selectionchange\",this.handleSelectionChange))}},{key:\"handleKeyUp\",value:function(t){this.caretEventHandler(t),this.options.physicalKeyboardHighlight&&this.physicalKeyboard.handleHighlightKeyUp(t)}},{key:\"handleKeyDown\",value:function(t){this.options.physicalKeyboardHighlight&&this.physicalKeyboard.handleHighlightKeyDown(t)}},{key:\"handleMouseUp\",value:function(t){this.caretEventHandler(t)}},{key:\"handleTouchEnd\",value:function(t){this.caretEventHandler(t)}},{key:\"handleSelect\",value:function(t){this.caretEventHandler(t)}},{key:\"handleSelectionChange\",value:function(t){this.caretEventHandler(t)}},{key:\"caretEventHandler\",value:function(t){var e,n=this;t.target.tagName&&(e=t.target.tagName.toLowerCase()),this.dispatch((function(o){var i=t.target===o.keyboardDOM||t.target&&o.keyboardDOM.contains(t.target);n.options.syncInstanceInputs&&Array.isArray(t.path)&&(i=t.path.some((function(t){var e;return null==t||null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,\"data-skInstance\")}))),(\"textarea\"===e||\"input\"===e&&[\"text\",\"search\",\"url\",\"tel\",\"password\"].includes(t.target.type))&&!o.options.disableCaretPositioning?(o.setCaretPosition(t.target.selectionStart,t.target.selectionEnd),n.activeInputElement=t.target,o.options.debug&&console.log(\"Caret at: \",o.getCaretPosition(),o.getCaretPositionEnd(),t&&t.target.tagName.toLowerCase(),\"(\".concat(o.keyboardDOMClass,\")\"))):!o.options.disableCaretPositioning&&i||\"selectionchange\"===(null==t?void 0:t.type)||(o.setCaretPosition(null),n.activeInputElement=null,o.options.debug&&console.log('Caret position reset due to \"'.concat(null==t?void 0:t.type,'\" event'),t))}))}},{key:\"recurseButtons\",value:function(t){var e=this;t&&Object.keys(this.buttonElements).forEach((function(n){return e.buttonElements[n].forEach(t)}))}},{key:\"destroy\",value:function(){this.options.debug&&console.log(\"Destroying simple-keyboard instance: \".concat(this.currentInstanceName)),document.removeEventListener(\"keyup\",this.handleKeyUp),document.removeEventListener(\"keydown\",this.handleKeyDown),document.removeEventListener(\"mouseup\",this.handleMouseUp),document.removeEventListener(\"touchend\",this.handleTouchEnd),document.removeEventListener(\"select\",this.handleSelect),document.removeEventListener(\"selectionchange\",this.handleSelectionChange),document.onpointerup=null,document.ontouchend=null,document.ontouchcancel=null,document.onmouseup=null,this.recurseButtons((function(t){t&&(t.onpointerdown=null,t.onpointerup=null,t.onpointercancel=null,t.ontouchstart=null,t.ontouchend=null,t.ontouchcancel=null,t.onclick=null,t.onmousedown=null,t.onmouseup=null,t.remove(),t=null)})),this.keyboardDOM.onpointerdown=null,this.keyboardDOM.ontouchstart=null,this.keyboardDOM.onmousedown=null,this.resetRows(),this.candidateBox&&(this.candidateBox.destroy(),this.candidateBox=null),this.activeInputElement=null,this.keyboardDOM.removeAttribute(\"data-skInstance\"),this.keyboardDOM.innerHTML=\"\",window.SimpleKeyboardInstances[this.currentInstanceName]=null,delete window.SimpleKeyboardInstances[this.currentInstanceName],this.initialized=!1}},{key:\"getButtonThemeClasses\",value:function(t){var e=this.options.buttonTheme,n=[];return Array.isArray(e)&&e.forEach((function(e){if(e&&e.class&&\"string\"==typeof e.class&&e.buttons&&\"string\"==typeof e.buttons){var o=e.class.split(\" \");e.buttons.split(\" \").includes(t)&&(n=[].concat(f(n),f(o)))}else console.warn('Incorrect \"buttonTheme\". Please check the documentation.',e)})),n}},{key:\"setDOMButtonAttributes\",value:function(t,e){var n=this.options.buttonAttributes;Array.isArray(n)&&n.forEach((function(n){n.attribute&&\"string\"==typeof n.attribute&&n.value&&\"string\"==typeof n.value&&n.buttons&&\"string\"==typeof n.buttons?n.buttons.split(\" \").includes(t)&&e(n.attribute,n.value):console.warn('Incorrect \"buttonAttributes\". Please check the documentation.',n)}))}},{key:\"onTouchDeviceDetected\",value:function(){this.processAutoTouchEvents(),this.disableContextualWindow()}},{key:\"disableContextualWindow\",value:function(){window.oncontextmenu=function(t){if(t.target.classList.contains(\"hg-button\"))return t.preventDefault(),t.stopPropagation(),!1}}},{key:\"processAutoTouchEvents\",value:function(){this.options.autoUseTouchEvents&&(this.options.useTouchEvents=!0,this.options.debug&&console.log(\"autoUseTouchEvents: Touch device detected, useTouchEvents enabled.\"))}},{key:\"onInit\",value:function(){this.options.debug&&console.log(\"\".concat(this.keyboardDOMClass,\" Initialized\")),this.setEventListeners(),\"function\"==typeof this.options.onInit&&this.options.onInit(this)}},{key:\"beforeFirstRender\",value:function(){this.utilities.isTouchDevice()&&this.onTouchDeviceDetected(),\"function\"==typeof this.options.beforeFirstRender&&this.options.beforeFirstRender(this),this.isFirstKeyboardInstance&&this.utilities.pointerEventsSupported()&&!this.options.useTouchEvents&&!this.options.useMouseEvents&&this.options.debug&&console.log(\"Using PointerEvents as it is supported by this browser\"),this.options.useTouchEvents&&this.options.debug&&console.log(\"useTouchEvents has been enabled. Only touch events will be used.\")}},{key:\"beforeRender\",value:function(){\"function\"==typeof this.options.beforeRender&&this.options.beforeRender(this)}},{key:\"onRender\",value:function(){\"function\"==typeof this.options.onRender&&this.options.onRender(this)}},{key:\"onModulesLoaded\",value:function(){\"function\"==typeof this.options.onModulesLoaded&&this.options.onModulesLoaded(this)}},{key:\"loadModules\",value:function(){var t=this;Array.isArray(this.options.modules)&&(this.options.modules.forEach((function(e){var n=new e(t);n.init&&n.init(t)})),this.keyboardPluginClasses=\"modules-loaded\",this.render(),this.onModulesLoaded())}},{key:\"getModuleProp\",value:function(t,e){return!!this.modules[t]&&this.modules[t][e]}},{key:\"getModulesList\",value:function(){return Object.keys(this.modules)}},{key:\"parseRowDOMContainers\",value:function(t,e,n,o){var i=this,r=Array.from(t.children),s=0;return r.length&&n.forEach((function(n,a){var c=o[a];if(!(c&&c>n))return!1;var u=n-s,l=c-s,d=document.createElement(\"div\");d.className+=\"hg-button-container\";var h=\"\".concat(i.options.layoutName,\"-r\").concat(e,\"c\").concat(a);d.setAttribute(\"data-skUID\",h);var p=r.splice(u,l-u+1);s=l-u,p.forEach((function(t){return d.appendChild(t)})),r.splice(u,0,d),t.innerHTML=\"\",r.forEach((function(e){return t.appendChild(e)})),i.options.debug&&console.log(\"rowDOMContainer\",p,u,l,s+1)})),t}},{key:\"render\",value:function(){var t=this;this.resetRows(),this.initialized||this.beforeFirstRender(),this.beforeRender();var e=\"hg-layout-\".concat(this.options.layoutName),n=this.options.layout||{default:[\"` 1 2 3 4 5 6 7 8 9 0 - = {bksp}\",\"{tab} q w e r t y u i o p [ ] \\\\\",\"{lock} a s d f g h j k l ; ' {enter}\",\"{shift} z x c v b n m , . / {shift}\",\".com @ {space}\"],shift:[\"~ ! @ # $ % ^ & * ( ) _ + {bksp}\",\"{tab} Q W E R T Y U I O P { } |\",'{lock} A S D F G H J K L : \" {enter}',\"{shift} Z X C V B N M < > ? {shift}\",\".com @ {space}\"]},o=this.options.useTouchEvents||!1,i=o?\"hg-touch-events\":\"\",r=this.options.useMouseEvents||!1,s=this.options.disableRowButtonContainers;this.keyboardDOM.className=this.getKeyboardClassString(this.options.theme,e,this.keyboardPluginClasses,i),this.keyboardDOM.setAttribute(\"data-skInstance\",this.currentInstanceName),this.keyboardRowsDOM=document.createElement(\"div\"),this.keyboardRowsDOM.className=\"hg-rows\",n[this.options.layoutName||this.defaultName].forEach((function(e,n){var i=e.split(\" \");t.options.excludeFromLayout&&t.options.excludeFromLayout[t.options.layoutName||t.defaultName]&&(i=i.filter((function(e){return t.options.excludeFromLayout&&!t.options.excludeFromLayout[t.options.layoutName||t.defaultName].includes(e)})));var a=document.createElement(\"div\");a.className+=\"hg-row\";var c=[],u=[];i.forEach((function(e,i){var l,d=!s&&\"string\"==typeof e&&e.length>1&&0===e.indexOf(\"[\"),h=!s&&\"string\"==typeof e&&e.length>1&&e.indexOf(\"]\")===e.length-1;d&&(c.push(i),e=e.replace(/\\[/g,\"\")),h&&(u.push(i),e=e.replace(/\\]/g,\"\"));var p=t.utilities.getButtonClass(e),v=t.utilities.getButtonDisplayName(e,t.options.display,t.options.mergeDisplay),g=t.options.useButtonTag?\"button\":\"div\",m=document.createElement(g);m.className+=\"hg-button \".concat(p),(l=m.classList).add.apply(l,f(t.getButtonThemeClasses(e))),t.setDOMButtonAttributes(e,(function(t,e){m.setAttribute(t,e)})),t.activeButtonClass=\"hg-activeButton\",!t.utilities.pointerEventsSupported()||o||r?o?(m.ontouchstart=function(n){t.handleButtonClicked(e,n),t.handleButtonMouseDown(e,n)},m.ontouchend=function(n){t.handleButtonMouseUp(e,n)},m.ontouchcancel=function(n){t.handleButtonMouseUp(e,n)}):(m.onclick=function(n){t.setMouseHold(!1),\"function\"!=typeof t.options.onKeyReleased&&t.handleButtonClicked(e,n)},m.onmousedown=function(n){\"function\"!=typeof t.options.onKeyReleased||t.isMouseHold||t.handleButtonClicked(e,n),t.handleButtonMouseDown(e,n)},m.onmouseup=function(n){t.handleButtonMouseUp(e,n)}):(m.onpointerdown=function(n){t.handleButtonClicked(e,n),t.handleButtonMouseDown(e,n)},m.onpointerup=function(n){t.handleButtonMouseUp(e,n)},m.onpointercancel=function(n){t.handleButtonMouseUp(e,n)}),m.setAttribute(\"data-skBtn\",e);var y=\"\".concat(t.options.layoutName,\"-r\").concat(n,\"b\").concat(i);m.setAttribute(\"data-skBtnUID\",y);var b=document.createElement(\"span\");b.innerHTML=v,m.appendChild(b),t.buttonElements[e]||(t.buttonElements[e]=[]),t.buttonElements[e].push(m),a.appendChild(m)})),a=t.parseRowDOMContainers(a,n,c,u),t.keyboardRowsDOM.appendChild(a)})),this.keyboardDOM.appendChild(this.keyboardRowsDOM),this.onRender(),this.initialized||(this.initialized=!0,!this.utilities.pointerEventsSupported()||o||r?o?(document.ontouchend=function(e){return t.handleButtonMouseUp(void 0,e)},document.ontouchcancel=function(e){return t.handleButtonMouseUp(void 0,e)},this.keyboardDOM.ontouchstart=function(e){return t.handleKeyboardContainerMouseDown(e)}):o||(document.onmouseup=function(e){return t.handleButtonMouseUp(void 0,e)},this.keyboardDOM.onmousedown=function(e){return t.handleKeyboardContainerMouseDown(e)}):(document.onpointerup=function(e){return t.handleButtonMouseUp(void 0,e)},this.keyboardDOM.onpointerdown=function(e){return t.handleKeyboardContainerMouseDown(e)}),this.onInit())}}])&&y(e.prototype,n),Object.defineProperty(e,\"prototype\",{writable:!1}),t}()}(),o}()},\"object\"==typeof n&&\"object\"==typeof e?e.exports=i():\"function\"==typeof define&&define.amd?define([],i):\"object\"==typeof n?n.SimpleKeyboard=i():o.SimpleKeyboard=i()},{}],17:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Build=void 0,n.Build={short:\"0.73.9\",version:\"0.73.9 (2b193a42bb8728577711b215f2ee7fa1)\",buildSeed:1673510059952}},{}],18:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.deprecatedButton=n.createButton=void 0;const o=t(\"../dom/keys\"),i=t(\"../dom/pointer\"),r=function(){const t={};for(const e of Object.keys(o.namedKeyCodes))t[o.namedKeyCodes[e]]=e.substr(4,2);return t}();function s(t,e,n){const o=Math.round(.6*n),r=Math.round(.5*n),s=Math.max(1,Math.round(n/20)),c=f[t.toLowerCase()],u=void 0===c?t:\"\",l=a(\"emulator-button-touch-zone\"),d=a(\"emulator-button\"),h=a(\"emulator-button-text\",void 0===c?void 0===u||0===u.length?\"□\":u.substr(0,1).toUpperCase():\"\");void 0!==c&&(d.style.backgroundImage='url(\"'+c+'\")'),d.style.width=o+\"px\",d.style.height=o+\"px\",h.style.fontSize=r+\"px\",l.widthPx=n-2*s,l.heightPx=n-2*s,l.style.width=l.widthPx+\"px\",l.style.height=l.heightPx+\"px\",l.style.borderWidth=s+\"px\",l.appendChild(d),l.appendChild(h);const p=t=>{void 0!==e.onDown&&e.onDown(),void 0!==e.onClick&&e.onClick(),t.stopPropagation(),t.preventDefault()},v=t=>{void 0!==e.onUp&&e.onUp(),t.stopPropagation(),t.preventDefault()},g=t=>{t.stopPropagation(),t.preventDefault()},m={capture:!0};for(const t of i.pointer.starters)l.addEventListener(t,p,m);for(const t of i.pointer.enders)l.addEventListener(t,v,m);for(const t of i.pointer.changers)l.addEventListener(t,g,m);for(const t of i.pointer.leavers)l.addEventListener(t,g,m);for(const t of i.pointer.prevents)l.addEventListener(t,g,m);return l}function a(t,e){const n=document.createElement(\"div\");return n.className=t,void 0!==e&&(n.innerHTML=e),n}function c(t){return\"number\"==typeof t?r[t]:t}function u(t,e){return\"click\"===t.action?{onClick:()=>e.fireKeyPress(t.mapTo)}:{onDown:()=>e.fireKeyDown(t.mapTo),onUp:()=>e.fireKeyUp(t.mapTo)}}n.createButton=s,n.deprecatedButton=function(t,e,n,i){const r=Math.round(i/4),a=[];for(const e of n){if(e.mapTo===o.KBD_NONE)continue;const n=s((e.symbol||c(e.mapTo)).toUpperCase(),u(e,t),i);n.style.position=\"absolute\";const l=e.style;if(l)for(const t of Object.keys(l))n.style[t]=l[t];if(void 0!==e.position){const t=e.position.left,o=e.position.top,s=e.position.bottom,a=e.position.right;void 0!==t&&(n.style.left=r*t+i*(t-1)+\"px\"),void 0!==a&&(n.style.right=r*a+i*(a-1)+\"px\"),void 0!==o&&(n.style.top=r*o+i*(o-1)+\"px\"),void 0!==s&&(n.style.bottom=r*s+i*(s-1)+\"px\")}t.mouseOverlay.appendChild(n),a.push(n)}return()=>{for(const e of a)e.parentElement===t.mouseOverlay&&t.mouseOverlay.removeChild(e)}};const l=\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns:sketch='http://www.bohemiancoding.com/sketch/ns' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' fill='%23FFF' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Ctitle%3EShape%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cg id='Page-1' sketch:type='MSPage'%3E%3Cg id='Artboard-1' transform='translate(-3.000000, -1.000000)' sketch:type='MSArtboardGroup'%3E%3Cpath id='Shape' sketch:type='MSShapeGroup' d='M19,12c-0.3,0-0.5,0.1-0.7,0.3L14,16.6V3c0-0.5-0.4-1-1-1s-1,0.5-1,1v13.6 l-4.3-4.3C7.5,12.1,7.3,12,7,12c-0.5,0-1,0.4-1,1c0,0.3,0.1,0.5,0.3,0.7l6,6c0.2,0.2,0.4,0.3,0.7,0.3s0.5-0.1,0.7-0.3l6-6 c0.2-0.2,0.3-0.4,0.3-0.7C20,12.4,19.5,12,19,12L19,12z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",d=\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' fill='%23FFF' xml:space='preserve'%3E%3Cg id='left_arrow_1_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18,9H4.41l4.29-4.29C8.89,4.53,9,4.28,9,4c0-0.55-0.45-1-1-1 C7.72,3,7.47,3.11,7.29,3.29l-6,6C1.11,9.47,1,9.72,1,10c0,0.28,0.11,0.53,0.29,0.71l6,6C7.47,16.89,7.72,17,8,17 c0.55,0,1-0.45,1-1c0-0.28-0.11-0.53-0.29-0.71L4.41,11H18c0.55,0,1-0.45,1-1C19,9.45,18.55,9,18,9z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",h=\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' fill='%23fff' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Cg id='right_arrow_1_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.71,9.29l-6-6C12.53,3.11,12.28,3,12,3c-0.55,0-1,0.45-1,1 c0,0.28,0.11,0.53,0.29,0.71L15.59,9H2c-0.55,0-1,0.45-1,1c0,0.55,0.45,1,1,1h13.59l-4.29,4.29C11.11,15.47,11,15.72,11,16 c0,0.55,0.45,1,1,1c0.28,0,0.53-0.11,0.71-0.29l6-6C18.89,10.53,19,10.28,19,10C19,9.72,18.89,9.47,18.71,9.29z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",p=\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' fill='%23fff' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Cg id='key_enter_1_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18,2c-0.55,0-1,0.45-1,1v5c0,2.21-1.79,4-4,4H4.41l2.29-2.29 C6.89,9.53,7,9.28,7,9c0-0.55-0.45-1-1-1C5.72,8,5.47,8.11,5.29,8.29l-4,4C1.11,12.47,1,12.72,1,13c0,0.28,0.11,0.53,0.29,0.71 l4,4C5.47,17.89,5.72,18,6,18c0.55,0,1-0.45,1-1c0-0.28-0.11-0.53-0.29-0.71L4.41,14H13c3.31,0,6-2.69,6-6V3C19,2.45,18.55,2,18,2 z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",f={fullscreen:\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' xml:space='preserve'%3E%3Cg id='maximize_1_' fill='%23FFFFFF'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.99,8.99c-0.28,0-0.53,0.11-0.71,0.29l-3.29,3.29v-1.59c0-0.55-0.45-1-1-1 s-1,0.45-1,1v4c0,0.55,0.45,1,1,1h4c0.55,0,1-0.45,1-1s-0.45-1-1-1H3.41L6.7,10.7c0.18-0.18,0.29-0.43,0.29-0.71 C6.99,9.44,6.54,8.99,5.99,8.99z M14.99-0.01h-4c-0.55,0-1,0.45-1,1s0.45,1,1,1h1.59L9.28,5.29C9.1,5.47,8.99,5.72,8.99,5.99 c0,0.55,0.45,1,1,1c0.28,0,0.53-0.11,0.71-0.29l3.29-3.29v1.59c0,0.55,0.45,1,1,1s1-0.45,1-1v-4C15.99,0.44,15.54-0.01,14.99-0.01 z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",save:\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' fill='%23FFFFFF' xml:space='preserve'%3E%3Cg id='floppy_disk'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.71,2.29l-2-2C13.53,0.11,13.28,0,13,0h-1v6H4V0H1C0.45,0,0,0.45,0,1v14 c0,0.55,0.45,1,1,1h14c0.55,0,1-0.45,1-1V3C16,2.72,15.89,2.47,15.71,2.29z M14,15H2V9c0-0.55,0.45-1,1-1h10c0.55,0,1,0.45,1,1V15 z M11,1H9v4h2V1z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",options:\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' fill='%23FFF' xml:space='preserve'%3E%3Cg id='cog_2_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19,8h-2.31c-0.14-0.46-0.33-0.89-0.56-1.3l1.7-1.7c0.39-0.39,0.39-1.02,0-1.41 l-1.41-1.41c-0.39-0.39-1.02-0.39-1.41,0l-1.7,1.7c-0.41-0.22-0.84-0.41-1.3-0.55V1c0-0.55-0.45-1-1-1H9C8.45,0,8,0.45,8,1v2.33 C7.52,3.47,7.06,3.67,6.63,3.91L5,2.28c-0.37-0.37-0.98-0.37-1.36,0L2.28,3.64C1.91,4.02,1.91,4.63,2.28,5l1.62,1.62 C3.66,7.06,3.46,7.51,3.31,8H1C0.45,8,0,8.45,0,9v2c0,0.55,0.45,1,1,1h2.31c0.14,0.46,0.33,0.89,0.56,1.3L2.17,15 c-0.39,0.39-0.39,1.02,0,1.41l1.41,1.41c0.39,0.39,1.02,0.39,1.41,0l1.7-1.7c0.41,0.22,0.84,0.41,1.3,0.55V19c0,0.55,0.45,1,1,1h2 c0.55,0,1-0.45,1-1v-2.33c0.48-0.14,0.94-0.35,1.37-0.59L15,17.72c0.37,0.37,0.98,0.37,1.36,0l1.36-1.36 c0.37-0.37,0.37-0.98,0-1.36l-1.62-1.62c0.24-0.43,0.45-0.89,0.6-1.38H19c0.55,0,1-0.45,1-1V9C20,8.45,19.55,8,19,8z M10,14 c-2.21,0-4-1.79-4-4c0-2.21,1.79-4,4-4s4,1.79,4,4C14,12.21,12.21,14,10,14z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",keyboard:\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' xml:space='preserve'%3E%3Cg id='manually_entered_data_2_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' fill-rule='evenodd' clip-rule='evenodd' d='M1,8h3.76l2-2H1C0.45,6,0,6.45,0,7C0,7.55,0.45,8,1,8z M15.49,3.99 C15.8,3.67,16,3.23,16,2.75C16,1.78,15.22,1,14.25,1c-0.48,0-0.92,0.2-1.24,0.51l-1.44,1.44l2.47,2.47L15.49,3.99z M1,4h7.76l2-2 H1C0.45,2,0,2.45,0,3C0,3.55,0.45,4,1,4z M1,10c-0.55,0-1,0.45-1,1c0,0.48,0.35,0.86,0.8,0.96L2.76,10H1z M10.95,3.57l-6.69,6.69 l2.47,2.47l6.69-6.69L10.95,3.57z M15.2,6.04L13.24,8H15c0.55,0,1-0.45,1-1C16,6.52,15.65,6.14,15.2,6.04z M2,15l3.86-1.39 l-2.46-2.44L2,15z M15,10h-3.76l-2,2H15c0.55,0,1-0.45,1-1C16,10.45,15.55,10,15,10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",up:\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns:sketch='http://www.bohemiancoding.com/sketch/ns' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' fill='%23FFF' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Ctitle%3EShape%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cg id='Page-1' sketch:type='MSPage'%3E%3Cg id='Artboard-1' transform='translate(-3.000000, -1.000000)' sketch:type='MSArtboardGroup'%3E%3Cpath id='Shape' sketch:type='MSShapeGroup' d='M19.7,8.3l-6-6C13.5,2.1,13.3,2,13,2s-0.5,0.1-0.7,0.3l-6,6C6.1,8.5,6,8.7,6,9 c0,0.6,0.5,1,1,1c0.3,0,0.5-0.1,0.7-0.3L12,5.4V19c0,0.5,0.4,1,1,1s1-0.5,1-1V5.4l4.3,4.3C18.5,9.9,18.7,10,19,10c0.5,0,1-0.4,1-1 C20,8.7,19.9,8.5,19.7,8.3L19.7,8.3z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",down:l,do:l,dw:l,dwn:l,left:d,le:d,lft:d,right:h,ri:h,rght:h,rgh:h,enter:p,en:p,enr:p,ent:p,entr:p}},{\"../dom/keys\":32,\"../dom/pointer\":36}],19:[function(t,e,n){\"use strict\";function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(n,\"__esModule\",{value:!0}),n.getGrid=void 0,n.getGrid=function(t){switch(t){case\"square\":return function(){class t{constructor(){o(this,\"aspect\",.625)}getConfiguration(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const o=this.getCols(),i=this.getRows(),r=Math.floor(o/2),s=Math.floor(i/2),a=5*t/100/2,c=a,u=(t-2*a)/o*n,l=(e-2*c)/i*n,d=Math.min(u,l),h=[];for(let n=0;n<i;++n){const u=[];for(let l=0;l<o;++l)u.push({centerX:l<r?a+d*(l+.5):t-a-d*(o-l-1+.5),centerY:n<s?c+d*(n+.5):e-c-d*(i-n-1+.5)});h.push(u)}return{gridType:\"square\",cells:h,columnWidth:d,rowHeight:d,columnsPadding:a,rowsPadding:c,width:t,height:e}}getCols(){return 10}getRows(){return Math.floor(this.getCols()*this.aspect)+1}}return new t}();case\"honeycomb\":return function(){class t{constructor(){o(this,\"aspect\",.625)}getConfiguration(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const o=this.getCols(),i=this.getRows(),r=Math.floor(o/2),s=Math.floor(i/2),a=5*t/100/2,c=a,u=(t-2*a)/o*n,l=(e-2*c)/i*n,d=Math.min(u,l),h=[];for(let n=0;n<i;++n){const u=[],l=n%2==0?o:o-1,p=n%2==0?0:d/2;for(let h=0;h<l;++h)u.push({centerX:h<r?p+a+d*(h+.5):p+t-a-d*(o-h-1+.5),centerY:n<s?c+d*(n+.5):e-c-d*(i-n-1+.5)});h.push(u)}return{gridType:\"honeycomb\",cells:h,columnWidth:d,rowHeight:d,columnsPadding:a,rowsPadding:c,width:t,height:e}}getCols(){return 10}getRows(){return Math.floor(this.getCols()*this.aspect)+1}}return new t}()}throw new Error(\"Unknown grid type \"+t)}},{}],20:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.keyboard=void 0,n.keyboard=function(t,e,n){const o=n||{};function i(t){return void 0!==o[t]?o[t]:t}return t.setOnKeyDown((t=>{e.sendKeyEvent(i(t),!0)})),t.setOnKeyUp((t=>{e.sendKeyEvent(i(t),!1)})),t.setOnKeyPress((t=>{e.simulateKeyPress(i(t))})),t.setOnKeysPress((t=>{e.simulateKeyPress(...t)})),()=>{t.setOnKeyDown((t=>{})),t.setOnKeyUp((t=>{})),t.setOnKeyPress((t=>{})),t.setOnKeysPress((t=>{}))}}},{}],21:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.extractLayersConfig=void 0,n.extractLayersConfig=function(t){return void 0!==t.layersConfig?(1===t.layersConfig.version&&function(t){for(const e of t.layers)for(const t of e.controls)if(\"Key\"===t.type){const e=t;\"number\"==typeof e.mapTo&&(e.mapTo=[e.mapTo])}}(t.layersConfig),t.layersConfig):void 0!==t.layers?t.layers:null}},{}],22:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.initLayersControl=void 0;const o=t(\"./grid\"),i=t(\"./button\"),r=t(\"./keyboard\"),s=t(\"./mouse/mouse-common\"),a=t(\"./options\"),c=t(\"../dom/pointer\"),u=t(\"nipplejs\");n.initLayersControl=function(t,e,n,i,a,c,u){let h=e.layers[0];if(void 0!==u)for(const t of e.layers)if(t.title===u){h=t;break}return function(t,e,n,i,a,c){const u=(0,r.keyboard)(e,n),h=(0,s.mouse)(i.autolock,i.sensitivity,e,n),p=[];function v(r,s){var u;for(const t of p)t();p.splice(0,p.length);const h=(0,o.getGrid)(t.grid).getConfiguration(r,s,c),v=new l;for(const e of t.controls){const{row:t,column:n,type:o}=e;\"NippleActivator\"===o&&f(h,t,n)}let g=-1;if(0===(null===(u=e.options.optionControls)||void 0===u?void 0:u.length))for(const e of t.controls){const{row:t,type:n}=e;if(\"Options\"===n){g=t;break}}const m={};if(a)for(const e of t.controls){const{row:t}=e;let n=e.column;const o=h.cells[t].length,i=o/2;t===g&&n>=i&&(n=Math.min(n+1,o-1)),void 0===m[t]&&(m[t]={leftStart:i,leftEnd:0,rightStart:o-1,rightEnd:i}),n<i?(m[t].leftStart=Math.min(m[t].leftStart,n),m[t].leftEnd=Math.max(m[t].leftEnd,n)):(m[t].rightStart=Math.min(m[t].rightStart,n),m[t].rightEnd=Math.max(m[t].rightEnd,n))}for(const o of t.controls){const t=d[o.type];if(void 0===t){console.error(\"Factory for control '\"+o.type+\"' is not defined\");continue}const r={...o},s=h.cells[o.row].length,c=s/2;if(g===o.row&&o.column>=c&&(r.column=Math.min(r.column+1,s-1)),a){const{leftStart:t,leftEnd:e,rightStart:n,rightEnd:o}=m[r.row],i=r.column<c;i?r.column+=c+(c-e)-t-1:r.column-=c+(n-c)-(s-o)+1,r.column>=s?(console.error(\"Column\",r.column,\"is out of bound\",s,i?\"[leftSide]\":\"[rightSide]\",m),r.column=s-1):r.column<0&&(console.error(\"Column\",r.column,\"is out of bound\",0,i?\"[leftSide]\":\"[rightSide]\",m),r.column=0)}const u=t(r,e,n,h,v,i);p.push(u)}}return e.addOnResize(v),v(e.width,e.height),()=>{e.removeOnResize(v),u(),h();for(const t of p)t()}}(h,t,n,i,a,c)};class l{constructor(){var t,e,n;n={},(e=\"sensors\")in(t=this)?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}activate(t,e){const n=this.sensors[e+\"_\"+t];void 0!==n&&n.activate()}deactivate(t,e){const n=this.sensors[e+\"_\"+t];void 0!==n&&n.deactivate()}register(t,e,n){this.sensors[e+\"_\"+t]=n}}const d={Key:function(t,e,n,o,r,s){const{cells:a,columnWidth:c}=o,{row:u,column:l}=t,{centerX:d,centerY:h}=a[u][l],f={onDown:()=>{for(const e of t.mapTo)n.sendKeyEvent(e,!0)},onUp:()=>{for(const e of t.mapTo)n.sendKeyEvent(e,!1)}};if(r.register(u,l,{activate:f.onDown,deactivate:f.onUp}),p(o,u,l))return()=>{};const v=(0,i.createButton)(t.symbol,f,c);return v.style.position=\"absolute\",v.style.left=d-v.widthPx/2+\"px\",v.style.top=h-v.heightPx/2+\"px\",e.mouseOverlay.appendChild(v),()=>e.mouseOverlay.removeChild(v)},Options:function(t,e,n,o,i,r){var s;if(0===(null===(s=e.options.optionControls)||void 0===s?void 0:s.length))return()=>{};if(void 0!==e.options.optionControls&&1===e.options.optionControls.length&&\"keyboard\"===e.options.optionControls[0])return h(t,e,n,o,i,r);const{cells:c,columnWidth:u,rowHeight:l}=o,{row:d,column:p}=t,{centerX:f,centerY:v}=c[d][p],g=v-l/2,m=f-u/2,y=o.width-m-u;return(0,a.options)(e,[\"default\"],(()=>{}),u,g,y)},Keyboard:h,Switch:function(t,e,n,o,r,s){const{cells:a,columnWidth:c}=o,{row:u,column:l}=t,{centerX:d,centerY:h}=a[u][l],p=(0,i.createButton)(t.symbol,{onUp:()=>s.setLayersConfig(s.getLayersConfig(),t.layerName)},c);return p.style.position=\"absolute\",p.style.left=d-p.widthPx/2+\"px\",p.style.top=h-p.heightPx/2+\"px\",e.mouseOverlay.appendChild(p),()=>{e.mouseOverlay.removeChild(p)}},ScreenMove:function(t,e,n,o,r,s){const{cells:a,columnWidth:c}=o,{row:u,column:l}=t,{centerX:d,centerY:h}=a[u][l];let f=.5,v=.5;t.direction.indexOf(\"up\")>=0&&(v=0);t.direction.indexOf(\"down\")>=0&&(v=1);t.direction.indexOf(\"left\")>=0&&(f=0);t.direction.indexOf(\"right\")>=0&&(f=1);const g={onDown:()=>{n.sendMouseMotion(f,v)},onUp:()=>{n.sendMouseMotion(.5,.5)}};if(r.register(u,l,{activate:g.onDown,deactivate:g.onUp}),p(o,u,l))return()=>{};const m=(0,i.createButton)(t.symbol,g,c);return m.style.position=\"absolute\",m.style.left=d-m.widthPx/2+\"px\",m.style.top=h-m.heightPx/2+\"px\",e.mouseOverlay.appendChild(m),()=>e.mouseOverlay.removeChild(m)},PointerButton:function(t,e,n,o,r,s){const{cells:a,columnWidth:c}=o,{row:u,column:l,click:d}=t,{centerX:h,centerY:f}=a[u][l],v={onDown:()=>{d?n.sendMouseButton(t.button,!0):e.pointerButton=t.button},onUp:()=>{d?n.sendMouseButton(t.button,!1):e.pointerButton=0}};if(r.register(u,l,{activate:v.onDown,deactivate:v.onUp}),p(o,u,l))return()=>{};const g=(0,i.createButton)(t.symbol,v,c);return g.style.position=\"absolute\",g.style.left=h-g.widthPx/2+\"px\",g.style.top=f-g.heightPx/2+\"px\",e.mouseOverlay.appendChild(g),()=>e.mouseOverlay.removeChild(g)},PointerMove:function(t,e,n,o,r,s){const{cells:a,columnWidth:c}=o,{row:u,column:l,x:d,y:h}=t,{centerX:f,centerY:v}=a[u][l],g={onDown:()=>{n.sendMouseMotion(d,h)},onUp:()=>{n.sendMouseMotion(d,h)}};if(r.register(u,l,{activate:g.onDown,deactivate:g.onUp}),p(o,u,l))return()=>{};const m=(0,i.createButton)(t.symbol,g,c);return m.style.position=\"absolute\",m.style.left=f-m.widthPx/2+\"px\",m.style.top=v-m.heightPx/2+\"px\",e.mouseOverlay.appendChild(m),()=>e.mouseOverlay.removeChild(m)},PointerReset:function(t,e,n,o,r,s){const{cells:a,columnWidth:c}=o,{row:u,column:l}=t,{centerX:d,centerY:h}=a[u][l],f={onDown:()=>{n.sendMouseSync()}};if(r.register(u,l,{activate:f.onDown,deactivate:()=>{}}),p(o,u,l))return()=>{};const v=(0,i.createButton)(t.symbol,f,c);return v.style.position=\"absolute\",v.style.left=d-v.widthPx/2+\"px\",v.style.top=h-v.heightPx/2+\"px\",e.mouseOverlay.appendChild(v),()=>e.mouseOverlay.removeChild(v)},PointerToggle:function(t,e,n,o,r,s){const{cells:a,columnWidth:c}=o,{row:u,column:l}=t,{centerX:d,centerY:h}=a[u][l],f={onDown:()=>{e.pointerDisabled=!e.pointerDisabled,e.pointerDisabled?v.classList.contains(\"emulator-button-highlight\")||v.classList.add(\"emulator-button-highlight\"):v.classList.remove(\"emulator-button-highlight\")}};if(r.register(u,l,{activate:f.onDown,deactivate:()=>{}}),p(o,u,l))return()=>{};const v=(0,i.createButton)(t.symbol,f,c);return v.style.position=\"absolute\",v.style.left=d-v.widthPx/2+\"px\",v.style.top=h-v.heightPx/2+\"px\",e.mouseOverlay.appendChild(v),()=>e.mouseOverlay.removeChild(v)},NippleActivator:function(t,e,n,o,i,r){const{cells:s,columnWidth:a,rowHeight:l,width:d,height:h}=o,{row:p,column:f}=t,{centerX:v,centerY:g}=s[p][f],m=document.createElement(\"div\"),y=1.5,b=Math.max(0,v-a*y),_=Math.max(0,g-l*y),w=Math.max(0,d-v-a*y),D=Math.max(0,h-g-l*y);m.style.position=\"absolute\",m.style.zIndex=\"999\",m.style.left=b+\"px\",m.style.top=_+\"px\",m.style.right=w+\"px\",m.style.bottom=D+\"px\",e.mouseOverlay.appendChild(m);const x=u.create({zone:m,multitouch:!1,maxNumberOfNipples:1,mode:\"static\",follow:!1,dynamicPage:!0,size:1.5*Math.max(a,l),position:{left:(d-w-b)/2+\"px\",top:(h-D-_)/2+\"px\"}});let B=-1,E=-1;x.on(\"move\",((t,e)=>{if(e.distance<10)return i.deactivate(E,B),B=-1,void(E=-1);let n=-1,o=-1;const r=22.5,s=e.angle.degree;s>r&&s<=67.5?(n=f+1,o=p-1):s>67.5&&s<=112.5?(n=f,o=p-1):s>112.5&&s<=157.5?(n=f-1,o=p-1):s>157.5&&s<=202.5?(n=f-1,o=p):s>202.5&&s<=247.5?(n=f-1,o=p+1):s>247.5&&s<=292.5?(n=f,o=p+1):s>292.5&&s<=337.5?(n=f+1,o=p+1):(n=f+1,o=p),B===n&&E===o||(i.deactivate(E,B),i.activate(o,n),B=n,E=o)}));let k=!1;x.on(\"start\",(()=>{k=!0})),x.on(\"end\",(()=>{k=!1,i.deactivate(E,B),E=-1,B=-1}));const K={capture:!0};function C(t){k&&x.processOnEnd(t)}for(const t of c.pointer.enders)e.mouseOverlay.addEventListener(t,C,K);return()=>{x.destroy(),e.mouseOverlay.removeChild(m);for(const t of c.pointer.enders)e.mouseOverlay.removeEventListener(t,C,K)}}};function h(t,e,n,o,r,s){const{cells:a,columnWidth:c}=o,{row:u,column:l}=t,{centerX:d,centerY:h}=a[u][l],p=(0,i.createButton)(\"keyboard\",{onUp:()=>e.toggleKeyboard()},c),f=t=>{t?p.children[0].classList.add(\"emulator-control-close-icon\"):p.children[0].classList.remove(\"emulator-control-close-icon\")};return e.setOnKeyboardVisibility(f),p.style.position=\"absolute\",p.style.left=d-p.widthPx/2+\"px\",p.style.top=h-p.heightPx/2+\"px\",e.mouseOverlay.appendChild(p),()=>{e.mouseOverlay.removeChild(p),e.removeOnKeyboardVisibility(f)}}function p(t,e,n){return!0===t.cells[e][n].hidden}function f(t,e,n){function o(o,i){if((o!==e||i!==n)&&o>=0&&o<t.cells.length){const e=t.cells[o];i>=0&&i<e.length&&(e[i].hidden=!0)}}for(let t=e-1;t<=e+1;++t)for(let e=n-1;e<=n+1;++e)o(t,e)}},{\"../dom/pointer\":36,\"./button\":18,\"./grid\":19,\"./keyboard\":20,\"./mouse/mouse-common\":24,\"./options\":30,nipplejs:14}],23:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.initLegacyLayersControl=void 0;const o=t(\"./button\"),i=t(\"./mouse/mouse-common\"),r=t(\"./nipple\"),s=t(\"./options\"),a=t(\"./keyboard\");n.initLegacyLayersControl=function(t,e,n,c){var u;const l=Object.keys(n),d={keyboard:()=>{},mouse:()=>{},gestures:()=>{},buttons:()=>{}},h=s=>{d.keyboard(),d.mouse(),d.gestures(),d.buttons(),d.keyboard=()=>{},d.mouse=()=>{},d.gestures=()=>{},d.buttons=()=>{};const u=n[s];void 0!==u&&(d.keyboard=(0,a.keyboard)(e,c,u.mapper),void 0!==u.gestures&&u.gestures.length>0?d.gestures=(0,r.nipple)(e,c,u.gestures):d.mouse=(0,i.mouse)(t.autolock,t.sensitivity,e,c),void 0!==u.buttons&&u.buttons.length&&(d.buttons=(0,o.deprecatedButton)(e,c,u.buttons,54)))},p=0===(null===(u=e.options.optionControls)||void 0===u?void 0:u.length)?()=>{}:(0,s.options)(e,l,h,54,13.5,0);return h(\"default\"),()=>{d.gestures(),d.buttons(),d.mouse(),d.keyboard(),p()}}},{\"./button\":18,\"./keyboard\":20,\"./mouse/mouse-common\":24,\"./nipple\":28,\"./options\":30}],24:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.mouse=n.mount=n.mapXY=void 0;const o=t(\"../../dom/pointer\"),i=t(\"./mouse-swipe\"),r=t(\"./mouse-not-locked\"),s=t(\"./mouse-locked\"),a=.01;n.mapXY=function(t,e,n,o){const i=n.width(),r=n.height(),s=o.width,c=o.height,u=i/r;let l=s,d=s/u;d>c&&(d=c,l=c*u);const h=(c-d)/2,p=(s-l)/2;let f=Math.max(0,Math.min(1,(t-p)/l)),v=Math.max(0,Math.min(1,(e-h)/d));return f<=a&&(f=0),f>=.99&&(f=1),v<=a&&(v=0),v>=.99&&(v=1),{x:f,y:v}},n.mount=function(t,e,n,i,r,s){let a=0;const c=i=>{if(i.target!==t)return;if(e.pointerDisabled)return void i.stopPropagation();const r=(0,o.getPointerState)(i,t);a=r.button||e.pointerButton,n(r.x,r.y,a),i.stopPropagation()},u=n=>{if(n.target!==t)return;if(e.pointerDisabled)return void n.stopPropagation();const r=(0,o.getPointerState)(n,t);i(r.x,r.y,r.mX,r.mY),n.stopPropagation()},l=n=>{if(e.pointerDisabled)return void n.stopPropagation();const i=(0,o.getPointerState)(n,t);r(i.x,i.y,a),n.stopPropagation()},d=n=>{if(n.target!==t)return;if(e.pointerDisabled)return void n.stopPropagation();const i=(0,o.getPointerState)(n,t);s(i.x,i.y),n.stopPropagation()},h=t=>{t.stopPropagation()},p={capture:!1};for(const e of o.pointer.starters)t.addEventListener(e,c,p);for(const e of o.pointer.changers)t.addEventListener(e,u,p);for(const e of o.pointer.enders)t.addEventListener(e,l,p);for(const e of o.pointer.prevents)t.addEventListener(e,h,p);for(const e of o.pointer.leavers)t.addEventListener(e,d,p);return()=>{for(const e of o.pointer.starters)t.removeEventListener(e,c,p);for(const e of o.pointer.changers)t.removeEventListener(e,u,p);for(const e of o.pointer.enders)t.removeEventListener(e,l,p);for(const e of o.pointer.prevents)t.removeEventListener(e,h,p);for(const e of o.pointer.leavers)t.removeEventListener(e,d,p)}},n.mouse=function(t,e,n,a){return t&&!o.pointer.canLock?(0,i.mouseSwipe)(e,n,a):t?(0,s.mouseLocked)(e,n,a):(0,r.mouseNotLocked)(n,a)}},{\"../../dom/pointer\":36,\"./mouse-locked\":25,\"./mouse-not-locked\":26,\"./mouse-swipe\":27}],25:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.mouseLocked=void 0;const o=t(\"./mouse-common\");n.mouseLocked=function(t,e,n){const i=e.mouseOverlay;function r(){return document.pointerLockElement!==i}return(0,o.mount)(i,e,(function(t,e,o){if(r()){(i.requestPointerLock||i.mozRequestPointerLock||i.webkitRequestPointerLock).call(i)}else n.sendMouseButton(o,!0)}),(function(e,o,i,s){r()||0===i&&0===s||n.sendMouseRelativeMotion(i*t,s*t)}),(function(t,e,o){r()||n.sendMouseButton(o,!1)}),(function(t,e){}))}},{\"./mouse-common\":24}],26:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.mouseNotLocked=void 0;const o=t(\"./mouse-common\");n.mouseNotLocked=function(t,e){const n=t.mouseOverlay,i=(n,i)=>(0,o.mapXY)(n,i,e,t);return document.pointerLockElement===n&&document.exitPointerLock(),(0,o.mount)(n,t,(function(t,n,o){const r=i(t,n);e.sendMouseMotion(r.x,r.y),e.sendMouseButton(o,!0)}),(function(t,n,o,r){const s=i(t,n);e.sendMouseMotion(s.x,s.y)}),(function(t,n,o){const r=i(t,n);e.sendMouseMotion(r.x,r.y),e.sendMouseButton(o,!1)}),(function(t,n){const o=i(t,n);e.sendMouseMotion(o.x,o.y)}))}},{\"./mouse-common\":24}],27:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.mouseSwipe=void 0;const o=t(\"./mouse-common\");n.mouseSwipe=function(t,e,n){const i=e.mouseOverlay;let r=-1,s=0,a=0,c=0;return(0,o.mount)(i,e,((t,e)=>{r=Date.now(),s=0,a=t,c=e}),(function(e,o,i,r){void 0===i&&(i=e-a),void 0===r&&(r=o-c),a=e,c=o,0===i&&0===r||(s+=Math.abs(i)+Math.abs(r),n.sendMouseRelativeMotion(i*t*2,r*t*2))}),((t,o)=>{if(Date.now()-r<500&&s<50){const t=e.pointerButton||0;n.sendMouseButton(t,!0),setTimeout((()=>n.sendMouseButton(t,!1)),60)}}),(()=>{}))}},{\"./mouse-common\":24}],28:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.nipple=void 0;const o=t(\"nipplejs\"),i=t(\"../dom/keys\");n.nipple=function(t,e,n){const r=o.create({zone:t.mouseOverlay,multitouch:!0,maxNumberOfNipples:2});let s=-1;const a=()=>{-1!==s&&(t.fireKeyUp(s),s=-1)},c={},u={},l={};for(const e of n)\"end:release\"===e.event?c[e.joystickId]=!0:e.mapTo!==i.KBD_NONE&&(\"tap\"===e.event?u[e.joystickId]=e.mapTo:r.on(e.event,(()=>{var n;l[e.joystickId]=Date.now(),a(),n=e.mapTo,t.fireKeyDown(n),s=n})));const d={};return r.on(\"start\",(()=>{const t=r.ids.length-1;d[t]=Date.now()})),r.on(\"end\",(()=>{const e=r.ids.length-1,n=Date.now()-d[e];!0===c[e]&&a(),u[e]&&n<500&&l[e]<d[e]&&t.fireKeyPress(u[e])})),()=>r.destroy()}},{\"../dom/keys\":32,nipplejs:14}],29:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.initNullLayersControl=void 0;const o=t(\"./keyboard\"),i=t(\"./mouse/mouse-common\"),r=t(\"./options\");n.initNullLayersControl=function(t,e,n){var s;const a=(0,o.keyboard)(e,n),c=(0,i.mouse)(t.autolock,t.sensitivity,e,n),u=0===(null===(s=e.options.optionControls)||void 0===s?void 0:s.length)?()=>{}:(0,r.options)(e,[\"default\"],(()=>{}),54,13.5,0);return()=>{a(),c(),u()}}},{\"./keyboard\":20,\"./mouse/mouse-common\":24,\"./options\":30}],30:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.options=void 0;const o=t(\"./button\"),i=t(\"../dom/helpers\");function r(t,e){if(t.length<=1)return document.createElement(\"div\");const n=document.createElement(\"select\");n.classList.add(\"emulator-control-select\");for(const e of t){const t=document.createElement(\"option\");t.value=e,t.innerHTML=e,n.appendChild(t)}return n.onchange=t=>{const n=t.target.value;e(n)},(0,i.stopPropagation)(n,!1),n}n.options=function(t,e,n,s,a,c){const u=Math.round(s/4);let l=!1,d=!1;const h=()=>{const t=l?\"flex\":\"none\";for(const e of f)e!=v&&(e.style.display=t)},p=()=>{l=!l,!l&&d&&t.toggleKeyboard(),h()},f=[r(e,n),(0,o.createButton)(\"keyboard\",{onClick:()=>{t.toggleKeyboard(),l&&!d&&(l=!1,h())}},s),(0,o.createButton)(\"save\",{onClick:()=>{t.save(),l&&p()}},s),(0,o.createButton)(\"fullscreen\",{onClick:()=>{t.toggleFullscreen(),l&&p()}},s),(0,o.createButton)(\"options\",{onClick:p},s)],v=f[f.length-1],g=f[f.length-2].children[0],m=f[f.length-4].children[0],y=t=>{d=t,t?m.classList.add(\"emulator-control-close-icon\"):m.classList.remove(\"emulator-control-close-icon\")};t.setOnKeyboardVisibility(y),y(t.keyboardVisible),t.setOnFullscreen((t=>{t?g.classList.contains(\"emulator-control-exit-fullscreen-icon\")||g.classList.add(\"emulator-control-exit-fullscreen-icon\"):g.classList.remove(\"emulator-control-exit-fullscreen-icon\")})),t.fullscreen&&g.classList.add(\"emulator-control-exit-fullscreen-icon\");const b=(0,i.createDiv)(\"emulator-options\"),_=d?\"flex\":\"none\";for(const t of f)t!==v&&t.classList.add(\"emulator-button-control\"),t.style.marginRight=u+\"px\",t.style.marginBottom=u+\"px\",t!==v&&(t.style.display=_),b.appendChild(t);return b.style.position=\"absolute\",b.style.right=c+\"px\",b.style.top=a+\"px\",t.mouseOverlay.appendChild(b),()=>{t.mouseOverlay.removeChild(b),t.setOnFullscreen((()=>{})),t.removeOnKeyboardVisibility(y)}}},{\"../dom/helpers\":31,\"./button\":18}],31:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.stopPropagation=n.createDiv=void 0;const o=t(\"./pointer\");n.createDiv=function(t,e){const n=document.createElement(\"div\");return n.className=t,void 0!==e&&(n.innerHTML=e),n},n.stopPropagation=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=t=>{t.stopPropagation()},i=t=>{t.stopPropagation(),e&&t.preventDefault()},r={capture:!1};for(const e of o.pointer.starters)t.addEventListener(e,n,r);for(const e of o.pointer.enders)t.addEventListener(e,n,r);for(const e of o.pointer.prevents)t.addEventListener(e,i,r)}},{\"./pointer\":36}],32:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.KBD_kp0=n.KBD_f12=n.KBD_f11=n.KBD_f10=n.KBD_f9=n.KBD_f8=n.KBD_f7=n.KBD_f6=n.KBD_f5=n.KBD_f4=n.KBD_f3=n.KBD_f2=n.KBD_f1=n.KBD_z=n.KBD_y=n.KBD_x=n.KBD_w=n.KBD_v=n.KBD_u=n.KBD_t=n.KBD_s=n.KBD_r=n.KBD_q=n.KBD_p=n.KBD_o=n.KBD_n=n.KBD_m=n.KBD_l=n.KBD_k=n.KBD_j=n.KBD_i=n.KBD_h=n.KBD_g=n.KBD_f=n.KBD_e=n.KBD_d=n.KBD_c=n.KBD_b=n.KBD_a=n.KBD_9=n.KBD_8=n.KBD_7=n.KBD_6=n.KBD_5=n.KBD_4=n.KBD_3=n.KBD_2=n.KBD_1=n.KBD_0=n.KBD_NONE=void 0,n.KBD_up=n.KBD_left=n.KBD_pagedown=n.KBD_end=n.KBD_delete=n.KBD_pageup=n.KBD_home=n.KBD_insert=n.KBD_pause=n.KBD_printscreen=n.KBD_slash=n.KBD_comma=n.KBD_period=n.KBD_quote=n.KBD_semicolon=n.KBD_rightbracket=n.KBD_leftbracket=n.KBD_backslash=n.KBD_equals=n.KBD_minus=n.KBD_grave=n.KBD_numlock=n.KBD_scrolllock=n.KBD_capslock=n.KBD_rightshift=n.KBD_leftshift=n.KBD_rightctrl=n.KBD_leftctrl=n.KBD_rightalt=n.KBD_leftalt=n.KBD_space=n.KBD_enter=n.KBD_backspace=n.KBD_tab=n.KBD_esc=n.KBD_kpenter=n.KBD_kpplus=n.KBD_kpminus=n.KBD_kpmultiply=n.KBD_kpdivide=n.KBD_kpperiod=n.KBD_kp9=n.KBD_kp8=n.KBD_kp7=n.KBD_kp6=n.KBD_kp5=n.KBD_kp4=n.KBD_kp3=n.KBD_kp2=n.KBD_kp1=void 0,n.domToKeyCode=n.keyCodesToDom=n.namedKeyCodes=n.domToKeyCodes=n.KBD_extra_lt_gt=n.KBD_right=n.KBD_down=void 0,n.KBD_NONE=0,n.KBD_0=48,n.KBD_1=49,n.KBD_2=50,n.KBD_3=51,n.KBD_4=52,n.KBD_5=53,n.KBD_6=54,n.KBD_7=55,n.KBD_8=56,n.KBD_9=57,n.KBD_a=65,n.KBD_b=66,n.KBD_c=67,n.KBD_d=68,n.KBD_e=69,n.KBD_f=70,n.KBD_g=71,n.KBD_h=72,n.KBD_i=73,n.KBD_j=74,n.KBD_k=75,n.KBD_l=76,n.KBD_m=77,n.KBD_n=78,n.KBD_o=79,n.KBD_p=80,n.KBD_q=81,n.KBD_r=82,n.KBD_s=83,n.KBD_t=84,n.KBD_u=85,n.KBD_v=86,n.KBD_w=87,n.KBD_x=88,n.KBD_y=89,n.KBD_z=90,n.KBD_f1=290,n.KBD_f2=291,n.KBD_f3=292,n.KBD_f4=293,n.KBD_f5=294,n.KBD_f6=295,n.KBD_f7=296,n.KBD_f8=297,n.KBD_f9=298,n.KBD_f10=299,n.KBD_f11=300,n.KBD_f12=301,n.KBD_kp0=320,n.KBD_kp1=321,n.KBD_kp2=322,n.KBD_kp3=323,n.KBD_kp4=324,n.KBD_kp5=325,n.KBD_kp6=326,n.KBD_kp7=327,n.KBD_kp8=328,n.KBD_kp9=329,n.KBD_kpperiod=330,n.KBD_kpdivide=331,n.KBD_kpmultiply=332,n.KBD_kpminus=333,n.KBD_kpplus=334,n.KBD_kpenter=335,n.KBD_esc=256,n.KBD_tab=258,n.KBD_backspace=259,n.KBD_enter=257,n.KBD_space=32,n.KBD_leftalt=342,n.KBD_rightalt=346,n.KBD_leftctrl=341,n.KBD_rightctrl=345,n.KBD_leftshift=340,n.KBD_rightshift=344,n.KBD_capslock=280,n.KBD_scrolllock=281,n.KBD_numlock=282,n.KBD_grave=96,n.KBD_minus=45,n.KBD_equals=61,n.KBD_backslash=92,n.KBD_leftbracket=91,n.KBD_rightbracket=93,n.KBD_semicolon=59,n.KBD_quote=39,n.KBD_period=46,n.KBD_comma=44,n.KBD_slash=47,n.KBD_printscreen=283,n.KBD_pause=284,n.KBD_insert=260,n.KBD_home=268,n.KBD_pageup=266,n.KBD_delete=261,n.KBD_end=269,n.KBD_pagedown=267,n.KBD_left=263,n.KBD_up=265,n.KBD_down=264,n.KBD_right=262,n.KBD_extra_lt_gt=348,n.domToKeyCodes={8:n.KBD_backspace,9:n.KBD_tab,13:n.KBD_enter,16:n.KBD_leftshift,17:n.KBD_leftctrl,18:n.KBD_leftalt,19:n.KBD_pause,27:n.KBD_esc,32:n.KBD_space,33:n.KBD_pageup,34:n.KBD_pagedown,35:n.KBD_end,36:n.KBD_home,37:n.KBD_left,38:n.KBD_up,39:n.KBD_right,40:n.KBD_down,45:n.KBD_insert,46:n.KBD_delete,48:n.KBD_0,49:n.KBD_1,50:n.KBD_2,51:n.KBD_3,52:n.KBD_4,53:n.KBD_5,54:n.KBD_6,55:n.KBD_7,56:n.KBD_8,57:n.KBD_9,59:n.KBD_semicolon,64:n.KBD_equals,65:n.KBD_a,66:n.KBD_b,67:n.KBD_c,68:n.KBD_d,69:n.KBD_e,70:n.KBD_f,71:n.KBD_g,72:n.KBD_h,73:n.KBD_i,74:n.KBD_j,75:n.KBD_k,76:n.KBD_l,77:n.KBD_m,78:n.KBD_n,79:n.KBD_o,80:n.KBD_p,81:n.KBD_q,82:n.KBD_r,83:n.KBD_s,84:n.KBD_t,85:n.KBD_u,86:n.KBD_v,87:n.KBD_w,88:n.KBD_x,89:n.KBD_y,90:n.KBD_z,91:n.KBD_leftbracket,93:n.KBD_rightbracket,96:n.KBD_kp0,97:n.KBD_kp1,98:n.KBD_kp2,99:n.KBD_kp3,100:n.KBD_kp4,101:n.KBD_kp5,102:n.KBD_kp6,103:n.KBD_kp7,104:n.KBD_kp8,105:n.KBD_kp9,111:n.KBD_kpdivide,112:n.KBD_f1,113:n.KBD_f2,114:n.KBD_f3,115:n.KBD_f4,116:n.KBD_f5,117:n.KBD_f6,118:n.KBD_f7,119:n.KBD_f8,120:n.KBD_f9,121:n.KBD_f10,122:n.KBD_f11,123:n.KBD_f12,144:n.KBD_numlock,145:n.KBD_scrolllock,173:n.KBD_minus,186:n.KBD_semicolon,187:n.KBD_equals,188:n.KBD_comma,189:n.KBD_minus,190:n.KBD_period,191:n.KBD_slash,219:n.KBD_leftbracket,220:n.KBD_backslash,221:n.KBD_rightbracket},n.namedKeyCodes={KBD_NONE:n.KBD_NONE,KBD_0:n.KBD_0,KBD_1:n.KBD_1,KBD_2:n.KBD_2,KBD_3:n.KBD_3,KBD_4:n.KBD_4,KBD_5:n.KBD_5,KBD_6:n.KBD_6,KBD_7:n.KBD_7,KBD_8:n.KBD_8,KBD_9:n.KBD_9,KBD_a:n.KBD_a,KBD_b:n.KBD_b,KBD_c:n.KBD_c,KBD_d:n.KBD_d,KBD_e:n.KBD_e,KBD_f:n.KBD_f,KBD_g:n.KBD_g,KBD_h:n.KBD_h,KBD_i:n.KBD_i,KBD_j:n.KBD_j,KBD_k:n.KBD_k,KBD_l:n.KBD_l,KBD_m:n.KBD_m,KBD_n:n.KBD_n,KBD_o:n.KBD_o,KBD_p:n.KBD_p,KBD_q:n.KBD_q,KBD_r:n.KBD_r,KBD_s:n.KBD_s,KBD_t:n.KBD_t,KBD_u:n.KBD_u,KBD_v:n.KBD_v,KBD_w:n.KBD_w,KBD_x:n.KBD_x,KBD_y:n.KBD_y,KBD_z:n.KBD_z,KBD_f1:n.KBD_f1,KBD_f2:n.KBD_f2,KBD_f3:n.KBD_f3,KBD_f4:n.KBD_f4,KBD_f5:n.KBD_f5,KBD_f6:n.KBD_f6,KBD_f7:n.KBD_f7,KBD_f8:n.KBD_f8,KBD_f9:n.KBD_f9,KBD_f10:n.KBD_f10,KBD_f11:n.KBD_f11,KBD_f12:n.KBD_f12,KBD_kp0:n.KBD_kp0,KBD_kp1:n.KBD_kp1,KBD_kp2:n.KBD_kp2,KBD_kp3:n.KBD_kp3,KBD_kp4:n.KBD_kp4,KBD_kp5:n.KBD_kp5,KBD_kp6:n.KBD_kp6,KBD_kp7:n.KBD_kp7,KBD_kp8:n.KBD_kp8,KBD_kp9:n.KBD_kp9,KBD_kpperiod:n.KBD_kpperiod,KBD_kpdivide:n.KBD_kpdivide,KBD_kpmultiply:n.KBD_kpmultiply,KBD_kpminus:n.KBD_kpminus,KBD_kpplus:n.KBD_kpplus,KBD_kpenter:n.KBD_kpenter,KBD_esc:n.KBD_esc,KBD_tab:n.KBD_tab,KBD_backspace:n.KBD_backspace,KBD_enter:n.KBD_enter,KBD_space:n.KBD_space,KBD_leftalt:n.KBD_leftalt,KBD_rightalt:n.KBD_rightalt,KBD_leftctrl:n.KBD_leftctrl,KBD_rightctrl:n.KBD_rightctrl,KBD_leftshift:n.KBD_leftshift,KBD_rightshift:n.KBD_rightshift,KBD_capslock:n.KBD_capslock,KBD_scrolllock:n.KBD_scrolllock,KBD_numlock:n.KBD_numlock,KBD_grave:n.KBD_grave,KBD_minus:n.KBD_minus,KBD_equals:n.KBD_equals,KBD_backslash:n.KBD_backslash,KBD_leftbracket:n.KBD_leftbracket,KBD_rightbracket:n.KBD_rightbracket,KBD_semicolon:n.KBD_semicolon,KBD_quote:n.KBD_quote,KBD_period:n.KBD_period,KBD_comma:n.KBD_comma,KBD_slash:n.KBD_slash,KBD_printscreen:n.KBD_printscreen,KBD_pause:n.KBD_pause,KBD_insert:n.KBD_insert,KBD_home:n.KBD_home,KBD_pageup:n.KBD_pageup,KBD_delete:n.KBD_delete,KBD_end:n.KBD_end,KBD_pagedown:n.KBD_pagedown,KBD_left:n.KBD_left,KBD_up:n.KBD_up,KBD_down:n.KBD_down,KBD_right:n.KBD_right,KBD_extra_lt_gt:n.KBD_extra_lt_gt},n.keyCodesToDom={};for(const t of Object.keys(n.domToKeyCodes)){const e=Number.parseInt(t,10);n.keyCodesToDom[n.domToKeyCodes[e]]=e}n.domToKeyCode=function(t){return n.domToKeyCodes[t]||0}},{}],33:[function(t,e,n){\"use strict\";function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var i=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n,\"__esModule\",{value:!0}),n.Layers=n.layers=void 0;const r=t(\"notyf\"),s=i(t(\"simple-keyboard\")),a=t(\"./helpers\"),c=t(\"./keys\"),u=t(\"element-resize-detector\")({});n.layers=function(t,e){return new l(t,e||{})};class l{constructor(t,e){o(this,\"options\",void 0),o(this,\"root\",void 0),o(this,\"loading\",void 0),o(this,\"canvas\",void 0),o(this,\"video\",void 0),o(this,\"mouseOverlay\",void 0),o(this,\"width\",void 0),o(this,\"height\",void 0),o(this,\"fullscreen\",!1),o(this,\"keyboardVisible\",!1),o(this,\"pointerLock\",!1),o(this,\"pointerDisabled\",!1),o(this,\"pointerButton\",0),o(this,\"notyf\",new r.Notyf),o(this,\"toggleKeyboard\",(()=>!1)),o(this,\"fullscreenElement\",void 0),o(this,\"clickToStart\",void 0),o(this,\"loaderText\",void 0),o(this,\"onResize\",void 0),o(this,\"onKeyDown\",void 0),o(this,\"onKeyUp\",void 0),o(this,\"onKeyPress\",void 0),o(this,\"onKeysPress\",void 0),o(this,\"onSave\",void 0),o(this,\"onSaveStarted\",void 0),o(this,\"onSaveEnded\",void 0),o(this,\"onFullscreenChanged\",[]),o(this,\"onKeyboardChanged\",[]),this.options=e,this.root=t,this.root.classList.add(\"emulator-root\"),this.fullscreenElement=e.fullscreenElement||this.root,this.canvas=document.createElement(\"canvas\"),this.canvas.className=\"emulator-canvas\",this.video=document.createElement(\"video\"),this.video.setAttribute(\"autoplay\",\"\"),this.video.setAttribute(\"playsinline\",\"\"),this.video.className=\"emulator-video\",this.loading=(0,a.createDiv)(\"emulator-loading\",\"\\n<div class='emulator-loading-inner'>\\n<pre class='emulator-loading-pre-1'>\\n _ __\\n (_)____ ____/ /___ _____ _________ ____ ___\\n / / ___/_____/ __ / __ \\\\/ ___// ___/ __ \\\\/ __ `__ \\\\\\n / (__ )_____/ /_/ / /_/ (__ )/ /__/ /_/ / / / / / /\\n __/ /____/ \\\\__,_/\\\\____/____(_)___/\\\\____/_/ /_/ /_/\\n /___/\\n</pre>\\n<pre class='emulator-loading-pre-2'>\\n</pre>\\n<div class='emulator-loader'>\\n</div>\\n</div>\\n\"),this.loaderText=this.loading.querySelector(\".emulator-loading-pre-2\"),this.mouseOverlay=(0,a.createDiv)(\"emulator-mouse-overlay\",\"\"),this.clickToStart=(0,a.createDiv)(\"emulator-click-to-start-overlay\",'\\n<div class=\"emulator-click-to-start-text\">Press to start</div>\\n<div class=\"emulator-click-to-start-icon\"></div>\\n'),this.clickToStart.onclick=()=>{this.clickToStart.style.display=\"none\",this.video.play()},this.root.appendChild(this.canvas),this.root.appendChild(this.video),this.root.appendChild(this.mouseOverlay),this.root.appendChild(this.clickToStart),this.root.appendChild(this.loading),this.width=t.offsetWidth,this.height=t.offsetHeight,this.onResize=[],this.onKeyDown=()=>{},this.onKeyUp=()=>{},this.onKeyPress=()=>{},this.onKeysPress=()=>{},this.onSave=()=>Promise.reject(new Error(\"Not implemented\")),this.onSaveStarted=()=>{},this.onSaveEnded=()=>{},u.listenTo(this.root,(e=>{if(e===t){this.width=e.offsetWidth,this.height=e.offsetHeight;for(const t of this.onResize)t(this.width,this.height)}})),this.initKeyEvents(),this.initKeyboard(),this.preventContextMenu(),this.fullscreenElement.onfullscreenchange=()=>{if(document.fullscreenElement!==this.fullscreenElement){this.fullscreen=!1;for(const t of this.onFullscreenChanged)t(this.fullscreen)}}}initKeyEvents(){const t=this.options.keyboardInputDiv??this.root;t.style.outline=\"none\",t.tabIndex&&-1!==t.tabIndex||(t.tabIndex=0),t.addEventListener(\"keydown\",(t=>{const e=(0,c.domToKeyCode)(t.keyCode);this.onKeyDown(e),t.stopPropagation(),t.preventDefault()})),t.addEventListener(\"keyup\",(t=>{const e=(0,c.domToKeyCode)(t.keyCode);this.onKeyUp(e),t.stopPropagation(),t.preventDefault()}))}preventContextMenu(){this.root.addEventListener(\"contextmenu\",(t=>(t.stopPropagation(),t.preventDefault(),!1)))}addOnResize(t){this.onResize.push(t)}removeOnResize(t){this.onResize=this.onResize.filter((e=>e!==t))}setOnKeyDown(t){this.onKeyDown=t}fireKeyDown(t){this.onKeyDown(t)}setOnKeyUp(t){this.onKeyUp=t}fireKeyUp(t){this.onKeyUp(t)}setOnKeyPress(t){this.onKeyPress=t}fireKeyPress(t){this.onKeyPress(t)}setOnKeysPress(t){this.onKeysPress=t}fireKeysPress(t){this.onKeysPress(t)}toggleFullscreen(){if(this.fullscreen){this.fullscreen=!1,this.fullscreenElement.classList.contains(\"emulator-fullscreen-workaround\")?this.fullscreenElement.classList.remove(\"emulator-fullscreen-workaround\"):document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen();for(const t of this.onFullscreenChanged)t(!1)}else{this.fullscreen=!0;const t=this.fullscreenElement;t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.msRequestFullscreen?t.msRequestFullscreen():t.webkitEnterFullscreen?t.webkitEnterFullscreen():this.fullscreenElement.classList.add(\"emulator-fullscreen-workaround\");for(const t of this.onFullscreenChanged)t(!0)}}setOnFullscreen(t){this.onFullscreenChanged.push(t)}removeOnFullscreen(t){this.onFullscreenChanged=this.onFullscreenChanged.filter((e=>e!==t))}setOnKeyboardVisibility(t){this.onKeyboardChanged.push(t)}removeOnKeyboardVisibility(t){this.onKeyboardChanged=this.onKeyboardChanged.filter((e=>e!==t))}save(){return this.onSaveStarted(),this.onSave().then((()=>{this.notyf.success(\"Saved\"),this.onSaveEnded()})).catch((t=>{this.notyf.error(t.message),this.onSaveEnded()}))}setOnSave(t){this.onSave=t}getOnSave(){return this.onSave}setOnSaveStarted(t){this.onSaveStarted=t}setOnSaveEnded(t){this.onSaveEnded=t}hideLoadingLayer(){this.loading.style.visibility=\"hidden\"}showLoadingLayer(){this.loading.style.visibility=\"visible\"}setLoadingMessage(t){this.loaderText.innerHTML=t}switchToVideo(){this.video.style.display=\"block\",this.canvas.style.display=\"none\"}showClickToStart(){this.clickToStart.style.display=\"flex\"}initKeyboard(){let t=!1;const e=[{\"{esc}\":\"␛\",\"{bksp}\":\"⌫\",\"{enter}\":\"↵\",\"{space}\":\"Space\",\"{up}\":\"↑\",\"{down}\":\"↓\",\"{left}\":\"←\",\"{right}\":\"→\",\"{shift}\":\"⇑\",\"{ctrl}\":\"Ctrl\",\"{alt}\":\"Alt\",\"{tab}\":\"Tab\"},{\"{esc}\":\"␛\",\"{bksp}\":\"⌫\",\"{enter}\":\"↵\",\"{space}\":\"Space\",\"{up}\":\"↑\",\"{down}\":\"↓\",\"{left}\":\"←\",\"{right}\":\"→\",\"{shift}\":\"⇑\",\"{alt}\":\"Alt\",\"{ctrl}\":\"Ctrl\",\"{tab}\":\"Tab\",q:\"й\",w:\"ц\",e:\"у\",r:\"к\",t:\"е\",y:\"н\",u:\"г\",i:\"ш\",o:\"щ\",p:\"з\",\"{\":\"х\",\"}\":\"ъ\",a:\"ф\",s:\"ы\",d:\"в\",f:\"а\",g:\"п\",h:\"р\",j:\"о\",k:\"л\",l:\"д\",\";\":\"ж\",\"'\":\"э\",z:\"я\",x:\"ч\",c:\"с\",v:\"м\",b:\"и\",n:\"т\",m:\"ь\",\",\":\"б\",\".\":\"ю\"}];let n=0;const o=this.options.keyboardDiv||(0,a.createDiv)(\"\");o.classList.add(\"emulator-keyboard\"),o.style.display=\"none\",(0,a.stopPropagation)(o);const i=new s.default(o,{layout:{en:[\"{esc} ` 1 2 3 4 5 6 7 8 9 0 () - = {bksp} {enter}\",\"{tab} q w e r t y u i o p { } \\\\ {up}\",\"{shift} {left} {right} a s d f g h j k l ; ' [ {down}\",\"⎘ {alt} {ctrl} z x c v b n m , . / ] {space}\"]},layoutName:\"en\",display:e[n],onKeyPress:t=>{if(\"⎘\"===t)return;const e=d(t);for(const t of e)this.fireKeyDown(t)},onKeyReleased:t=>{if(\"⎘\"===t)return n=(n+1)%e.length,void i.setOptions({display:e[n]});const o=d(t);for(const t of o)this.fireKeyUp(t)},preventMouseDownDefault:!0,preventMouseUpDefault:!0,stopMouseDownPropagation:!0,stopMouseUpPropagation:!0,physicalKeyboardHighlight:!1,physicalKeyboardHighlightPress:!1,physicalKeyboardHighlightPressUseClick:!1,physicalKeyboardHighlightPressUsePointerEvents:!1});this.toggleKeyboard=()=>{t=!t;const e=t?\"block\":\"none\";o.style.display=e;for(const e of this.onKeyboardChanged)e(t);return this.keyboardVisible=t,t},this.options.keyboardDiv||this.mouseOverlay.appendChild(o)}}function d(t){if(t.length>1)return\"{enter}\"===t?[c.KBD_enter]:\"{shift}\"===t?[c.KBD_leftshift]:\"{bksp}\"===t?[c.KBD_backspace]:\"{lock}\"===t?[c.KBD_capslock]:\"{tab}\"===t?[c.KBD_tab]:\"{space}\"===t?[c.KBD_space]:\"{esc}\"===t?[c.KBD_esc]:\"{ctrl}\"===t?[c.KBD_leftctrl]:\"{alt}\"===t?[c.KBD_leftalt]:\"{up}\"===t?[c.KBD_up]:\"{down}\"===t?[c.KBD_down]:\"{left}\"===t?[c.KBD_left]:\"{right}\"===t?[c.KBD_right]:(console.warn(\"Unknown button\",t),[]);if(\",\"===t)return[c.KBD_comma];if(\".\"===t)return[c.KBD_period];if(\"'\"===t)return[c.KBD_quote];if(\":\"===t)return[c.KBD_semicolon];if(\"{\"===t)return[c.KBD_leftshift,c.KBD_leftbracket];if(\"}\"===t)return[c.KBD_leftshift,c.KBD_rightbracket];const e=(0,c.domToKeyCode)(t.toUpperCase().charCodeAt(0));return 0===e?[]:[e]}n.Layers=l},{\"./helpers\":31,\"./keys\":32,\"element-resize-detector\":7,notyf:15,\"simple-keyboard\":16}],34:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.lifecycle=void 0,n.lifecycle=function(t){let e=\"\",n=\"\";function o(){document[e]?t.pause():t.resume()}void 0!==document.hidden?(e=\"hidden\",n=\"visibilitychange\"):void 0!==document.mozHidden?(e=\"mozHidden\",n=\"mozvisibilitychange\"):void 0!==document.msHidden?(e=\"msHidden\",n=\"msvisibilitychange\"):void 0!==document.webkitHidden&&(e=\"webkitHidden\",n=\"webkitvisibilitychange\"),document.addEventListener(n,o),t.events().onExit((()=>{document.removeEventListener(n,o)}))}},{}],35:[function(t,e,n){\"use strict\";function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(n,\"__esModule\",{value:!0}),n.MemStorage=void 0;n.MemStorage=class{constructor(){o(this,\"length\",0),o(this,\"storage\",{})}setItem(t,e){this.storage[t]=e,this.length=Object.keys(this.storage).length}getItem(t){const e=this.storage[t];return void 0===e?null:e}removeItem(t){delete this.storage[t],this.length=Object.keys(this.storage).length}key(t){const e=Object.keys(this.storage);return void 0===e[t]?null:e[t]}clear(){this.length=0,this.storage={}}}},{}],36:[function(t,e,n){\"use strict\";function o(t,e){if(t.type.match(/^touch/)){const n=t,o=e.getBoundingClientRect();return{x:n.targetTouches[0].clientX-o.x,y:n.targetTouches[0].clientY-o.y,mX:0,mY:0}}if(t.type.match(/^pointer/)){const e=t;return{x:e.offsetX,y:e.offsetY,mX:e.movementX,mY:e.movementY}}{const e=t;return{x:e.offsetX,y:e.offsetY,mX:e.movementX,mY:e.movementY,button:0===e.button?0:1}}}Object.defineProperty(n,\"__esModule\",{value:!0}),n.pointers=n.getPointerState=n.pointer=void 0,n.pointer=function(){const t=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent),e=t&&!!(\"ontouchstart\"in window),n=t&&!!window.PointerEvent,o=t&&!!window.MSPointerEvent;let i=!t;const r=[],s=[],a=[],c=[],u=[];n?(r.push(\"pointerdown\"),a.push(\"pointerup\",\"pointercancel\"),s.push(\"pointermove\"),u.push(\"touchstart\",\"touchmove\",\"touchend\")):o?(r.push(\"MSPointerDown\"),s.push(\"MSPointerMove\"),a.push(\"MSPointerUp\")):e?(i=!1,r.push(\"touchstart\",\"mousedown\"),s.push(\"touchmove\"),a.push(\"touchend\",\"touchcancel\",\"mouseup\")):(r.push(\"mousedown\"),s.push(\"mousemove\"),a.push(\"mouseup\"),c.push(\"mouseleave\"));return{mobile:t,canLock:i,starters:r,changers:s,enders:a,prevents:u,leavers:c}}(),n.getPointerState=o,n.pointers={bind:n.pointer,getPointerState:o}},{}],37:[function(t,e,n){\"use strict\";function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(n,\"__esModule\",{value:!0}),n.LStorage=void 0;const i=t(\"./mem-storage\");n.LStorage=class{constructor(t,e){o(this,\"backend\",void 0),o(this,\"length\",void 0),o(this,\"prefix\",void 0),this.prefix=e;try{this.backend=t||localStorage,this.testBackend()}catch(t){this.backend=new i.MemStorage}this.length=this.backend.length,\"function\"==typeof this.backend.sync&&(this.sync=t=>{this.backend.sync(t)})}testBackend(){const t=this.prefix+\".test.record\";this.backend.setItem(t,\"123\");const e=this.backend.getItem(t);this.backend.removeItem(t);if(!(\"123\"===e&&null===this.backend.getItem(t)))throw new Error(\"Storage backend is not working properly\")}setLocalStoragePrefix(t){this.prefix=t}clear(){if(!this.backend.length)return;const t=[];for(let e=0;e<this.backend.length;++e){const n=this.backend.key(e);n&&n.startsWith(this.prefix)&&t.push(n)}for(const e of t)this.backend.removeItem(e);this.length=this.backend.length}key(t){return this.backend.key(t)}setItem(t,e){if(!e||void 0===e.length||0===e.length)return void this.writeStringToKey(t,\"\");let n=0;for(;n<e.length;){let o=e.substr(n,1024);n+=o.length,n<e.length&&(o+=\"@\"),this.writeStringToKey(t,o),t+=\".\"}}getItem(t){let e=this.readStringFromKey(t);if(null===e)return null;if(0===e.length)return e;for(;\"@\"===e[e.length-1];){e=e.substr(0,e.length-1),t+=\".\";const n=this.readStringFromKey(t);e+=null===n?\"\":n}return e}removeItem(t){this.backend.removeItem(this.prefix+t),this.length=this.backend.length}writeStringToKey(t,e){this.backend.setItem(this.prefix+t,e),this.length=this.backend.length}readStringFromKey(t){return this.backend.getItem(this.prefix+t)}}},{\"./mem-storage\":35}],38:[function(t,e,n){\"use strict\";function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(n,\"__esModule\",{value:!0}),n.EmulatorsUi=void 0;const i=t(\"./build\"),r=t(\"./dom/layers\"),s=t(\"./dom/lifecycle\"),a=t(\"./network/xhr\"),c=t(\"./graphics/_2d\"),u=t(\"./graphics/webgl\"),l=t(\"./graphics/video\"),d=t(\"./controls/keyboard\"),h=t(\"./controls/mouse/mouse-common\"),p=t(\"./controls/nipple\"),f=t(\"./controls/options\"),v=t(\"./dom/keys\"),g=t(\"./sound/audio-node\"),m=t(\"./notification/notyf\"),y=t(\"./persist/save-load\"),b=t(\"./controls/grid\"),_=t(\"./dom/pointer\"),w=t(\"./dom/storage\"),D=t(\"./js-dos\");class x{constructor(){o(this,\"build\",i.Build),o(this,\"dom\",{layers:r.layers,lifecycle:s.lifecycle,pointers:_.pointers,storage:new w.LStorage(void 0,\"emulators.ui.\")}),o(this,\"network\",{resolveBundle:a.resolveBundle}),o(this,\"graphics\",{webGl:u.webGl,_2d:c._2d,video:l.video}),o(this,\"sound\",{audioNode:g.audioNode}),o(this,\"persist\",{save:y.save,load:y.load}),o(this,\"controls\",{getGrid:b.getGrid,namedKeyCodes:v.namedKeyCodes,domToKeyCodes:v.domToKeyCodes,domToKeyCode:v.domToKeyCode,keyCodesToDom:v.keyCodesToDom,keyboard:d.keyboard,mouse:h.mouse,nipple:p.nipple,options:f.options}),o(this,\"notifications\",{notyf:m.notyf}),o(this,\"dos\",((t,e)=>new D.DosInstance(t,B,e||{})))}}n.EmulatorsUi=x;const B=new x;window.emulatorsUi=B,window.Dos=B.dos},{\"./build\":17,\"./controls/grid\":19,\"./controls/keyboard\":20,\"./controls/mouse/mouse-common\":24,\"./controls/nipple\":28,\"./controls/options\":30,\"./dom/keys\":32,\"./dom/layers\":33,\"./dom/lifecycle\":34,\"./dom/pointer\":36,\"./dom/storage\":37,\"./graphics/_2d\":39,\"./graphics/video\":40,\"./graphics/webgl\":41,\"./js-dos\":42,\"./network/xhr\":43,\"./notification/notyf\":44,\"./persist/save-load\":46,\"./sound/audio-node\":47}],39:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n._2d=void 0,n._2d=function(t,e,n){const o=t.canvas,i=o.getContext(\"2d\");if(null===i)throw new Error(\"Unable to create 2d context on given canvas\");let r=t.width,s=t.height,a=0,c=0;const u=()=>{const t=n??a/c;let e=r,i=r/t;i>s&&(i=s,e=s*t),o.style.position=\"relative\",o.style.top=(s-i)/2+\"px\",o.style.left=(r-e)/2+\"px\",o.style.width=e+\"px\",o.style.height=i+\"px\"},l=(t,e)=>{r=t,s=e,u()};t.addOnResize(l);let d=new Uint8ClampedArray(0);const h=(t,e)=>{a=t,c=e,o.width=a,o.height=c,d=new Uint8ClampedArray(t*e*4),u()};e.events().onFrameSize(h),e.events().onFrame(((t,e)=>{if(null===t&&null===e)return;const n=null!==t?t:e;let o=0,r=0;for(;r<d.length;)d[r++]=n[o++],d[r++]=n[o++],d[r++]=n[o++],d[r++]=255,n.length===d.length&&o++;i.putImageData(new ImageData(d,a,c),0,0)})),h(e.width(),e.height()),e.events().onExit((()=>{t.removeOnResize(l)}))}},{}],40:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.video=void 0,n.video=function(t,e){t.switchToVideo(),e.events().onMessage(((e,n)=>{\"onremotestream\"===e&&window.Janus.attachMediaStream(t.video,n)}))}},{}],41:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.webGl=void 0;function o(t,e,n){const o=t.createShader(e);if(t.shaderSource(o,n),t.compileShader(o),!t.getShaderParameter(o,t.COMPILE_STATUS)){const e=t.getShaderInfoLog(o);throw t.deleteShader(o),new Error(\"An error occurred compiling the shaders: \"+e)}return o}n.webGl=function(t,e,n){const i=t.canvas,r=i.getContext(\"webgl\");if(null===r)throw new Error(\"Unable to create webgl context on given canvas\");const s=function(t,e,n){const i=o(t,t.VERTEX_SHADER,e),r=o(t,t.FRAGMENT_SHADER,n),s=t.createProgram();if(t.attachShader(s,i),t.attachShader(s,r),t.linkProgram(s),!t.getProgramParameter(s,t.LINK_STATUS))throw new Error(\"Unable to initialize the shader program: \"+t.getProgramInfoLog(s));return s}(r,\"\\nattribute vec4 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nvarying highp vec2 vTextureCoord;\\n\\nvoid main(void) {\\n gl_Position = aVertexPosition;\\n vTextureCoord = aTextureCoord;\\n}\\n\",\"\\nvarying highp vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\n\\nvoid main(void) {\\n highp vec4 color = texture2D(uSampler, vTextureCoord);\\n gl_FragColor = vec4(color.r, color.g, color.b, 1.0);\\n}\\n\"),a=r.getAttribLocation(s,\"aVertexPosition\"),c=r.getAttribLocation(s,\"aTextureCoord\"),u=r.getUniformLocation(s,\"uSampler\");!function(t,e,n){const o=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,o);const i=[-1,-1,0,1,-1,0,1,1,0,-1,-1,0,1,1,0,-1,1,0];t.bufferData(t.ARRAY_BUFFER,new Float32Array(i),t.STATIC_DRAW),t.vertexAttribPointer(e,3,t.FLOAT,!1,0,0),t.enableVertexAttribArray(e);const r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r);const s=[0,1,1,1,1,0,0,1,1,0,0,0];t.bufferData(t.ARRAY_BUFFER,new Float32Array(s),t.STATIC_DRAW),t.vertexAttribPointer(n,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(n)}(r,a,c);const l=r.createTexture();r.bindTexture(r.TEXTURE_2D,l),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR);const d=new Uint8Array([0,0,0]);r.texImage2D(r.TEXTURE_2D,0,r.RGB,1,1,0,r.RGB,r.UNSIGNED_BYTE,d),r.useProgram(s),r.activeTexture(r.TEXTURE0),r.uniform1i(u,0);let h=t.width,p=t.height,f=0,v=0;const g=()=>{const t=n??f/v;let e=h,o=h/t;o>p&&(o=p,e=p*t),i.style.position=\"relative\",i.style.top=(p-o)/2+\"px\",i.style.left=(h-e)/2+\"px\",i.style.width=e+\"px\",i.style.height=o+\"px\"},m=(t,e)=>{h=t,p=e,g()};t.addOnResize(m);const y=(t,e)=>{f=t,v=e,i.width=f,i.height=v,r.viewport(0,0,f,v),g()};e.events().onFrameSize(y),y(e.width(),e.height());let b=null,_=null,w=0;e.events().onFrame(((t,e)=>{_=null!=t?t:e,w=null!=t?r.RGB:r.RGBA,null===b&&(b=requestAnimationFrame(D))}));const D=()=>{r.texImage2D(r.TEXTURE_2D,0,w,f,v,0,w,r.UNSIGNED_BYTE,_),r.drawArrays(r.TRIANGLES,0,6),b=null,_=null};e.events().onExit((()=>{t.removeOnResize(m)}))}},{}],42:[function(t,e,n){\"use strict\";function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(n,\"__esModule\",{value:!0}),n.DosInstance=void 0;const i=t(\"./controls/layers-config\"),r=t(\"./controls/legacy-layers-control\"),s=t(\"./controls/null-layers-control\"),a=t(\"./controls/layers-control\"),c=t(\"./dom/pointer\");n.DosInstance=class{constructor(t,e,n){o(this,\"emulatorsUi\",void 0),o(this,\"emulatorFunction\",void 0),o(this,\"createTransportLayer\",void 0),o(this,\"layers\",void 0),o(this,\"layersConfig\",null),o(this,\"ciPromise\",void 0),o(this,\"options\",void 0),o(this,\"mobileControls\",void 0),o(this,\"mirroredControls\",void 0),o(this,\"scaleControls\",void 0),o(this,\"autolock\",void 0),o(this,\"sensitivity\",void 0),o(this,\"storage\",void 0),o(this,\"volume\",void 0),o(this,\"clickToStart\",void 0),o(this,\"unbindControls\",(()=>{})),o(this,\"storedLayersConfig\",null),o(this,\"onMobileControlsChanged\",void 0),o(this,\"onSensitivityChanged\",[]),o(this,\"onScaleChanged\",[]),o(this,\"onVolumeChanged\",[]),o(this,\"setVolumeImplFn\",(()=>{})),o(this,\"registerOnSensitivityChanged\",(t=>{this.onSensitivityChanged.push(t)})),o(this,\"removeOnSensitivityChanged\",(t=>{this.onSensitivityChanged=this.onSensitivityChanged.filter((e=>e!==t))})),o(this,\"registerOnScaleChanged\",(t=>{this.onScaleChanged.push(t)})),o(this,\"removeOnScaleChanged\",(t=>{this.onScaleChanged=this.onScaleChanged.filter((e=>e!==t))})),o(this,\"registerOnVolumeChanged\",(t=>{this.onVolumeChanged.push(t)})),o(this,\"removeOnVolumeChanged\",(t=>{this.onVolumeChanged=this.onVolumeChanged.filter((e=>e!==t))})),this.options=n,this.emulatorsUi=e,this.storage=e.dom.storage,this.emulatorFunction=n.emulatorFunction||\"dosboxWorker\",this.clickToStart=n.clickToStart||!1,this.layers=this.emulatorsUi.dom.layers(t,n.layersOptions),this.layers.showLoadingLayer(),this.createTransportLayer=n.createTransportLayer,this.mobileControls=c.pointers.bind.mobile,this.autolock=!1,this.mirroredControls=!0===this.options.mirroredControls||\"true\"===this.storage.getItem(\"mirroredControls\");const i=this.options.scaleControls??Number.parseFloat(this.storage.getItem(\"scaleControls\")??\"1.0\");this.scaleControls=Number.isNaN(i)?1:i;const r=this.options.sensitivityValue??Number.parseFloat(this.storage.getItem(\"sensitivity\")??\"1.0\");this.sensitivity=Number.isNaN(r)?1:r;const s=Number.parseFloat(this.storage.getItem(\"volume\")??\"1.0\");if(this.volume=Number.isNaN(s)?1:s,this.onMobileControlsChanged=()=>{},\"backend\"===this.emulatorFunction&&void 0===this.createTransportLayer)throw new Error(\"Emulator function set to 'backend' but 'createTransportLayer' is not a function\")}async run(t,e,n){var o,r,s;await this.stop(),this.layers.setLoadingMessage(\"Starting...\");const a=null!=n&&n.length>0?n:t+\".changes\";let c;try{c=await this.runBundle(t,e,a)}catch(t){throw this.layers.setLoadingMessage(\"Unexpected error occured...\"),this.layers.notyf.error({message:\"Can't start emulator look browser logs for more info\"}),console.error(t),t}const u=this.emulatorsUi;if(\"janus\"===this.emulatorFunction)u.graphics.video(this.layers,c);else{u.persist.save(a,this.layers,c,emulators);try{if(!0===this.options.noWebGL)throw new Error(\"WebGL is disabled by options\");u.graphics.webGl(this.layers,c,this.options.aspect)}catch(t){console.error(\"Unable to create webgl canvas, fallback to 2d rendering\"),u.graphics._2d(this.layers,c,this.options.aspect)}this.setVolumeImplFn=u.sound.audioNode(c),this.setVolumeImplFn(this.volume)}u.dom.lifecycle(c);const l=await c.config();return this.autolock=!0===(null===(o=l.output)||void 0===o||null===(r=o.options)||void 0===r||null===(s=r.autolock)||void 0===s?void 0:s.value),await this.setLayersConfig((0,i.extractLayersConfig)(l)),this.mobileControls||(this.mobileControls=!0,this.disableMobileControls()),this.layers.setLoadingMessage(\"Ready\"),this.layers.hideLoadingLayer(),this.clickToStart&&this.layers.showClickToStart(),c}async stop(){if(this.layers.showLoadingLayer(),void 0===this.ciPromise)return;const t=await this.ciPromise;delete this.ciPromise,await t.exit()}async setLayersConfig(t,e){if(void 0===this.ciPromise)return;const n=await this.ciPromise;this.layersConfig=t,this.unbindControls(),null===t?this.unbindControls=(0,s.initNullLayersControl)(this,this.layers,n):void 0===t.version?this.unbindControls=(0,r.initLegacyLayersControl)(this,this.layers,t,n):this.unbindControls=(0,a.initLayersControl)(this.layers,t,n,this,this.mirroredControls,this.scaleControls,e)}getLayersConfig(){return this.layersConfig}async enableMobileControls(){this.mobileControls||(this.mobileControls=!0,await this.setLayersConfig(this.storedLayersConfig),this.storedLayersConfig=null,this.onMobileControlsChanged(!0))}async disableMobileControls(){this.mobileControls&&(this.mobileControls=!1,this.storedLayersConfig=this.layersConfig,await this.setLayersConfig(null),this.onMobileControlsChanged(!1))}async setMirroredControls(t){this.mirroredControls!==t&&(this.mirroredControls=t,this.storage.setItem(\"mirroredControls\",t+\"\"),t?this.mobileControls?await this.setLayersConfig(this.layersConfig):await this.enableMobileControls():this.mobileControls&&await this.setLayersConfig(this.layersConfig))}async setScaleControls(t){if(t!==this.scaleControls){this.scaleControls=t,this.storage.setItem(\"scaleControls\",t+\"\"),this.mobileControls&&await this.setLayersConfig(this.layersConfig);for(const t of this.onScaleChanged)t(this.scaleControls)}}async setSensitivity(t){if(t!==this.sensitivity){this.sensitivity=t,this.storage.setItem(\"sensitivity\",t+\"\"),await this.setLayersConfig(this.layersConfig);for(const t of this.onSensitivityChanged)t(this.sensitivity)}}async setVolume(t){this.volume=t,this.storage.setItem(\"volume\",t+\"\"),this.setVolumeImplFn(t);for(const t of this.onVolumeChanged)t(this.volume)}async setAutolock(t){t!==this.autolock&&(this.autolock=t,await this.setLayersConfig(this.layersConfig))}setOnMobileControlsChanged(t){this.onMobileControlsChanged=t}async runBundle(t,e,n){const o=this.emulatorsUi;if(\"janus\"===this.emulatorFunction)this.layers.setLoadingMessage(\"Connecting...\"),this.ciPromise=emulators.janus(t);else{this.layers.setLoadingMessage(\"Downloading bundle ...\");const i=o.network.resolveBundle(t,{onprogress:t=>this.layers.setLoadingMessage(\"Downloading bundle \"+t+\"%\")}),r={onExtractProgress:(t,e,n,o)=>{if(0!==t)return;const i=Math.round(n/o*100),r=e.lastIndexOf(\"/\"),s=e.substring(r+1);this.layers.setLoadingMessage(\"Extracting \"+i+\"% (\"+s+\")\")}};try{let t;t=null!=e&&e.length>0?await o.network.resolveBundle(e,{httpCache:!1}):await o.persist.load(n,emulators);const s=await i;\"backend\"===this.emulatorFunction?this.ciPromise=emulators.backend([s,t],this.createTransportLayer(),r):this.ciPromise=emulators[this.emulatorFunction]([s,t],r)}catch{const t=await i;\"backend\"===this.emulatorFunction?this.ciPromise=emulators.backend([t],this.createTransportLayer(),r):this.ciPromise=emulators[this.emulatorFunction]([t],r)}}return this.ciPromise}}},{\"./controls/layers-config\":21,\"./controls/layers-control\":22,\"./controls/legacy-layers-control\":23,\"./controls/null-layers-control\":29,\"./dom/pointer\":36}],43:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.resolveBundle=void 0,n.resolveBundle=async function(t,e){const n=null==e?void 0:e.onprogress,o=!(!1===(null==e?void 0:e.httpCache));return new Promise(((e,i)=>{const r=new XMLHttpRequest;r.open(\"GET\",t,!0),r.overrideMimeType(\"text/plain; charset=x-user-defined\"),r.addEventListener(\"error\",(()=>{i(new Error(\"Network error, can't download \"+t))})),r.addEventListener(\"abort\",(()=>{i(new Error(\"Request canceled for url \"+t))}),!1),r.responseType=\"arraybuffer\",r.onreadystatechange=()=>{4===r.readyState&&(200===r.status?(void 0!==n&&n(100),e(new Uint8Array(r.response))):i(new Error(\"Network error, can't download \"+t)))},void 0!==n&&(r.onprogress=t=>{if(t.total&&t.total>0){const e=Math.round(1e4*t.loaded/t.total)/100;n(e)}}),!1===o&&(r.setRequestHeader(\"Cache-Control\",\"no-cache, no-store, max-age=0\"),r.setRequestHeader(\"Expires\",\"Tue, 01 Jan 1980 1:00:00 GMT\"),r.setRequestHeader(\"Pragma\",\"no-cache\")),r.send()}))}},{}],44:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.notyf=void 0,n.notyf=function(t,e){const n=t.notyf;e.events().onMessage((function(t){if(\"error\"===t){for(var e=arguments.length,o=new Array(e>1?e-1:0),i=1;i<e;i++)o[i-1]=arguments[i];n.error({message:JSON.stringify(o)})}}))}},{}],45:[function(t,e,n){\"use strict\";function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(n,\"__esModule\",{value:!0}),n.makeCache=void 0;class i{close(){}put(t,e){return Promise.resolve()}get(t,e){return void 0!==e?Promise.resolve(e):Promise.reject(new Error(\"Cache is not supported on this host\"))}forEach(t,e){e()}}n.makeCache=function(t,e){return new Promise((n=>{new r(t,n,(t=>{e.onErr(t),n(new i)}))}))};class r{constructor(t,e,n){if(o(this,\"version\",void 0),o(this,\"storeName\",\"files\"),o(this,\"indexedDB\",void 0),o(this,\"db\",null),this.version=t,this.indexedDB=\"undefined\"==typeof window?void 0:window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,this.indexedDB)try{const o=this.indexedDB.open(\"js-dos-cache (\"+t+\")\",1);o.onerror=t=>{var e;n(\"Can't open cache database: \"+(null===(e=o.error)||void 0===e?void 0:e.message))},o.onsuccess=t=>{this.db=o.result,e(this)},o.onupgradeneeded=t=>{try{this.db=o.result,this.db.onerror=t=>{n(\"Can't upgrade cache database\")},this.db.createObjectStore(this.storeName)}catch(t){n(\"Can't upgrade cache database\")}}}catch(t){n(\"Can't open cache database: \"+t.message)}else n(\"Indexed db is not supported on this host\")}close(){null!==this.db&&(this.db.close(),this.db=null)}put(t,e){return new Promise((n=>{if(null===this.db)return void n();const o=this.db.transaction(this.storeName,\"readwrite\");o.oncomplete=()=>n(),o.objectStore(this.storeName).put(e,t)}))}get(t,e){return new Promise(((n,o)=>{function i(t){void 0===e?o(new Error(t)):n(e)}if(null===this.db)return void i(\"db is not initalized\");const r=this.db.transaction(this.storeName,\"readonly\").objectStore(this.storeName).get(t);r.onerror=()=>o(new Error(\"Can't read value for key '\"+t+\"'\")),r.onsuccess=()=>{r.result?n(r.result):i(\"Result is empty for key '\"+t+\"', result: \"+r.result)}}))}forEach(t,e){if(null===this.db)return void e();const n=this.db.transaction(this.storeName,\"readonly\").objectStore(this.storeName).openCursor();n.onerror=()=>e(),n.onsuccess=n=>{const o=n.target.result;o?(t(o.key.toString(),o.value),o.continue()):e()}}}},{}],46:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.load=n.save=void 0;const o=(0,t(\"./cache\").makeCache)(\"emulators-ui-saves\",{onErr:console.error});n.save=function(t,e,n,i){e.setOnSave((async()=>{const e=await o,i=await n.persist();return e.put(t,i.buffer)}))},n.load=async function(t,e){return(await o).get(t).then((t=>new Uint8Array(t)))}},{\"./cache\":45}],47:[function(t,e,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.audioNode=void 0;class o{constructor(){var t,e,n;n=[],(e=\"samplesQueue\")in(t=this)?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}push(t){this.samplesQueue.push(t)}length(){let t=0;for(const e of this.samplesQueue)t+=e.length;return t}writeTo(t,e){let n=0;for(;this.samplesQueue.length>0;){const o=this.samplesQueue[0],i=Math.min(e-n,o.length);if(i===o.length?(t.set(o,n),this.samplesQueue.shift()):(t.set(o.slice(0,i),n),this.samplesQueue[0]=o.slice(i)),n+=i,n===e)break}n<e&&t.fill(0,n)}}n.audioNode=function(t){const e=t.soundFrequency();if(0===e)return console.warn(\"Can't create audio node with sampleRate === 0, ingnoring\"),()=>{};let n=null;if(\"undefined\"!=typeof AudioContext?n=new AudioContext({sampleRate:e,latencyHint:\"interactive\"}):void 0!==window.webkitAudioContext&&(n=new window.webkitAudioContext({sampleRate:e,latencyHint:\"interactive\"})),null==n)return()=>{};const i=new o;t.events().onSoundPush((t=>{i.length()<6144&&i.push(t)}));const r=n.createScriptProcessor(2048,0,1);let s=!1,a=0;const c=t.directSound;r.onaudioprocess=void 0!==t.directSound?t=>{if(!s){const t=c.buffer[0];s=Math.ceil(t[t.length-1])>0}if(!s)return;let e=0,n=t.outputBuffer.length;const o=t.outputBuffer.numberOfChannels;let i,r=c.buffer[a];for(;n>0&&(i=Math.ceil(r[r.length-1]))>0;)if(n>=i){const s=r.subarray(0,i);for(let n=0;n<o;++n){t.outputBuffer.getChannelData(n).set(s,e)}e+=i,n-=i,r[r.length-1]=0,a=(a+1)%c.ringSize,r=c.buffer[a]}else{const s=r.subarray(0,n);for(let n=0;n<o;++n){t.outputBuffer.getChannelData(n).set(s,e)}r[r.length-1]=i-n,r.set(r.subarray(n,n+r[r.length-1])),n=0}}:t=>{const e=t.outputBuffer.length,n=t.outputBuffer.numberOfChannels,o=i.length();if(s||(s=o>=2048),s)for(let o=0;o<n;o++){const n=t.outputBuffer.getChannelData(o);i.writeTo(n,e)}};const u=n.createGain();u.connect(n.destination),r.connect(u),u.gain.value=1;const l=()=>{null!==n&&\"suspended\"===n.state&&n.resume()};return document.addEventListener(\"click\",l,{once:!0}),document.addEventListener(\"touchstart\",l,{once:!0}),document.addEventListener(\"keydown\",l,{once:!0}),t.events().onExit((()=>{null!==n&&(r.disconnect(),u.disconnect(),n.close()),document.removeEventListener(\"click\",l),document.removeEventListener(\"touchstart\",l),document.removeEventListener(\"keydown\",l)})),t=>{u.gain.value=t}}},{}]},{},[38]);\n\n","\"use strict\";\n\nvar utils = module.exports = {};\n\nutils.getOption = getOption;\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","\"use strict\";\n\nvar detector = module.exports = {};\n\ndetector.isIE = function(version) {\n function isAnyIeVersion() {\n var agent = navigator.userAgent.toLowerCase();\n return agent.indexOf(\"msie\") !== -1 || agent.indexOf(\"trident\") !== -1 || agent.indexOf(\" edge/\") !== -1;\n }\n\n if(!isAnyIeVersion()) {\n return false;\n }\n\n if(!version) {\n return true;\n }\n\n //Shamelessly stolen from https://gist.github.com/padolsey/527683\n var ieVersion = (function(){\n var undef,\n v = 3,\n div = document.createElement(\"div\"),\n all = div.getElementsByTagName(\"i\");\n\n do {\n div.innerHTML = \"<!--[if gt IE \" + (++v) + \"]><i></i><![endif]-->\";\n }\n while (all[0]);\n\n return v > 4 ? v : undef;\n }());\n\n return version === ieVersion;\n};\n\ndetector.isLegacyOpera = function() {\n return !!window.opera;\n};\n","\"use strict\";\n\nvar utils = module.exports = {};\n\n/**\n * Loops through the collection and calls the callback for each element. if the callback returns truthy, the loop is broken and returns the same value.\n * @public\n * @param {*} collection The collection to loop through. Needs to have a length property set and have indices set from 0 to length - 1.\n * @param {function} callback The callback to be called for each element. The element will be given as a parameter to the callback. If this callback returns truthy, the loop is broken and the same value is returned.\n * @returns {*} The value that a callback has returned (if truthy). Otherwise nothing.\n */\nutils.forEach = function(collection, callback) {\n for(var i = 0; i < collection.length; i++) {\n var result = callback(collection[i]);\n if(result) {\n return result;\n }\n }\n};\n","/**\n * Resize detection strategy that injects objects to elements in order to detect resize events.\n * Heavily inspired by: http://www.backalleycoder.com/2013/03/18/cross-browser-event-based-element-resize-detection/\n */\n\n\"use strict\";\n\nvar browserDetector = require(\"../browser-detector\");\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n\n if(!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n function listenerProxy() {\n listener(element);\n }\n\n if(browserDetector.isIE(8)) {\n //IE 8 does not support object, but supports the resize event directly on elements.\n getState(element).object = {\n proxy: listenerProxy\n };\n element.attachEvent(\"onresize\", listenerProxy);\n } else {\n var object = getObject(element);\n\n if(!object) {\n throw new Error(\"Element is not detectable by this strategy.\");\n }\n\n object.contentDocument.defaultView.addEventListener(\"resize\", listenerProxy);\n }\n }\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n var debug = options.debug;\n\n function injectObject(element, callback) {\n var OBJECT_STYLE = buildCssTextString([\"display: block\", \"position: absolute\", \"top: 0\", \"left: 0\", \"width: 100%\", \"height: 100%\", \"border: none\", \"padding: 0\", \"margin: 0\", \"opacity: 0\", \"z-index: -1000\", \"pointer-events: none\"]);\n\n //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element.\n\n // Position altering may be performed directly or on object load, depending on if style resolution is possible directly or not.\n var positionCheckPerformed = false;\n\n // The element may not yet be attached to the DOM, and therefore the style object may be empty in some browsers.\n // Since the style object is a reference, it will be updated as soon as the element is attached to the DOM.\n var style = window.getComputedStyle(element);\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n getState(element).startSize = {\n width: width,\n height: height\n };\n\n function mutateDom() {\n function alterPositionStyles() {\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\", options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style.setProperty(property, \"0\", options.important ? \"important\" : \"\");\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function onObjectLoad() {\n // The object has been loaded, which means that the element now is guaranteed to be attached to the DOM.\n if (!positionCheckPerformed) {\n alterPositionStyles();\n }\n\n /*jshint validthis: true */\n\n function getDocument(element, callback) {\n //Opera 12 seem to call the object.onload before the actual document has been created.\n //So if it is not present, poll it with an timeout until it is present.\n //TODO: Could maybe be handled better with object.onreadystatechange or similar.\n if(!element.contentDocument) {\n var state = getState(element);\n if (state.checkForObjectDocumentTimeoutId) {\n window.clearTimeout(state.checkForObjectDocumentTimeoutId);\n }\n state.checkForObjectDocumentTimeoutId = setTimeout(function checkForObjectDocument() {\n state.checkForObjectDocumentTimeoutId = 0;\n getDocument(element, callback);\n }, 100);\n\n return;\n }\n\n callback(element.contentDocument);\n }\n\n //Mutating the object element here seems to fire another load event.\n //Mutating the inner document of the object element is fine though.\n var objectElement = this;\n\n //Create the style element to be added to the object.\n getDocument(objectElement, function onObjectDocumentReady(objectDocument) {\n //Notify that the element is ready to be listened to.\n callback(element);\n });\n }\n\n // The element may be detached from the DOM, and some browsers does not support style resolving of detached elements.\n // The alterPositionStyles needs to be delayed until we know the element has been attached to the DOM (which we are sure of when the onObjectLoad has been fired), if style resolution is not possible.\n if (style.position !== \"\") {\n alterPositionStyles(style);\n positionCheckPerformed = true;\n }\n\n //Add an object element as a child to the target element that will be listened to for resize events.\n var object = document.createElement(\"object\");\n object.style.cssText = OBJECT_STYLE;\n object.tabIndex = -1;\n object.type = \"text/html\";\n object.setAttribute(\"aria-hidden\", \"true\");\n object.onload = onObjectLoad;\n\n //Safari: This must occur before adding the object to the DOM.\n //IE: Does not like that this happens before, even if it is also added after.\n if(!browserDetector.isIE()) {\n object.data = \"about:blank\";\n }\n\n if (!getState(element)) {\n // The element has been uninstalled before the actual loading happened.\n return;\n }\n\n element.appendChild(object);\n getState(element).object = object;\n\n //IE: This must occur after adding the object to the DOM.\n if(browserDetector.isIE()) {\n object.data = \"about:blank\";\n }\n }\n\n if(batchProcessor) {\n batchProcessor.add(mutateDom);\n } else {\n mutateDom();\n }\n }\n\n if(browserDetector.isIE(8)) {\n //IE 8 does not support objects properly. Luckily they do support the resize event.\n //So do not inject the object and notify that the element is already ready to be listened to.\n //The event handler for the resize event is attached in the utils.addListener instead.\n callback(element);\n } else {\n injectObject(element, callback);\n }\n }\n\n /**\n * Returns the child object of the target element.\n * @private\n * @param {element} element The target element.\n * @returns The object element of the target.\n */\n function getObject(element) {\n return getState(element).object;\n }\n\n function uninstall(element) {\n if (!getState(element)) {\n return;\n }\n\n var object = getObject(element);\n\n if (!object) {\n return;\n }\n\n if (browserDetector.isIE(8)) {\n element.detachEvent(\"onresize\", object.proxy);\n } else {\n element.removeChild(object);\n }\n\n if (getState(element).checkForObjectDocumentTimeoutId) {\n window.clearTimeout(getState(element).checkForObjectDocumentTimeoutId);\n }\n\n delete getState(element).object;\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n\n function initDocument(targetDocument) {\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n injectScrollStyle(targetDocument, styleId, detectionContainerClass);\n }\n\n initDocument(window.document);\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width*2 + \"px\", \"height: \" + height*2 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n var container = document.createElement(\"div\");\n container.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width + \"px\", \"height: \" + height + \"px\", \"overflow: scroll\", \"visibility: none\", \"top: \" + -width*3 + \"px\", \"left: \" + -height*3 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(targetDocument, styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n targetDocument.head.appendChild(element);\n };\n\n var styleElement = targetDocument.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!targetDocument.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { \" + buildCssTextString([\"display: none\"]) + \" }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { \" + buildCssTextString([\"-webkit-animation-duration: 0.1s\", \"animation-duration: 0.1s\", \"-webkit-animation-name: \" + containerAnimationClass, \"animation-name: \" + containerAnimationClass]) + \" }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n var isInShadowRoot = element.getRootNode && element.getRootNode().contains(element);\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element) || isInShadowRoot;\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = buildCssTextString([\"visibility: hidden\", \"display: inline\", \"width: 0px\", \"height: 0px\", \"z-index: -1\", \"overflow: hidden\", \"margin: 0\", \"padding: 0\"]);\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\",options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return [\"left: \" + left, \"top: \" + top, \"right: \" + right, \"bottom: \" + bottom];\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\", \"left: 0px\", \"top: 0px\"]);\n var containerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth)));\n var expandStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var shrinkStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var expandChildStyle = buildCssTextString([\"position: absolute\", \"left: 0\", \"top: 0\"]);\n var shrinkChildStyle = buildCssTextString([\"position: absolute\", \"width: 200%\", \"height: 200%\"]);\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n var state = getState(element);\n if (state && state.onExpand) {\n state.onExpand();\n } else {\n debug(\"Aborting expand scroll handler: element has been uninstalled\");\n }\n }\n\n function onShrinkScroll() {\n var state = getState(element);\n if (state && state.onShrink) {\n state.onShrink();\n } else {\n debug(\"Aborting shrink scroll handler: element has been uninstalled\");\n }\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.setProperty(\"width\", expandWidth + \"px\", options.important ? \"important\" : \"\");\n expandChild.style.setProperty(\"height\", expandHeight + \"px\", options.important ? \"important\" : \"\");\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped.\n var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!sizeChanged) {\n return;\n }\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then\n // been restored to the original size, which will have changed the scrollbar positions.\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (sizeChanged && done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n updateDetectorElements(notifyListenersIfNeeded);\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var importantCssRules = getOption(options, \"important\", false);\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler,\n important: importantCssRules\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n function initDocument(targetDocument) {\n detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument);\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","\"use strict\";\n\nmodule.exports = function(options) {\n var getState = options.stateHandler.getState;\n\n /**\n * Tells if the element has been made detectable and ready to be listened for resize events.\n * @public\n * @param {element} The element to check.\n * @returns {boolean} True or false depending on if the element is detectable or not.\n */\n function isDetectable(element) {\n var state = getState(element);\n return state && !!state.isDetectable;\n }\n\n /**\n * Marks the element that it has been made detectable and ready to be listened for resize events.\n * @public\n * @param {element} The element to mark.\n */\n function markAsDetectable(element) {\n getState(element).isDetectable = true;\n }\n\n /**\n * Tells if the element is busy or not.\n * @public\n * @param {element} The element to check.\n * @returns {boolean} True or false depending on if the element is busy or not.\n */\n function isBusy(element) {\n return !!getState(element).busy;\n }\n\n /**\n * Marks the object is busy and should not be made detectable.\n * @public\n * @param {element} element The element to mark.\n * @param {boolean} busy If the element is busy or not.\n */\n function markBusy(element, busy) {\n getState(element).busy = !!busy;\n }\n\n return {\n isDetectable: isDetectable,\n markAsDetectable: markAsDetectable,\n isBusy: isBusy,\n markBusy: markBusy\n };\n};\n","\"use strict\";\n\nmodule.exports = function() {\n var idCount = 1;\n\n /**\n * Generates a new unique id in the context.\n * @public\n * @returns {number} A unique id in the context.\n */\n function generate() {\n return idCount++;\n }\n\n return {\n generate: generate\n };\n};\n","\"use strict\";\n\nmodule.exports = function(options) {\n var idGenerator = options.idGenerator;\n var getState = options.stateHandler.getState;\n\n /**\n * Gets the resize detector id of the element.\n * @public\n * @param {element} element The target element to get the id of.\n * @returns {string|number|null} The id of the element. Null if it has no id.\n */\n function getId(element) {\n var state = getState(element);\n\n if (state && state.id !== undefined) {\n return state.id;\n }\n\n return null;\n }\n\n /**\n * Sets the resize detector id of the element. Requires the element to have a resize detector state initialized.\n * @public\n * @param {element} element The target element to set the id of.\n * @returns {string|number|null} The id of the element.\n */\n function setId(element) {\n var state = getState(element);\n\n if (!state) {\n throw new Error(\"setId required the element to have a resize detection state.\");\n }\n\n var id = idGenerator.generate();\n\n state.id = id;\n\n return id;\n }\n\n return {\n get: getId,\n set: setId\n };\n};\n","\"use strict\";\n\nmodule.exports = function(idHandler) {\n var eventListeners = {};\n\n /**\n * Gets all listeners for the given element.\n * @public\n * @param {element} element The element to get all listeners for.\n * @returns All listeners for the given element.\n */\n function getListeners(element) {\n var id = idHandler.get(element);\n\n if (id === undefined) {\n return [];\n }\n\n return eventListeners[id] || [];\n }\n\n /**\n * Stores the given listener for the given element. Will not actually add the listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The callback that the element has added.\n */\n function addListener(element, listener) {\n var id = idHandler.get(element);\n\n if(!eventListeners[id]) {\n eventListeners[id] = [];\n }\n\n eventListeners[id].push(listener);\n }\n\n function removeListener(element, listener) {\n var listeners = getListeners(element);\n for (var i = 0, len = listeners.length; i < len; ++i) {\n if (listeners[i] === listener) {\n listeners.splice(i, 1);\n break;\n }\n }\n }\n\n function removeAllListeners(element) {\n var listeners = getListeners(element);\n if (!listeners) { return; }\n listeners.length = 0;\n }\n\n return {\n get: getListeners,\n add: addListener,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners\n };\n};\n","\"use strict\";\n\n/* global console: false */\n\n/**\n * Reporter that handles the reporting of logs, warnings and errors.\n * @public\n * @param {boolean} quiet Tells if the reporter should be quiet or not.\n */\nmodule.exports = function(quiet) {\n function noop() {\n //Does nothing.\n }\n\n var reporter = {\n log: noop,\n warn: noop,\n error: noop\n };\n\n if(!quiet && window.console) {\n var attachFunction = function(reporter, name) {\n //The proxy is needed to be able to call the method with the console context,\n //since we cannot use bind.\n reporter[name] = function reporterProxy() {\n var f = console[name];\n if (f.apply) { //IE9 does not support console.log.apply :)\n f.apply(console, arguments);\n } else {\n for (var i = 0; i < arguments.length; i++) {\n f(arguments[i]);\n }\n }\n };\n };\n\n attachFunction(reporter, \"log\");\n attachFunction(reporter, \"warn\");\n attachFunction(reporter, \"error\");\n }\n\n return reporter;\n};","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","!function(t,i){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(\"nipplejs\",[],i):\"object\"==typeof exports?exports.nipplejs=i():t.nipplejs=i()}(window,function(){return function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}return e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&i&&\"string\"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,\"a\",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p=\"\",e(e.s=0)}([function(t,i,e){\"use strict\";e.r(i);var o,n=function(t,i){var e=i.x-t.x,o=i.y-t.y;return Math.sqrt(e*e+o*o)},s=function(t){return t*(Math.PI/180)},r=function(t){return t*(180/Math.PI)},d=new Map,a=function(t){d.has(t)&&clearTimeout(d.get(t)),d.set(t,setTimeout(t,100))},p=function(t,i,e){for(var o,n=i.split(/[ ,]+/g),s=0;s<n.length;s+=1)o=n[s],t.addEventListener?t.addEventListener(o,e,!1):t.attachEvent&&t.attachEvent(o,e)},c=function(t,i,e){for(var o,n=i.split(/[ ,]+/g),s=0;s<n.length;s+=1)o=n[s],t.removeEventListener?t.removeEventListener(o,e):t.detachEvent&&t.detachEvent(o,e)},l=function(t){return t.preventDefault(),t.type.match(/^touch/)?t.changedTouches:t},h=function(){return{x:void 0!==window.pageXOffset?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop}},u=function(t,i){i.top||i.right||i.bottom||i.left?(t.style.top=i.top,t.style.right=i.right,t.style.bottom=i.bottom,t.style.left=i.left):(t.style.left=i.x+\"px\",t.style.top=i.y+\"px\")},f=function(t,i,e){var o=y(t);for(var n in o)if(o.hasOwnProperty(n))if(\"string\"==typeof i)o[n]=i+\" \"+e;else{for(var s=\"\",r=0,d=i.length;r<d;r+=1)s+=i[r]+\" \"+e+\", \";o[n]=s.slice(0,-2)}return o},y=function(t){var i={};i[t]=\"\";return[\"webkit\",\"Moz\",\"o\"].forEach(function(e){i[e+t.charAt(0).toUpperCase()+t.slice(1)]=\"\"}),i},m=function(t,i){for(var e in i)i.hasOwnProperty(e)&&(t[e]=i[e]);return t},v=function(t,i){if(t.length)for(var e=0,o=t.length;e<o;e+=1)i(t[e]);else i(t)},g=!!(\"ontouchstart\"in window),b=!!window.PointerEvent,x=!!window.MSPointerEvent,O={start:\"mousedown\",move:\"mousemove\",end:\"mouseup\"},w={};function _(){}b?o={start:\"pointerdown\",move:\"pointermove\",end:\"pointerup, pointercancel\"}:x?o={start:\"MSPointerDown\",move:\"MSPointerMove\",end:\"MSPointerUp\"}:g?(o={start:\"touchstart\",move:\"touchmove\",end:\"touchend, touchcancel\"},w=O):o=O,_.prototype.on=function(t,i){var e,o=t.split(/[ ,]+/g);this._handlers_=this._handlers_||{};for(var n=0;n<o.length;n+=1)e=o[n],this._handlers_[e]=this._handlers_[e]||[],this._handlers_[e].push(i);return this},_.prototype.off=function(t,i){return this._handlers_=this._handlers_||{},void 0===t?this._handlers_={}:void 0===i?this._handlers_[t]=null:this._handlers_[t]&&this._handlers_[t].indexOf(i)>=0&&this._handlers_[t].splice(this._handlers_[t].indexOf(i),1),this},_.prototype.trigger=function(t,i){var e,o=this,n=t.split(/[ ,]+/g);o._handlers_=o._handlers_||{};for(var s=0;s<n.length;s+=1)e=n[s],o._handlers_[e]&&o._handlers_[e].length&&o._handlers_[e].forEach(function(t){t.call(o,{type:e,target:o},i)})},_.prototype.config=function(t){this.options=this.defaults||{},t&&(this.options=function(t,i){var e={};for(var o in t)t.hasOwnProperty(o)&&i.hasOwnProperty(o)?e[o]=i[o]:t.hasOwnProperty(o)&&(e[o]=t[o]);return e}(this.options,t))},_.prototype.bindEvt=function(t,i){var e=this;return e._domHandlers_=e._domHandlers_||{},e._domHandlers_[i]=function(){\"function\"==typeof e[\"on\"+i]?e[\"on\"+i].apply(e,arguments):console.warn('[WARNING] : Missing \"on'+i+'\" handler.')},p(t,o[i],e._domHandlers_[i]),w[i]&&p(t,w[i],e._domHandlers_[i]),e},_.prototype.unbindEvt=function(t,i){return this._domHandlers_=this._domHandlers_||{},c(t,o[i],this._domHandlers_[i]),w[i]&&c(t,w[i],this._domHandlers_[i]),delete this._domHandlers_[i],this};var T=_;function k(t,i){return this.identifier=i.identifier,this.position=i.position,this.frontPosition=i.frontPosition,this.collection=t,this.defaults={size:100,threshold:.1,color:\"white\",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:.5,mode:\"dynamic\",zone:document.body,lockX:!1,lockY:!1,shape:\"circle\"},this.config(i),\"dynamic\"===this.options.mode&&(this.options.restOpacity=0),this.id=k.id,k.id+=1,this.buildEl().stylize(),this.instance={el:this.ui.el,on:this.on.bind(this),off:this.off.bind(this),show:this.show.bind(this),hide:this.hide.bind(this),add:this.addToDom.bind(this),remove:this.removeFromDom.bind(this),destroy:this.destroy.bind(this),setPosition:this.setPosition.bind(this),resetDirection:this.resetDirection.bind(this),computeDirection:this.computeDirection.bind(this),trigger:this.trigger.bind(this),position:this.position,frontPosition:this.frontPosition,ui:this.ui,identifier:this.identifier,id:this.id,options:this.options},this.instance}k.prototype=new T,k.constructor=k,k.id=0,k.prototype.buildEl=function(t){return this.ui={},this.options.dataOnly?this:(this.ui.el=document.createElement(\"div\"),this.ui.back=document.createElement(\"div\"),this.ui.front=document.createElement(\"div\"),this.ui.el.className=\"nipple collection_\"+this.collection.id,this.ui.back.className=\"back\",this.ui.front.className=\"front\",this.ui.el.setAttribute(\"id\",\"nipple_\"+this.collection.id+\"_\"+this.id),this.ui.el.appendChild(this.ui.back),this.ui.el.appendChild(this.ui.front),this)},k.prototype.stylize=function(){if(this.options.dataOnly)return this;var t=this.options.fadeTime+\"ms\",i=function(t,i){var e=y(t);for(var o in e)e.hasOwnProperty(o)&&(e[o]=i);return e}(\"borderRadius\",\"50%\"),e=f(\"transition\",\"opacity\",t),o={};return o.el={position:\"absolute\",opacity:this.options.restOpacity,display:\"block\",zIndex:999},o.back={position:\"absolute\",display:\"block\",width:this.options.size+\"px\",height:this.options.size+\"px\",marginLeft:-this.options.size/2+\"px\",marginTop:-this.options.size/2+\"px\",background:this.options.color,opacity:\".5\"},o.front={width:this.options.size/2+\"px\",height:this.options.size/2+\"px\",position:\"absolute\",display:\"block\",marginLeft:-this.options.size/4+\"px\",marginTop:-this.options.size/4+\"px\",background:this.options.color,opacity:\".5\"},m(o.el,e),\"circle\"===this.options.shape&&m(o.back,i),m(o.front,i),this.applyStyles(o),this},k.prototype.applyStyles=function(t){for(var i in this.ui)if(this.ui.hasOwnProperty(i))for(var e in t[i])this.ui[i].style[e]=t[i][e];return this},k.prototype.addToDom=function(){return this.options.dataOnly||document.body.contains(this.ui.el)?this:(this.options.zone.appendChild(this.ui.el),this)},k.prototype.removeFromDom=function(){return this.options.dataOnly||!document.body.contains(this.ui.el)?this:(this.options.zone.removeChild(this.ui.el),this)},k.prototype.destroy=function(){clearTimeout(this.removeTimeout),clearTimeout(this.showTimeout),clearTimeout(this.restTimeout),this.trigger(\"destroyed\",this.instance),this.removeFromDom(),this.off()},k.prototype.show=function(t){var i=this;return i.options.dataOnly?i:(clearTimeout(i.removeTimeout),clearTimeout(i.showTimeout),clearTimeout(i.restTimeout),i.addToDom(),i.restCallback(),setTimeout(function(){i.ui.el.style.opacity=1},0),i.showTimeout=setTimeout(function(){i.trigger(\"shown\",i.instance),\"function\"==typeof t&&t.call(this)},i.options.fadeTime),i)},k.prototype.hide=function(t){var i=this;if(i.options.dataOnly)return i;if(i.ui.el.style.opacity=i.options.restOpacity,clearTimeout(i.removeTimeout),clearTimeout(i.showTimeout),clearTimeout(i.restTimeout),i.removeTimeout=setTimeout(function(){var e=\"dynamic\"===i.options.mode?\"none\":\"block\";i.ui.el.style.display=e,\"function\"==typeof t&&t.call(i),i.trigger(\"hidden\",i.instance)},i.options.fadeTime),i.options.restJoystick){var e=i.options.restJoystick,o={};o.x=!0===e||!1!==e.x?0:i.instance.frontPosition.x,o.y=!0===e||!1!==e.y?0:i.instance.frontPosition.y,i.setPosition(t,o)}return i},k.prototype.setPosition=function(t,i){var e=this;e.frontPosition={x:i.x,y:i.y};var o=e.options.fadeTime+\"ms\",n={};n.front=f(\"transition\",[\"top\",\"left\"],o);var s={front:{}};s.front={left:e.frontPosition.x+\"px\",top:e.frontPosition.y+\"px\"},e.applyStyles(n),e.applyStyles(s),e.restTimeout=setTimeout(function(){\"function\"==typeof t&&t.call(e),e.restCallback()},e.options.fadeTime)},k.prototype.restCallback=function(){var t={};t.front=f(\"transition\",\"none\",\"\"),this.applyStyles(t),this.trigger(\"rested\",this.instance)},k.prototype.resetDirection=function(){this.direction={x:!1,y:!1,angle:!1}},k.prototype.computeDirection=function(t){var i,e,o,n=t.angle.radian,s=Math.PI/4,r=Math.PI/2;if(n>s&&n<3*s&&!t.lockX?i=\"up\":n>-s&&n<=s&&!t.lockY?i=\"left\":n>3*-s&&n<=-s&&!t.lockX?i=\"down\":t.lockY||(i=\"right\"),t.lockY||(e=n>-r&&n<r?\"left\":\"right\"),t.lockX||(o=n>0?\"up\":\"down\"),t.force>this.options.threshold){var d,a={};for(d in this.direction)this.direction.hasOwnProperty(d)&&(a[d]=this.direction[d]);var p={};for(d in this.direction={x:e,y:o,angle:i},t.direction=this.direction,a)a[d]===this.direction[d]&&(p[d]=!0);if(p.x&&p.y&&p.angle)return t;p.x&&p.y||this.trigger(\"plain\",t),p.x||this.trigger(\"plain:\"+e,t),p.y||this.trigger(\"plain:\"+o,t),p.angle||this.trigger(\"dir dir:\"+i,t)}else this.resetDirection();return t};var P=k;function E(t,i){this.nipples=[],this.idles=[],this.actives=[],this.ids=[],this.pressureIntervals={},this.manager=t,this.id=E.id,E.id+=1,this.defaults={zone:document.body,multitouch:!1,maxNumberOfNipples:10,mode:\"dynamic\",position:{top:0,left:0},catchDistance:200,size:100,threshold:.1,color:\"white\",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:.5,lockX:!1,lockY:!1,shape:\"circle\",dynamicPage:!1,follow:!1},this.config(i),\"static\"!==this.options.mode&&\"semi\"!==this.options.mode||(this.options.multitouch=!1),this.options.multitouch||(this.options.maxNumberOfNipples=1);var e=getComputedStyle(this.options.zone.parentElement);return e&&\"flex\"===e.display&&(this.parentIsFlex=!0),this.updateBox(),this.prepareNipples(),this.bindings(),this.begin(),this.nipples}E.prototype=new T,E.constructor=E,E.id=0,E.prototype.prepareNipples=function(){var t=this.nipples;t.on=this.on.bind(this),t.off=this.off.bind(this),t.options=this.options,t.destroy=this.destroy.bind(this),t.ids=this.ids,t.id=this.id,t.processOnMove=this.processOnMove.bind(this),t.processOnEnd=this.processOnEnd.bind(this),t.get=function(i){if(void 0===i)return t[0];for(var e=0,o=t.length;e<o;e+=1)if(t[e].identifier===i)return t[e];return!1}},E.prototype.bindings=function(){this.bindEvt(this.options.zone,\"start\"),this.options.zone.style.touchAction=\"none\",this.options.zone.style.msTouchAction=\"none\"},E.prototype.begin=function(){var t=this.options;if(\"static\"===t.mode){var i=this.createNipple(t.position,this.manager.getIdentifier());i.add(),this.idles.push(i)}},E.prototype.createNipple=function(t,i){var e=this.manager.scroll,o={},n=this.options,s=this.parentIsFlex?e.x:e.x+this.box.left,r=this.parentIsFlex?e.y:e.y+this.box.top;if(t.x&&t.y)o={x:t.x-s,y:t.y-r};else if(t.top||t.right||t.bottom||t.left){var d=document.createElement(\"DIV\");d.style.display=\"hidden\",d.style.top=t.top,d.style.right=t.right,d.style.bottom=t.bottom,d.style.left=t.left,d.style.position=\"absolute\",n.zone.appendChild(d);var a=d.getBoundingClientRect();n.zone.removeChild(d),o=t,t={x:a.left+e.x,y:a.top+e.y}}var p=new P(this,{color:n.color,size:n.size,threshold:n.threshold,fadeTime:n.fadeTime,dataOnly:n.dataOnly,restJoystick:n.restJoystick,restOpacity:n.restOpacity,mode:n.mode,identifier:i,position:t,zone:n.zone,frontPosition:{x:0,y:0},shape:n.shape});return n.dataOnly||(u(p.ui.el,o),u(p.ui.front,p.frontPosition)),this.nipples.push(p),this.trigger(\"added \"+p.identifier+\":added\",p),this.manager.trigger(\"added \"+p.identifier+\":added\",p),this.bindNipple(p),p},E.prototype.updateBox=function(){this.box=this.options.zone.getBoundingClientRect()},E.prototype.bindNipple=function(t){var i,e=this,o=function(t,o){i=t.type+\" \"+o.id+\":\"+t.type,e.trigger(i,o)};t.on(\"destroyed\",e.onDestroyed.bind(e)),t.on(\"shown hidden rested dir plain\",o),t.on(\"dir:up dir:right dir:down dir:left\",o),t.on(\"plain:up plain:right plain:down plain:left\",o)},E.prototype.pressureFn=function(t,i,e){var o=this,n=0;clearInterval(o.pressureIntervals[e]),o.pressureIntervals[e]=setInterval(function(){var e=t.force||t.pressure||t.webkitForce||0;e!==n&&(i.trigger(\"pressure\",e),o.trigger(\"pressure \"+i.identifier+\":pressure\",e),n=e)}.bind(o),100)},E.prototype.onstart=function(t){var i=this,e=i.options,o=t;t=l(t),i.updateBox();return v(t,function(n){i.actives.length<e.maxNumberOfNipples?i.processOnStart(n):o.type.match(/^touch/)&&(Object.keys(i.manager.ids).forEach(function(e){if(Object.values(o.touches).findIndex(function(t){return t.identifier===e})<0){var n=[t[0]];n.identifier=e,i.processOnEnd(n)}}),i.actives.length<e.maxNumberOfNipples&&i.processOnStart(n))}),i.manager.bindDocument(),!1},E.prototype.processOnStart=function(t){var i,e=this,o=e.options,s=e.manager.getIdentifier(t),r=t.force||t.pressure||t.webkitForce||0,d={x:t.pageX,y:t.pageY},a=e.getOrCreate(s,d);a.identifier!==s&&e.manager.removeIdentifier(a.identifier),a.identifier=s;var p=function(i){i.trigger(\"start\",i),e.trigger(\"start \"+i.id+\":start\",i),i.show(),r>0&&e.pressureFn(t,i,i.identifier),e.processOnMove(t)};if((i=e.idles.indexOf(a))>=0&&e.idles.splice(i,1),e.actives.push(a),e.ids.push(a.identifier),\"semi\"!==o.mode)p(a);else{if(!(n(d,a.position)<=o.catchDistance))return a.destroy(),void e.processOnStart(t);p(a)}return a},E.prototype.getOrCreate=function(t,i){var e,o=this.options;return/(semi|static)/.test(o.mode)?(e=this.idles[0])?(this.idles.splice(0,1),e):\"semi\"===o.mode?this.createNipple(i,t):(console.warn(\"Coudln't find the needed nipple.\"),!1):e=this.createNipple(i,t)},E.prototype.processOnMove=function(t){var i=this.options,e=this.manager.getIdentifier(t),o=this.nipples.get(e),d=this.manager.scroll;if(function(t){return isNaN(t.buttons)?0!==t.pressure:0!==t.buttons}(t)){if(!o)return console.error(\"Found zombie joystick with ID \"+e),void this.manager.removeIdentifier(e);if(i.dynamicPage){var a=o.el.getBoundingClientRect();o.position={x:d.x+a.left,y:d.y+a.top}}o.identifier=e;var p=o.options.size/2,c={x:t.pageX,y:t.pageY};i.lockX&&(c.y=o.position.y),i.lockY&&(c.x=o.position.x);var l,h,f,y,m,v,g,b,x,O,w=n(c,o.position),_=(l=c,h=o.position,f=h.x-l.x,y=h.y-l.y,r(Math.atan2(y,f))),T=s(_),k=w/p,P={distance:w,position:c};if(\"circle\"===o.options.shape?(m=Math.min(w,p),g=o.position,b=m,O={x:0,y:0},x=s(x=_),O.x=g.x-b*Math.cos(x),O.y=g.y-b*Math.sin(x),v=O):(v=function(t,i,e){return{x:Math.min(Math.max(t.x,i.x-e),i.x+e),y:Math.min(Math.max(t.y,i.y-e),i.y+e)}}(c,o.position,p),m=n(v,o.position)),i.follow){if(w>p){var E=c.x-v.x,I=c.y-v.y;o.position.x+=E,o.position.y+=I,o.el.style.top=o.position.y-(this.box.top+d.y)+\"px\",o.el.style.left=o.position.x-(this.box.left+d.x)+\"px\",w=n(c,o.position)}}else c=v,w=m;var z=c.x-o.position.x,D=c.y-o.position.y;o.frontPosition={x:z,y:D},i.dataOnly||u(o.ui.front,o.frontPosition);var M={identifier:o.identifier,position:c,force:k,pressure:t.force||t.pressure||t.webkitForce||0,distance:w,angle:{radian:T,degree:_},vector:{x:z/p,y:-D/p},raw:P,instance:o,lockX:i.lockX,lockY:i.lockY};(M=o.computeDirection(M)).angle={radian:s(180-_),degree:180-_},o.trigger(\"move\",M),this.trigger(\"move \"+o.id+\":move\",M)}else this.processOnEnd(t)},E.prototype.processOnEnd=function(t){var i=this,e=i.options,o=i.manager.getIdentifier(t),n=i.nipples.get(o),s=i.manager.removeIdentifier(n.identifier);n&&(e.dataOnly||n.hide(function(){\"dynamic\"===e.mode&&(n.trigger(\"removed\",n),i.trigger(\"removed \"+n.id+\":removed\",n),i.manager.trigger(\"removed \"+n.id+\":removed\",n),n.destroy())}),clearInterval(i.pressureIntervals[n.identifier]),n.resetDirection(),n.trigger(\"end\",n),i.trigger(\"end \"+n.id+\":end\",n),i.ids.indexOf(n.identifier)>=0&&i.ids.splice(i.ids.indexOf(n.identifier),1),i.actives.indexOf(n)>=0&&i.actives.splice(i.actives.indexOf(n),1),/(semi|static)/.test(e.mode)?i.idles.push(n):i.nipples.indexOf(n)>=0&&i.nipples.splice(i.nipples.indexOf(n),1),i.manager.unbindDocument(),/(semi|static)/.test(e.mode)&&(i.manager.ids[s.id]=s.identifier))},E.prototype.onDestroyed=function(t,i){this.nipples.indexOf(i)>=0&&this.nipples.splice(this.nipples.indexOf(i),1),this.actives.indexOf(i)>=0&&this.actives.splice(this.actives.indexOf(i),1),this.idles.indexOf(i)>=0&&this.idles.splice(this.idles.indexOf(i),1),this.ids.indexOf(i.identifier)>=0&&this.ids.splice(this.ids.indexOf(i.identifier),1),this.manager.removeIdentifier(i.identifier),this.manager.unbindDocument()},E.prototype.destroy=function(){for(var t in this.unbindEvt(this.options.zone,\"start\"),this.nipples.forEach(function(t){t.destroy()}),this.pressureIntervals)this.pressureIntervals.hasOwnProperty(t)&&clearInterval(this.pressureIntervals[t]);this.trigger(\"destroyed\",this.nipples),this.manager.unbindDocument(),this.off()};var I=E;function z(t){var i=this;i.ids={},i.index=0,i.collections=[],i.scroll=h(),i.config(t),i.prepareCollections();var e=function(){var t;i.collections.forEach(function(e){e.forEach(function(e){t=e.el.getBoundingClientRect(),e.position={x:i.scroll.x+t.left,y:i.scroll.y+t.top}})})};p(window,\"resize\",function(){a(e)});var o=function(){i.scroll=h()};return p(window,\"scroll\",function(){a(o)}),i.collections}z.prototype=new T,z.constructor=z,z.prototype.prepareCollections=function(){var t=this;t.collections.create=t.create.bind(t),t.collections.on=t.on.bind(t),t.collections.off=t.off.bind(t),t.collections.destroy=t.destroy.bind(t),t.collections.get=function(i){var e;return t.collections.every(function(t){return!(e=t.get(i))}),e}},z.prototype.create=function(t){return this.createCollection(t)},z.prototype.createCollection=function(t){var i=new I(this,t);return this.bindCollection(i),this.collections.push(i),i},z.prototype.bindCollection=function(t){var i,e=this,o=function(t,o){i=t.type+\" \"+o.id+\":\"+t.type,e.trigger(i,o)};t.on(\"destroyed\",e.onDestroyed.bind(e)),t.on(\"shown hidden rested dir plain\",o),t.on(\"dir:up dir:right dir:down dir:left\",o),t.on(\"plain:up plain:right plain:down plain:left\",o)},z.prototype.bindDocument=function(){this.binded||(this.bindEvt(document,\"move\").bindEvt(document,\"end\"),this.binded=!0)},z.prototype.unbindDocument=function(t){Object.keys(this.ids).length&&!0!==t||(this.unbindEvt(document,\"move\").unbindEvt(document,\"end\"),this.binded=!1)},z.prototype.getIdentifier=function(t){var i;return t?void 0===(i=void 0===t.identifier?t.pointerId:t.identifier)&&(i=this.latest||0):i=this.index,void 0===this.ids[i]&&(this.ids[i]=this.index,this.index+=1),this.latest=i,this.ids[i]},z.prototype.removeIdentifier=function(t){var i={};for(var e in this.ids)if(this.ids[e]===t){i.id=e,i.identifier=this.ids[e],delete this.ids[e];break}return i},z.prototype.onmove=function(t){return this.onAny(\"move\",t),!1},z.prototype.onend=function(t){return this.onAny(\"end\",t),!1},z.prototype.oncancel=function(t){return this.onAny(\"end\",t),!1},z.prototype.onAny=function(t,i){var e,o=this,n=\"processOn\"+t.charAt(0).toUpperCase()+t.slice(1);i=l(i);return v(i,function(t){e=o.getIdentifier(t),v(o.collections,function(t,i,e){e.ids.indexOf(i)>=0&&(e[n](t),t._found_=!0)}.bind(null,t,e)),t._found_||o.removeIdentifier(e)}),!1},z.prototype.destroy=function(){this.unbindDocument(!0),this.ids={},this.index=0,this.collections.forEach(function(t){t.destroy()}),this.off()},z.prototype.onDestroyed=function(t,i){if(this.collections.indexOf(i)<0)return!1;this.collections.splice(this.collections.indexOf(i),1)};var D=new z;i.default={create:function(t){return D.create(t)},factory:D}}]).default});","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar NotyfNotification = /** @class */ (function () {\r\n function NotyfNotification(options) {\r\n this.options = options;\r\n this.listeners = {};\r\n }\r\n NotyfNotification.prototype.on = function (eventType, cb) {\r\n var callbacks = this.listeners[eventType] || [];\r\n this.listeners[eventType] = callbacks.concat([cb]);\r\n };\r\n NotyfNotification.prototype.triggerEvent = function (eventType, event) {\r\n var _this = this;\r\n var callbacks = this.listeners[eventType] || [];\r\n callbacks.forEach(function (cb) { return cb({ target: _this, event: event }); });\r\n };\r\n return NotyfNotification;\r\n}());\r\n(function (NotyfArrayEvent) {\r\n NotyfArrayEvent[NotyfArrayEvent[\"Add\"] = 0] = \"Add\";\r\n NotyfArrayEvent[NotyfArrayEvent[\"Remove\"] = 1] = \"Remove\";\r\n})(exports.NotyfArrayEvent || (exports.NotyfArrayEvent = {}));\r\nvar NotyfArray = /** @class */ (function () {\r\n function NotyfArray() {\r\n this.notifications = [];\r\n }\r\n NotyfArray.prototype.push = function (elem) {\r\n this.notifications.push(elem);\r\n this.updateFn(elem, exports.NotyfArrayEvent.Add, this.notifications);\r\n };\r\n NotyfArray.prototype.splice = function (index, num) {\r\n var elem = this.notifications.splice(index, num)[0];\r\n this.updateFn(elem, exports.NotyfArrayEvent.Remove, this.notifications);\r\n return elem;\r\n };\r\n NotyfArray.prototype.indexOf = function (elem) {\r\n return this.notifications.indexOf(elem);\r\n };\r\n NotyfArray.prototype.onUpdate = function (fn) {\r\n this.updateFn = fn;\r\n };\r\n return NotyfArray;\r\n}());\n\n(function (NotyfEvent) {\r\n NotyfEvent[\"Dismiss\"] = \"dismiss\";\r\n NotyfEvent[\"Click\"] = \"click\";\r\n})(exports.NotyfEvent || (exports.NotyfEvent = {}));\r\nvar DEFAULT_OPTIONS = {\r\n types: [\r\n {\r\n type: 'success',\r\n className: 'notyf__toast--success',\r\n backgroundColor: '#3dc763',\r\n icon: {\r\n className: 'notyf__icon--success',\r\n tagName: 'i',\r\n },\r\n },\r\n {\r\n type: 'error',\r\n className: 'notyf__toast--error',\r\n backgroundColor: '#ed3d3d',\r\n icon: {\r\n className: 'notyf__icon--error',\r\n tagName: 'i',\r\n },\r\n },\r\n ],\r\n duration: 2000,\r\n ripple: true,\r\n position: {\r\n x: 'right',\r\n y: 'bottom',\r\n },\r\n dismissible: false,\r\n};\n\nvar NotyfView = /** @class */ (function () {\r\n function NotyfView() {\r\n this.notifications = [];\r\n this.events = {};\r\n this.X_POSITION_FLEX_MAP = {\r\n left: 'flex-start',\r\n center: 'center',\r\n right: 'flex-end',\r\n };\r\n this.Y_POSITION_FLEX_MAP = {\r\n top: 'flex-start',\r\n center: 'center',\r\n bottom: 'flex-end',\r\n };\r\n // Creates the main notifications container\r\n var docFrag = document.createDocumentFragment();\r\n var notyfContainer = this._createHTMLElement({ tagName: 'div', className: 'notyf' });\r\n docFrag.appendChild(notyfContainer);\r\n document.body.appendChild(docFrag);\r\n this.container = notyfContainer;\r\n // Identifies the main animation end event\r\n this.animationEndEventName = this._getAnimationEndEventName();\r\n this._createA11yContainer();\r\n }\r\n NotyfView.prototype.on = function (event, cb) {\r\n var _a;\r\n this.events = __assign(__assign({}, this.events), (_a = {}, _a[event] = cb, _a));\r\n };\r\n NotyfView.prototype.update = function (notification, type) {\r\n if (type === exports.NotyfArrayEvent.Add) {\r\n this.addNotification(notification);\r\n }\r\n else if (type === exports.NotyfArrayEvent.Remove) {\r\n this.removeNotification(notification);\r\n }\r\n };\r\n NotyfView.prototype.removeNotification = function (notification) {\r\n var _this = this;\r\n var renderedNotification = this._popRenderedNotification(notification);\r\n var node;\r\n if (!renderedNotification) {\r\n return;\r\n }\r\n node = renderedNotification.node;\r\n node.classList.add('notyf__toast--disappear');\r\n var handleEvent;\r\n node.addEventListener(this.animationEndEventName, (handleEvent = function (event) {\r\n if (event.target === node) {\r\n node.removeEventListener(_this.animationEndEventName, handleEvent);\r\n _this.container.removeChild(node);\r\n }\r\n }));\r\n };\r\n NotyfView.prototype.addNotification = function (notification) {\r\n var node = this._renderNotification(notification);\r\n this.notifications.push({ notification: notification, node: node });\r\n // For a11y purposes, we still want to announce that there's a notification in the screen\r\n // even if it comes with no message.\r\n this._announce(notification.options.message || 'Notification');\r\n };\r\n NotyfView.prototype._renderNotification = function (notification) {\r\n var _a;\r\n var card = this._buildNotificationCard(notification);\r\n var className = notification.options.className;\r\n if (className) {\r\n (_a = card.classList).add.apply(_a, className.split(' '));\r\n }\r\n this.container.appendChild(card);\r\n return card;\r\n };\r\n NotyfView.prototype._popRenderedNotification = function (notification) {\r\n var idx = -1;\r\n for (var i = 0; i < this.notifications.length && idx < 0; i++) {\r\n if (this.notifications[i].notification === notification) {\r\n idx = i;\r\n }\r\n }\r\n if (idx !== -1) {\r\n return this.notifications.splice(idx, 1)[0];\r\n }\r\n return;\r\n };\r\n NotyfView.prototype.getXPosition = function (options) {\r\n var _a;\r\n return ((_a = options === null || options === void 0 ? void 0 : options.position) === null || _a === void 0 ? void 0 : _a.x) || 'right';\r\n };\r\n NotyfView.prototype.getYPosition = function (options) {\r\n var _a;\r\n return ((_a = options === null || options === void 0 ? void 0 : options.position) === null || _a === void 0 ? void 0 : _a.y) || 'bottom';\r\n };\r\n NotyfView.prototype.adjustContainerAlignment = function (options) {\r\n var align = this.X_POSITION_FLEX_MAP[this.getXPosition(options)];\r\n var justify = this.Y_POSITION_FLEX_MAP[this.getYPosition(options)];\r\n var style = this.container.style;\r\n style.setProperty('justify-content', justify);\r\n style.setProperty('align-items', align);\r\n };\r\n NotyfView.prototype._buildNotificationCard = function (notification) {\r\n var _this = this;\r\n var options = notification.options;\r\n var iconOpts = options.icon;\r\n // Adjust container according to position (e.g. top-left, bottom-center, etc)\r\n this.adjustContainerAlignment(options);\r\n // Create elements\r\n var notificationElem = this._createHTMLElement({ tagName: 'div', className: 'notyf__toast' });\r\n var ripple = this._createHTMLElement({ tagName: 'div', className: 'notyf__ripple' });\r\n var wrapper = this._createHTMLElement({ tagName: 'div', className: 'notyf__wrapper' });\r\n var message = this._createHTMLElement({ tagName: 'div', className: 'notyf__message' });\r\n message.innerHTML = options.message || '';\r\n var mainColor = options.background || options.backgroundColor;\r\n // Build the icon and append it to the card\r\n if (iconOpts) {\r\n var iconContainer = this._createHTMLElement({ tagName: 'div', className: 'notyf__icon' });\r\n if (typeof iconOpts === 'string' || iconOpts instanceof String)\r\n iconContainer.innerHTML = new String(iconOpts).valueOf();\r\n if (typeof iconOpts === 'object') {\r\n var _a = iconOpts.tagName, tagName = _a === void 0 ? 'i' : _a, className_1 = iconOpts.className, text = iconOpts.text, _b = iconOpts.color, color = _b === void 0 ? mainColor : _b;\r\n var iconElement = this._createHTMLElement({ tagName: tagName, className: className_1, text: text });\r\n if (color)\r\n iconElement.style.color = color;\r\n iconContainer.appendChild(iconElement);\r\n }\r\n wrapper.appendChild(iconContainer);\r\n }\r\n wrapper.appendChild(message);\r\n notificationElem.appendChild(wrapper);\r\n // Add ripple if applicable, else just paint the full toast\r\n if (mainColor) {\r\n if (options.ripple) {\r\n ripple.style.background = mainColor;\r\n notificationElem.appendChild(ripple);\r\n }\r\n else {\r\n notificationElem.style.background = mainColor;\r\n }\r\n }\r\n // Add dismiss button\r\n if (options.dismissible) {\r\n var dismissWrapper = this._createHTMLElement({ tagName: 'div', className: 'notyf__dismiss' });\r\n var dismissButton = this._createHTMLElement({\r\n tagName: 'button',\r\n className: 'notyf__dismiss-btn',\r\n });\r\n dismissWrapper.appendChild(dismissButton);\r\n wrapper.appendChild(dismissWrapper);\r\n notificationElem.classList.add(\"notyf__toast--dismissible\");\r\n dismissButton.addEventListener('click', function (event) {\r\n var _a, _b;\r\n (_b = (_a = _this.events)[exports.NotyfEvent.Dismiss]) === null || _b === void 0 ? void 0 : _b.call(_a, { target: notification, event: event });\r\n event.stopPropagation();\r\n });\r\n }\r\n notificationElem.addEventListener('click', function (event) { var _a, _b; return (_b = (_a = _this.events)[exports.NotyfEvent.Click]) === null || _b === void 0 ? void 0 : _b.call(_a, { target: notification, event: event }); });\r\n // Adjust margins depending on whether its an upper or lower notification\r\n var className = this.getYPosition(options) === 'top' ? 'upper' : 'lower';\r\n notificationElem.classList.add(\"notyf__toast--\" + className);\r\n return notificationElem;\r\n };\r\n NotyfView.prototype._createHTMLElement = function (_a) {\r\n var tagName = _a.tagName, className = _a.className, text = _a.text;\r\n var elem = document.createElement(tagName);\r\n if (className) {\r\n elem.className = className;\r\n }\r\n elem.textContent = text || null;\r\n return elem;\r\n };\r\n /**\r\n * Creates an invisible container which will announce the notyfs to\r\n * screen readers\r\n */\r\n NotyfView.prototype._createA11yContainer = function () {\r\n var a11yContainer = this._createHTMLElement({ tagName: 'div', className: 'notyf-announcer' });\r\n a11yContainer.setAttribute('aria-atomic', 'true');\r\n a11yContainer.setAttribute('aria-live', 'polite');\r\n // Set the a11y container to be visible hidden. Can't use display: none as\r\n // screen readers won't read it.\r\n a11yContainer.style.border = '0';\r\n a11yContainer.style.clip = 'rect(0 0 0 0)';\r\n a11yContainer.style.height = '1px';\r\n a11yContainer.style.margin = '-1px';\r\n a11yContainer.style.overflow = 'hidden';\r\n a11yContainer.style.padding = '0';\r\n a11yContainer.style.position = 'absolute';\r\n a11yContainer.style.width = '1px';\r\n a11yContainer.style.outline = '0';\r\n document.body.appendChild(a11yContainer);\r\n this.a11yContainer = a11yContainer;\r\n };\r\n /**\r\n * Announces a message to screenreaders.\r\n */\r\n NotyfView.prototype._announce = function (message) {\r\n var _this = this;\r\n this.a11yContainer.textContent = '';\r\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\r\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\r\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\r\n // second time without clearing and then using a non-zero delay.\r\n // (using JAWS 17 at time of this writing).\r\n // https://github.com/angular/material2/blob/master/src/cdk/a11y/live-announcer/live-announcer.ts\r\n setTimeout(function () {\r\n _this.a11yContainer.textContent = message;\r\n }, 100);\r\n };\r\n /**\r\n * Determine which animationend event is supported\r\n */\r\n NotyfView.prototype._getAnimationEndEventName = function () {\r\n var el = document.createElement('_fake');\r\n var transitions = {\r\n MozTransition: 'animationend',\r\n OTransition: 'oAnimationEnd',\r\n WebkitTransition: 'webkitAnimationEnd',\r\n transition: 'animationend',\r\n };\r\n var t;\r\n for (t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n return transitions[t];\r\n }\r\n }\r\n // No supported animation end event. Using \"animationend\" as a fallback\r\n return 'animationend';\r\n };\r\n return NotyfView;\r\n}());\n\n/**\r\n * Main controller class. Defines the main Notyf API.\r\n */\r\nvar Notyf = /** @class */ (function () {\r\n function Notyf(opts) {\r\n var _this = this;\r\n this.dismiss = this._removeNotification;\r\n this.notifications = new NotyfArray();\r\n this.view = new NotyfView();\r\n var types = this.registerTypes(opts);\r\n this.options = __assign(__assign({}, DEFAULT_OPTIONS), opts);\r\n this.options.types = types;\r\n this.notifications.onUpdate(function (elem, type) { return _this.view.update(elem, type); });\r\n this.view.on(exports.NotyfEvent.Dismiss, function (_a) {\r\n var target = _a.target, event = _a.event;\r\n _this._removeNotification(target);\r\n // tslint:disable-next-line: no-string-literal\r\n target['triggerEvent'](exports.NotyfEvent.Dismiss, event);\r\n });\r\n // tslint:disable-next-line: no-string-literal\r\n this.view.on(exports.NotyfEvent.Click, function (_a) {\r\n var target = _a.target, event = _a.event;\r\n return target['triggerEvent'](exports.NotyfEvent.Click, event);\r\n });\r\n }\r\n Notyf.prototype.error = function (payload) {\r\n var options = this.normalizeOptions('error', payload);\r\n return this.open(options);\r\n };\r\n Notyf.prototype.success = function (payload) {\r\n var options = this.normalizeOptions('success', payload);\r\n return this.open(options);\r\n };\r\n Notyf.prototype.open = function (options) {\r\n var defaultOpts = this.options.types.find(function (_a) {\r\n var type = _a.type;\r\n return type === options.type;\r\n }) || {};\r\n var config = __assign(__assign({}, defaultOpts), options);\r\n this.assignProps(['ripple', 'position', 'dismissible'], config);\r\n var notification = new NotyfNotification(config);\r\n this._pushNotification(notification);\r\n return notification;\r\n };\r\n Notyf.prototype.dismissAll = function () {\r\n while (this.notifications.splice(0, 1))\r\n ;\r\n };\r\n /**\r\n * Assigns properties to a config object based on two rules:\r\n * 1. If the config object already sets that prop, leave it as so\r\n * 2. Otherwise, use the default prop from the global options\r\n *\r\n * It's intended to build the final config object to open a notification. e.g. if\r\n * 'dismissible' is not set, then use the value from the global config.\r\n *\r\n * @param props - properties to be assigned to the config object\r\n * @param config - object whose properties need to be set\r\n */\r\n Notyf.prototype.assignProps = function (props, config) {\r\n var _this = this;\r\n props.forEach(function (prop) {\r\n // intentional double equality to check for both null and undefined\r\n config[prop] = config[prop] == null ? _this.options[prop] : config[prop];\r\n });\r\n };\r\n Notyf.prototype._pushNotification = function (notification) {\r\n var _this = this;\r\n this.notifications.push(notification);\r\n var duration = notification.options.duration !== undefined ? notification.options.duration : this.options.duration;\r\n if (duration) {\r\n setTimeout(function () { return _this._removeNotification(notification); }, duration);\r\n }\r\n };\r\n Notyf.prototype._removeNotification = function (notification) {\r\n var index = this.notifications.indexOf(notification);\r\n if (index !== -1) {\r\n this.notifications.splice(index, 1);\r\n }\r\n };\r\n Notyf.prototype.normalizeOptions = function (type, payload) {\r\n var options = { type: type };\r\n if (typeof payload === 'string') {\r\n options.message = payload;\r\n }\r\n else if (typeof payload === 'object') {\r\n options = __assign(__assign({}, options), payload);\r\n }\r\n return options;\r\n };\r\n Notyf.prototype.registerTypes = function (opts) {\r\n var incomingTypes = ((opts && opts.types) || []).slice();\r\n var finalDefaultTypes = DEFAULT_OPTIONS.types.map(function (defaultType) {\r\n // find if there's a default type within the user input's types, if so, it means the user\r\n // wants to change some of the default settings\r\n var userTypeIdx = -1;\r\n incomingTypes.forEach(function (t, idx) {\r\n if (t.type === defaultType.type)\r\n userTypeIdx = idx;\r\n });\r\n var userType = userTypeIdx !== -1 ? incomingTypes.splice(userTypeIdx, 1)[0] : {};\r\n return __assign(__assign({}, defaultType), userType);\r\n });\r\n return finalDefaultTypes.concat(incomingTypes);\r\n };\r\n return Notyf;\r\n}());\n\nexports.DEFAULT_OPTIONS = DEFAULT_OPTIONS;\nexports.Notyf = Notyf;\nexports.NotyfArray = NotyfArray;\nexports.NotyfNotification = NotyfNotification;\nexports.NotyfView = NotyfView;\n","/*!\n * \n * simple-keyboard v3.4.126\n * https://github.com/hodgef/simple-keyboard\n *\n * Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.SimpleKeyboard=e():t.SimpleKeyboard=e()}(this,(function(){return function(){var t={9662:function(t,e,n){var o=n(614),r=n(6330),i=TypeError;t.exports=function(t){if(o(t))return t;throw i(r(t)+\" is not a function\")}},9483:function(t,e,n){var o=n(4411),r=n(6330),i=TypeError;t.exports=function(t){if(o(t))return t;throw i(r(t)+\" is not a constructor\")}},6077:function(t,e,n){var o=n(614),r=String,i=TypeError;t.exports=function(t){if(\"object\"==typeof t||o(t))return t;throw i(\"Can't set \"+r(t)+\" as a prototype\")}},1223:function(t,e,n){var o=n(5112),r=n(30),i=n(3070).f,a=o(\"unscopables\"),s=Array.prototype;null==s[a]&&i(s,a,{configurable:!0,value:r(null)}),t.exports=function(t){s[a][t]=!0}},1530:function(t,e,n){\"use strict\";var o=n(8710).charAt;t.exports=function(t,e,n){return e+(n?o(t,e).length:1)}},9670:function(t,e,n){var o=n(111),r=String,i=TypeError;t.exports=function(t){if(o(t))return t;throw i(r(t)+\" is not an object\")}},8533:function(t,e,n){\"use strict\";var o=n(2092).forEach,r=n(9341)(\"forEach\");t.exports=r?[].forEach:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}},8457:function(t,e,n){\"use strict\";var o=n(9974),r=n(6916),i=n(7908),a=n(3411),s=n(7659),u=n(4411),c=n(6244),l=n(6135),f=n(8554),p=n(1246),d=Array;t.exports=function(t){var e=i(t),n=u(this),h=arguments.length,v=h>1?arguments[1]:void 0,g=void 0!==v;g&&(v=o(v,h>2?arguments[2]:void 0));var y,m,b,x,w,E,O=p(e),S=0;if(!O||this===d&&s(O))for(y=c(e),m=n?new this(y):d(y);y>S;S++)E=g?v(e[S],S):e[S],l(m,S,E);else for(w=(x=f(e,O)).next,m=n?new this:[];!(b=r(w,x)).done;S++)E=g?a(x,v,[b.value,S],!0):b.value,l(m,S,E);return m.length=S,m}},1318:function(t,e,n){var o=n(5656),r=n(1400),i=n(6244),a=function(t){return function(e,n,a){var s,u=o(e),c=i(u),l=r(a,c);if(t&&n!=n){for(;c>l;)if((s=u[l++])!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},2092:function(t,e,n){var o=n(9974),r=n(1702),i=n(8361),a=n(7908),s=n(6244),u=n(5417),c=r([].push),l=function(t){var e=1==t,n=2==t,r=3==t,l=4==t,f=6==t,p=7==t,d=5==t||f;return function(h,v,g,y){for(var m,b,x=a(h),w=i(x),E=o(v,g),O=s(w),S=0,k=y||u,I=e?k(h,O):n||p?k(h,0):void 0;O>S;S++)if((d||S in w)&&(b=E(m=w[S],S,x),t))if(e)I[S]=b;else if(b)switch(t){case 3:return!0;case 5:return m;case 6:return S;case 2:c(I,m)}else switch(t){case 4:return!1;case 7:c(I,m)}return f?-1:r||l?l:I}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterReject:l(7)}},1194:function(t,e,n){var o=n(7293),r=n(5112),i=n(7392),a=r(\"species\");t.exports=function(t){return i>=51||!o((function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},9341:function(t,e,n){\"use strict\";var o=n(7293);t.exports=function(t,e){var n=[][t];return!!n&&o((function(){n.call(null,e||function(){return 1},1)}))}},3671:function(t,e,n){var o=n(9662),r=n(7908),i=n(8361),a=n(6244),s=TypeError,u=function(t){return function(e,n,u,c){o(n);var l=r(e),f=i(l),p=a(l),d=t?p-1:0,h=t?-1:1;if(u<2)for(;;){if(d in f){c=f[d],d+=h;break}if(d+=h,t?d<0:p<=d)throw s(\"Reduce of empty array with no initial value\")}for(;t?d>=0:p>d;d+=h)d in f&&(c=n(c,f[d],d,l));return c}};t.exports={left:u(!1),right:u(!0)}},1589:function(t,e,n){var o=n(1400),r=n(6244),i=n(6135),a=Array,s=Math.max;t.exports=function(t,e,n){for(var u=r(t),c=o(e,u),l=o(void 0===n?u:n,u),f=a(s(l-c,0)),p=0;c<l;c++,p++)i(f,p,t[c]);return f.length=p,f}},206:function(t,e,n){var o=n(1702);t.exports=o([].slice)},4362:function(t,e,n){var o=n(1589),r=Math.floor,i=function(t,e){var n=t.length,u=r(n/2);return n<8?a(t,e):s(t,i(o(t,0,u),e),i(o(t,u),e),e)},a=function(t,e){for(var n,o,r=t.length,i=1;i<r;){for(o=i,n=t[i];o&&e(t[o-1],n)>0;)t[o]=t[--o];o!==i++&&(t[o]=n)}return t},s=function(t,e,n,o){for(var r=e.length,i=n.length,a=0,s=0;a<r||s<i;)t[a+s]=a<r&&s<i?o(e[a],n[s])<=0?e[a++]:n[s++]:a<r?e[a++]:n[s++];return t};t.exports=i},7475:function(t,e,n){var o=n(3157),r=n(4411),i=n(111),a=n(5112)(\"species\"),s=Array;t.exports=function(t){var e;return o(t)&&(e=t.constructor,(r(e)&&(e===s||o(e.prototype))||i(e)&&null===(e=e[a]))&&(e=void 0)),void 0===e?s:e}},5417:function(t,e,n){var o=n(7475);t.exports=function(t,e){return new(o(t))(0===e?0:e)}},3411:function(t,e,n){var o=n(9670),r=n(9212);t.exports=function(t,e,n,i){try{return i?e(o(n)[0],n[1]):e(n)}catch(e){r(t,\"throw\",e)}}},7072:function(t,e,n){var o=n(5112)(\"iterator\"),r=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){r=!0}};a[o]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var i={};i[o]=function(){return{next:function(){return{done:n=!0}}}},t(i)}catch(t){}return n}},4326:function(t,e,n){var o=n(1702),r=o({}.toString),i=o(\"\".slice);t.exports=function(t){return i(r(t),8,-1)}},648:function(t,e,n){var o=n(1694),r=n(614),i=n(4326),a=n(5112)(\"toStringTag\"),s=Object,u=\"Arguments\"==i(function(){return arguments}());t.exports=o?i:function(t){var e,n,o;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=s(t),a))?n:u?i(e):\"Object\"==(o=i(e))&&r(e.callee)?\"Arguments\":o}},9920:function(t,e,n){var o=n(2597),r=n(3887),i=n(1236),a=n(3070);t.exports=function(t,e,n){for(var s=r(e),u=a.f,c=i.f,l=0;l<s.length;l++){var f=s[l];o(t,f)||n&&o(n,f)||u(t,f,c(e,f))}}},4964:function(t,e,n){var o=n(5112)(\"match\");t.exports=function(t){var e=/./;try{\"/./\"[t](e)}catch(n){try{return e[o]=!1,\"/./\"[t](e)}catch(t){}}return!1}},8544:function(t,e,n){var o=n(7293);t.exports=!o((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},4994:function(t,e,n){\"use strict\";var o=n(3383).IteratorPrototype,r=n(30),i=n(9114),a=n(8003),s=n(7497),u=function(){return this};t.exports=function(t,e,n,c){var l=e+\" Iterator\";return t.prototype=r(o,{next:i(+!c,n)}),a(t,l,!1,!0),s[l]=u,t}},8880:function(t,e,n){var o=n(9781),r=n(3070),i=n(9114);t.exports=o?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},9114:function(t){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},6135:function(t,e,n){\"use strict\";var o=n(4948),r=n(3070),i=n(9114);t.exports=function(t,e,n){var a=o(e);a in t?r.f(t,a,i(0,n)):t[a]=n}},8052:function(t,e,n){var o=n(614),r=n(3070),i=n(6339),a=n(3072);t.exports=function(t,e,n,s){s||(s={});var u=s.enumerable,c=void 0!==s.name?s.name:e;if(o(n)&&i(n,c,s),s.global)u?t[e]=n:a(e,n);else{try{s.unsafe?t[e]&&(u=!0):delete t[e]}catch(t){}u?t[e]=n:r.f(t,e,{value:n,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return t}},3072:function(t,e,n){var o=n(7854),r=Object.defineProperty;t.exports=function(t,e){try{r(o,t,{value:e,configurable:!0,writable:!0})}catch(n){o[t]=e}return e}},654:function(t,e,n){\"use strict\";var o=n(2109),r=n(6916),i=n(1913),a=n(6530),s=n(614),u=n(4994),c=n(9518),l=n(7674),f=n(8003),p=n(8880),d=n(8052),h=n(5112),v=n(7497),g=n(3383),y=a.PROPER,m=a.CONFIGURABLE,b=g.IteratorPrototype,x=g.BUGGY_SAFARI_ITERATORS,w=h(\"iterator\"),E=\"keys\",O=\"values\",S=\"entries\",k=function(){return this};t.exports=function(t,e,n,a,h,g,I){u(n,e,a);var C,P,A,M=function(t){if(t===h&&R)return R;if(!x&&t in N)return N[t];switch(t){case E:case O:case S:return function(){return new n(this,t)}}return function(){return new n(this)}},T=e+\" Iterator\",D=!1,N=t.prototype,j=N[w]||N[\"@@iterator\"]||h&&N[h],R=!x&&j||M(h),L=\"Array\"==e&&N.entries||j;if(L&&(C=c(L.call(new t)))!==Object.prototype&&C.next&&(i||c(C)===b||(l?l(C,b):s(C[w])||d(C,w,k)),f(C,T,!0,!0),i&&(v[T]=k)),y&&h==O&&j&&j.name!==O&&(!i&&m?p(N,\"name\",O):(D=!0,R=function(){return r(j,this)})),h)if(P={values:M(O),keys:g?R:M(E),entries:M(S)},I)for(A in P)(x||D||!(A in N))&&d(N,A,P[A]);else o({target:e,proto:!0,forced:x||D},P);return i&&!I||N[w]===R||d(N,w,R,{name:h}),v[e]=R,P}},7235:function(t,e,n){var o=n(857),r=n(2597),i=n(6061),a=n(3070).f;t.exports=function(t){var e=o.Symbol||(o.Symbol={});r(e,t)||a(e,t,{value:i.f(t)})}},5117:function(t,e,n){\"use strict\";var o=n(6330),r=TypeError;t.exports=function(t,e){if(!delete t[e])throw r(\"Cannot delete property \"+o(e)+\" of \"+o(t))}},9781:function(t,e,n){var o=n(7293);t.exports=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:function(t,e,n){var o=n(7854),r=n(111),i=o.document,a=r(i)&&r(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},7207:function(t){var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw e(\"Maximum allowed index exceeded\");return t}},8324:function(t){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:function(t,e,n){var o=n(317)(\"span\").classList,r=o&&o.constructor&&o.constructor.prototype;t.exports=r===Object.prototype?void 0:r},8886:function(t,e,n){var o=n(8113).match(/firefox\\/(\\d+)/i);t.exports=!!o&&+o[1]},256:function(t,e,n){var o=n(8113);t.exports=/MSIE|Trident/.test(o)},5268:function(t,e,n){var o=n(4326),r=n(7854);t.exports=\"process\"==o(r.process)},8113:function(t,e,n){var o=n(5005);t.exports=o(\"navigator\",\"userAgent\")||\"\"},7392:function(t,e,n){var o,r,i=n(7854),a=n(8113),s=i.process,u=i.Deno,c=s&&s.versions||u&&u.version,l=c&&c.v8;l&&(r=(o=l.split(\".\"))[0]>0&&o[0]<4?1:+(o[0]+o[1])),!r&&a&&(!(o=a.match(/Edge\\/(\\d+)/))||o[1]>=74)&&(o=a.match(/Chrome\\/(\\d+)/))&&(r=+o[1]),t.exports=r},8008:function(t,e,n){var o=n(8113).match(/AppleWebKit\\/(\\d+)\\./);t.exports=!!o&&+o[1]},748:function(t){t.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},2109:function(t,e,n){var o=n(7854),r=n(1236).f,i=n(8880),a=n(8052),s=n(3072),u=n(9920),c=n(4705);t.exports=function(t,e){var n,l,f,p,d,h=t.target,v=t.global,g=t.stat;if(n=v?o:g?o[h]||s(h,{}):(o[h]||{}).prototype)for(l in e){if(p=e[l],f=t.dontCallGetSet?(d=r(n,l))&&d.value:n[l],!c(v?l:h+(g?\".\":\"#\")+l,t.forced)&&void 0!==f){if(typeof p==typeof f)continue;u(p,f)}(t.sham||f&&f.sham)&&i(p,\"sham\",!0),a(n,l,p,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(t){return!0}}},7007:function(t,e,n){\"use strict\";n(4916);var o=n(1702),r=n(8052),i=n(2261),a=n(7293),s=n(5112),u=n(8880),c=s(\"species\"),l=RegExp.prototype;t.exports=function(t,e,n,f){var p=s(t),d=!a((function(){var e={};return e[p]=function(){return 7},7!=\"\"[t](e)})),h=d&&!a((function(){var e=!1,n=/a/;return\"split\"===t&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags=\"\",n[p]=/./[p]),n.exec=function(){return e=!0,null},n[p](\"\"),!e}));if(!d||!h||n){var v=o(/./[p]),g=e(p,\"\"[t],(function(t,e,n,r,a){var s=o(t),u=e.exec;return u===i||u===l.exec?d&&!a?{done:!0,value:v(e,n,r)}:{done:!0,value:s(n,e,r)}:{done:!1}}));r(String.prototype,t,g[0]),r(l,p,g[1])}f&&u(l[p],\"sham\",!0)}},2104:function(t,e,n){var o=n(4374),r=Function.prototype,i=r.apply,a=r.call;t.exports=\"object\"==typeof Reflect&&Reflect.apply||(o?a.bind(i):function(){return a.apply(i,arguments)})},9974:function(t,e,n){var o=n(1702),r=n(9662),i=n(4374),a=o(o.bind);t.exports=function(t,e){return r(t),void 0===e?t:i?a(t,e):function(){return t.apply(e,arguments)}}},4374:function(t,e,n){var o=n(7293);t.exports=!o((function(){var t=function(){}.bind();return\"function\"!=typeof t||t.hasOwnProperty(\"prototype\")}))},6916:function(t,e,n){var o=n(4374),r=Function.prototype.call;t.exports=o?r.bind(r):function(){return r.apply(r,arguments)}},6530:function(t,e,n){var o=n(9781),r=n(2597),i=Function.prototype,a=o&&Object.getOwnPropertyDescriptor,s=r(i,\"name\"),u=s&&\"something\"===function(){}.name,c=s&&(!o||o&&a(i,\"name\").configurable);t.exports={EXISTS:s,PROPER:u,CONFIGURABLE:c}},1702:function(t,e,n){var o=n(4374),r=Function.prototype,i=r.bind,a=r.call,s=o&&i.bind(a,a);t.exports=o?function(t){return t&&s(t)}:function(t){return t&&function(){return a.apply(t,arguments)}}},5005:function(t,e,n){var o=n(7854),r=n(614),i=function(t){return r(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?i(o[t]):o[t]&&o[t][e]}},1246:function(t,e,n){var o=n(648),r=n(8173),i=n(7497),a=n(5112)(\"iterator\");t.exports=function(t){if(null!=t)return r(t,a)||r(t,\"@@iterator\")||i[o(t)]}},8554:function(t,e,n){var o=n(6916),r=n(9662),i=n(9670),a=n(6330),s=n(1246),u=TypeError;t.exports=function(t,e){var n=arguments.length<2?s(t):e;if(r(n))return i(o(n,t));throw u(a(t)+\" is not iterable\")}},8173:function(t,e,n){var o=n(9662);t.exports=function(t,e){var n=t[e];return null==n?void 0:o(n)}},647:function(t,e,n){var o=n(1702),r=n(7908),i=Math.floor,a=o(\"\".charAt),s=o(\"\".replace),u=o(\"\".slice),c=/\\$([$&'`]|\\d{1,2}|<[^>]*>)/g,l=/\\$([$&'`]|\\d{1,2})/g;t.exports=function(t,e,n,o,f,p){var d=n+t.length,h=o.length,v=l;return void 0!==f&&(f=r(f),v=c),s(p,v,(function(r,s){var c;switch(a(s,0)){case\"$\":return\"$\";case\"&\":return t;case\"`\":return u(e,0,n);case\"'\":return u(e,d);case\"<\":c=f[u(s,1,-1)];break;default:var l=+s;if(0===l)return r;if(l>h){var p=i(l/10);return 0===p?r:p<=h?void 0===o[p-1]?a(s,1):o[p-1]+a(s,1):r}c=o[l-1]}return void 0===c?\"\":c}))}},7854:function(t,e,n){var o=function(t){return t&&t.Math==Math&&t};t.exports=o(\"object\"==typeof globalThis&&globalThis)||o(\"object\"==typeof window&&window)||o(\"object\"==typeof self&&self)||o(\"object\"==typeof n.g&&n.g)||function(){return this}()||Function(\"return this\")()},2597:function(t,e,n){var o=n(1702),r=n(7908),i=o({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return i(r(t),e)}},3501:function(t){t.exports={}},490:function(t,e,n){var o=n(5005);t.exports=o(\"document\",\"documentElement\")},4664:function(t,e,n){var o=n(9781),r=n(7293),i=n(317);t.exports=!o&&!r((function(){return 7!=Object.defineProperty(i(\"div\"),\"a\",{get:function(){return 7}}).a}))},8361:function(t,e,n){var o=n(1702),r=n(7293),i=n(4326),a=Object,s=o(\"\".split);t.exports=r((function(){return!a(\"z\").propertyIsEnumerable(0)}))?function(t){return\"String\"==i(t)?s(t,\"\"):a(t)}:a},9587:function(t,e,n){var o=n(614),r=n(111),i=n(7674);t.exports=function(t,e,n){var a,s;return i&&o(a=e.constructor)&&a!==n&&r(s=a.prototype)&&s!==n.prototype&&i(t,s),t}},2788:function(t,e,n){var o=n(1702),r=n(614),i=n(5465),a=o(Function.toString);r(i.inspectSource)||(i.inspectSource=function(t){return a(t)}),t.exports=i.inspectSource},9909:function(t,e,n){var o,r,i,a=n(8536),s=n(7854),u=n(1702),c=n(111),l=n(8880),f=n(2597),p=n(5465),d=n(6200),h=n(3501),v=\"Object already initialized\",g=s.TypeError,y=s.WeakMap;if(a||p.state){var m=p.state||(p.state=new y),b=u(m.get),x=u(m.has),w=u(m.set);o=function(t,e){if(x(m,t))throw new g(v);return e.facade=t,w(m,t,e),e},r=function(t){return b(m,t)||{}},i=function(t){return x(m,t)}}else{var E=d(\"state\");h[E]=!0,o=function(t,e){if(f(t,E))throw new g(v);return e.facade=t,l(t,E,e),e},r=function(t){return f(t,E)?t[E]:{}},i=function(t){return f(t,E)}}t.exports={set:o,get:r,has:i,enforce:function(t){return i(t)?r(t):o(t,{})},getterFor:function(t){return function(e){var n;if(!c(e)||(n=r(e)).type!==t)throw g(\"Incompatible receiver, \"+t+\" required\");return n}}}},7659:function(t,e,n){var o=n(5112),r=n(7497),i=o(\"iterator\"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||a[i]===t)}},3157:function(t,e,n){var o=n(4326);t.exports=Array.isArray||function(t){return\"Array\"==o(t)}},614:function(t){t.exports=function(t){return\"function\"==typeof t}},4411:function(t,e,n){var o=n(1702),r=n(7293),i=n(614),a=n(648),s=n(5005),u=n(2788),c=function(){},l=[],f=s(\"Reflect\",\"construct\"),p=/^\\s*(?:class|function)\\b/,d=o(p.exec),h=!p.exec(c),v=function(t){if(!i(t))return!1;try{return f(c,l,t),!0}catch(t){return!1}},g=function(t){if(!i(t))return!1;switch(a(t)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return h||!!d(p,u(t))}catch(t){return!0}};g.sham=!0,t.exports=!f||r((function(){var t;return v(v.call)||!v(Object)||!v((function(){t=!0}))||t}))?g:v},4705:function(t,e,n){var o=n(7293),r=n(614),i=/#|\\.prototype\\./,a=function(t,e){var n=u[s(t)];return n==l||n!=c&&(r(e)?o(e):!!e)},s=a.normalize=function(t){return String(t).replace(i,\".\").toLowerCase()},u=a.data={},c=a.NATIVE=\"N\",l=a.POLYFILL=\"P\";t.exports=a},5988:function(t,e,n){var o=n(111),r=Math.floor;t.exports=Number.isInteger||function(t){return!o(t)&&isFinite(t)&&r(t)===t}},111:function(t,e,n){var o=n(614);t.exports=function(t){return\"object\"==typeof t?null!==t:o(t)}},1913:function(t){t.exports=!1},7850:function(t,e,n){var o=n(111),r=n(4326),i=n(5112)(\"match\");t.exports=function(t){var e;return o(t)&&(void 0!==(e=t[i])?!!e:\"RegExp\"==r(t))}},2190:function(t,e,n){var o=n(5005),r=n(614),i=n(7976),a=n(3307),s=Object;t.exports=a?function(t){return\"symbol\"==typeof t}:function(t){var e=o(\"Symbol\");return r(e)&&i(e.prototype,s(t))}},9212:function(t,e,n){var o=n(6916),r=n(9670),i=n(8173);t.exports=function(t,e,n){var a,s;r(t);try{if(!(a=i(t,\"return\"))){if(\"throw\"===e)throw n;return n}a=o(a,t)}catch(t){s=!0,a=t}if(\"throw\"===e)throw n;if(s)throw a;return r(a),n}},3383:function(t,e,n){\"use strict\";var o,r,i,a=n(7293),s=n(614),u=n(30),c=n(9518),l=n(8052),f=n(5112),p=n(1913),d=f(\"iterator\"),h=!1;[].keys&&(\"next\"in(i=[].keys())?(r=c(c(i)))!==Object.prototype&&(o=r):h=!0),null==o||a((function(){var t={};return o[d].call(t)!==t}))?o={}:p&&(o=u(o)),s(o[d])||l(o,d,(function(){return this})),t.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:h}},7497:function(t){t.exports={}},6244:function(t,e,n){var o=n(7466);t.exports=function(t){return o(t.length)}},6339:function(t,e,n){var o=n(7293),r=n(614),i=n(2597),a=n(9781),s=n(6530).CONFIGURABLE,u=n(2788),c=n(9909),l=c.enforce,f=c.get,p=Object.defineProperty,d=a&&!o((function(){return 8!==p((function(){}),\"length\",{value:8}).length})),h=String(String).split(\"String\"),v=t.exports=function(t,e,n){\"Symbol(\"===String(e).slice(0,7)&&(e=\"[\"+String(e).replace(/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),n&&n.getter&&(e=\"get \"+e),n&&n.setter&&(e=\"set \"+e),(!i(t,\"name\")||s&&t.name!==e)&&(a?p(t,\"name\",{value:e,configurable:!0}):t.name=e),d&&n&&i(n,\"arity\")&&t.length!==n.arity&&p(t,\"length\",{value:n.arity});try{n&&i(n,\"constructor\")&&n.constructor?a&&p(t,\"prototype\",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var o=l(t);return i(o,\"source\")||(o.source=h.join(\"string\"==typeof e?e:\"\")),t};Function.prototype.toString=v((function(){return r(this)&&f(this).source||u(this)}),\"toString\")},4758:function(t){var e=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(t){var o=+t;return(o>0?n:e)(o)}},735:function(t,e,n){var o=n(133);t.exports=o&&!!Symbol.for&&!!Symbol.keyFor},133:function(t,e,n){var o=n(7392),r=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&o&&o<41}))},8536:function(t,e,n){var o=n(7854),r=n(614),i=n(2788),a=o.WeakMap;t.exports=r(a)&&/native code/.test(i(a))},3929:function(t,e,n){var o=n(7850),r=TypeError;t.exports=function(t){if(o(t))throw r(\"The method doesn't accept regular expressions\");return t}},1574:function(t,e,n){\"use strict\";var o=n(9781),r=n(1702),i=n(6916),a=n(7293),s=n(1956),u=n(5181),c=n(5296),l=n(7908),f=n(8361),p=Object.assign,d=Object.defineProperty,h=r([].concat);t.exports=!p||a((function(){if(o&&1!==p({b:1},p(d({},\"a\",{enumerable:!0,get:function(){d(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return t[n]=7,r.split(\"\").forEach((function(t){e[t]=t})),7!=p({},t)[n]||s(p({},e)).join(\"\")!=r}))?function(t,e){for(var n=l(t),r=arguments.length,a=1,p=u.f,d=c.f;r>a;)for(var v,g=f(arguments[a++]),y=p?h(s(g),p(g)):s(g),m=y.length,b=0;m>b;)v=y[b++],o&&!i(d,g,v)||(n[v]=g[v]);return n}:p},30:function(t,e,n){var o,r=n(9670),i=n(6048),a=n(748),s=n(3501),u=n(490),c=n(317),l=n(6200),f=l(\"IE_PROTO\"),p=function(){},d=function(t){return\"<script>\"+t+\"</\"+\"script>\"},h=function(t){t.write(d(\"\")),t.close();var e=t.parentWindow.Object;return t=null,e},v=function(){try{o=new ActiveXObject(\"htmlfile\")}catch(t){}var t,e;v=\"undefined\"!=typeof document?document.domain&&o?h(o):((e=c(\"iframe\")).style.display=\"none\",u.appendChild(e),e.src=String(\"javascript:\"),(t=e.contentWindow.document).open(),t.write(d(\"document.F=Object\")),t.close(),t.F):h(o);for(var n=a.length;n--;)delete v.prototype[a[n]];return v()};s[f]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(p.prototype=r(t),n=new p,p.prototype=null,n[f]=t):n=v(),void 0===e?n:i.f(n,e)}},6048:function(t,e,n){var o=n(9781),r=n(3353),i=n(3070),a=n(9670),s=n(5656),u=n(1956);e.f=o&&!r?Object.defineProperties:function(t,e){a(t);for(var n,o=s(e),r=u(e),c=r.length,l=0;c>l;)i.f(t,n=r[l++],o[n]);return t}},3070:function(t,e,n){var o=n(9781),r=n(4664),i=n(3353),a=n(9670),s=n(4948),u=TypeError,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,f=\"enumerable\",p=\"configurable\",d=\"writable\";e.f=o?i?function(t,e,n){if(a(t),e=s(e),a(n),\"function\"==typeof t&&\"prototype\"===e&&\"value\"in n&&d in n&&!n.writable){var o=l(t,e);o&&o.writable&&(t[e]=n.value,n={configurable:p in n?n.configurable:o.configurable,enumerable:f in n?n.enumerable:o.enumerable,writable:!1})}return c(t,e,n)}:c:function(t,e,n){if(a(t),e=s(e),a(n),r)try{return c(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw u(\"Accessors not supported\");return\"value\"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var o=n(9781),r=n(6916),i=n(5296),a=n(9114),s=n(5656),u=n(4948),c=n(2597),l=n(4664),f=Object.getOwnPropertyDescriptor;e.f=o?f:function(t,e){if(t=s(t),e=u(e),l)try{return f(t,e)}catch(t){}if(c(t,e))return a(!r(i.f,t,e),t[e])}},1156:function(t,e,n){var o=n(4326),r=n(5656),i=n(8006).f,a=n(1589),s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return s&&\"Window\"==o(t)?function(t){try{return i(t)}catch(t){return a(s)}}(t):i(r(t))}},8006:function(t,e,n){var o=n(6324),r=n(748).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return o(t,r)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},9518:function(t,e,n){var o=n(2597),r=n(614),i=n(7908),a=n(6200),s=n(8544),u=a(\"IE_PROTO\"),c=Object,l=c.prototype;t.exports=s?c.getPrototypeOf:function(t){var e=i(t);if(o(e,u))return e[u];var n=e.constructor;return r(n)&&e instanceof n?n.prototype:e instanceof c?l:null}},7976:function(t,e,n){var o=n(1702);t.exports=o({}.isPrototypeOf)},6324:function(t,e,n){var o=n(1702),r=n(2597),i=n(5656),a=n(1318).indexOf,s=n(3501),u=o([].push);t.exports=function(t,e){var n,o=i(t),c=0,l=[];for(n in o)!r(s,n)&&r(o,n)&&u(l,n);for(;e.length>c;)r(o,n=e[c++])&&(~a(l,n)||u(l,n));return l}},1956:function(t,e,n){var o=n(6324),r=n(748);t.exports=Object.keys||function(t){return o(t,r)}},5296:function(t,e){\"use strict\";var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,r=o&&!n.call({1:2},1);e.f=r?function(t){var e=o(this,t);return!!e&&e.enumerable}:n},9026:function(t,e,n){\"use strict\";var o=n(1913),r=n(7854),i=n(7293),a=n(8008);t.exports=o||!i((function(){if(!(a&&a<535)){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete r[t]}}))},7674:function(t,e,n){var o=n(1702),r=n(9670),i=n(6077);t.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var t,e=!1,n={};try{(t=o(Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set))(n,[]),e=n instanceof Array}catch(t){}return function(n,o){return r(n),i(o),e?t(n,o):n.__proto__=o,n}}():void 0)},288:function(t,e,n){\"use strict\";var o=n(1694),r=n(648);t.exports=o?{}.toString:function(){return\"[object \"+r(this)+\"]\"}},2140:function(t,e,n){var o=n(6916),r=n(614),i=n(111),a=TypeError;t.exports=function(t,e){var n,s;if(\"string\"===e&&r(n=t.toString)&&!i(s=o(n,t)))return s;if(r(n=t.valueOf)&&!i(s=o(n,t)))return s;if(\"string\"!==e&&r(n=t.toString)&&!i(s=o(n,t)))return s;throw a(\"Can't convert object to primitive value\")}},3887:function(t,e,n){var o=n(5005),r=n(1702),i=n(8006),a=n(5181),s=n(9670),u=r([].concat);t.exports=o(\"Reflect\",\"ownKeys\")||function(t){var e=i.f(s(t)),n=a.f;return n?u(e,n(t)):e}},857:function(t,e,n){var o=n(7854);t.exports=o},2626:function(t,e,n){var o=n(3070).f;t.exports=function(t,e,n){n in t||o(t,n,{configurable:!0,get:function(){return e[n]},set:function(t){e[n]=t}})}},7651:function(t,e,n){var o=n(6916),r=n(9670),i=n(614),a=n(4326),s=n(2261),u=TypeError;t.exports=function(t,e){var n=t.exec;if(i(n)){var c=o(n,t,e);return null!==c&&r(c),c}if(\"RegExp\"===a(t))return o(s,t,e);throw u(\"RegExp#exec called on incompatible receiver\")}},2261:function(t,e,n){\"use strict\";var o,r,i=n(6916),a=n(1702),s=n(1340),u=n(7066),c=n(2999),l=n(2309),f=n(30),p=n(9909).get,d=n(9441),h=n(7168),v=l(\"native-string-replace\",String.prototype.replace),g=RegExp.prototype.exec,y=g,m=a(\"\".charAt),b=a(\"\".indexOf),x=a(\"\".replace),w=a(\"\".slice),E=(r=/b*/g,i(g,o=/a/,\"a\"),i(g,r,\"a\"),0!==o.lastIndex||0!==r.lastIndex),O=c.BROKEN_CARET,S=void 0!==/()??/.exec(\"\")[1];(E||S||O||d||h)&&(y=function(t){var e,n,o,r,a,c,l,d=this,h=p(d),k=s(t),I=h.raw;if(I)return I.lastIndex=d.lastIndex,e=i(y,I,k),d.lastIndex=I.lastIndex,e;var C=h.groups,P=O&&d.sticky,A=i(u,d),M=d.source,T=0,D=k;if(P&&(A=x(A,\"y\",\"\"),-1===b(A,\"g\")&&(A+=\"g\"),D=w(k,d.lastIndex),d.lastIndex>0&&(!d.multiline||d.multiline&&\"\\n\"!==m(k,d.lastIndex-1))&&(M=\"(?: \"+M+\")\",D=\" \"+D,T++),n=new RegExp(\"^(?:\"+M+\")\",A)),S&&(n=new RegExp(\"^\"+M+\"$(?!\\\\s)\",A)),E&&(o=d.lastIndex),r=i(g,P?n:d,D),P?r?(r.input=w(r.input,T),r[0]=w(r[0],T),r.index=d.lastIndex,d.lastIndex+=r[0].length):d.lastIndex=0:E&&r&&(d.lastIndex=d.global?r.index+r[0].length:o),S&&r&&r.length>1&&i(v,r[0],n,(function(){for(a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(r[a]=void 0)})),r&&C)for(r.groups=c=f(null),a=0;a<C.length;a++)c[(l=C[a])[0]]=r[l[1]];return r}),t.exports=y},7066:function(t,e,n){\"use strict\";var o=n(9670);t.exports=function(){var t=o(this),e=\"\";return t.hasIndices&&(e+=\"d\"),t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.dotAll&&(e+=\"s\"),t.unicode&&(e+=\"u\"),t.unicodeSets&&(e+=\"v\"),t.sticky&&(e+=\"y\"),e}},4706:function(t,e,n){var o=n(6916),r=n(2597),i=n(7976),a=n(7066),s=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||\"flags\"in s||r(t,\"flags\")||!i(s,t)?e:o(a,t)}},2999:function(t,e,n){var o=n(7293),r=n(7854).RegExp,i=o((function(){var t=r(\"a\",\"y\");return t.lastIndex=2,null!=t.exec(\"abcd\")})),a=i||o((function(){return!r(\"a\",\"y\").sticky})),s=i||o((function(){var t=r(\"^r\",\"gy\");return t.lastIndex=2,null!=t.exec(\"str\")}));t.exports={BROKEN_CARET:s,MISSED_STICKY:a,UNSUPPORTED_Y:i}},9441:function(t,e,n){var o=n(7293),r=n(7854).RegExp;t.exports=o((function(){var t=r(\".\",\"s\");return!(t.dotAll&&t.exec(\"\\n\")&&\"s\"===t.flags)}))},7168:function(t,e,n){var o=n(7293),r=n(7854).RegExp;t.exports=o((function(){var t=r(\"(?<a>b)\",\"g\");return\"b\"!==t.exec(\"b\").groups.a||\"bc\"!==\"b\".replace(t,\"$<a>c\")}))},4488:function(t){var e=TypeError;t.exports=function(t){if(null==t)throw e(\"Can't call method on \"+t);return t}},6340:function(t,e,n){\"use strict\";var o=n(5005),r=n(3070),i=n(5112),a=n(9781),s=i(\"species\");t.exports=function(t){var e=o(t),n=r.f;a&&e&&!e[s]&&n(e,s,{configurable:!0,get:function(){return this}})}},8003:function(t,e,n){var o=n(3070).f,r=n(2597),i=n(5112)(\"toStringTag\");t.exports=function(t,e,n){t&&!n&&(t=t.prototype),t&&!r(t,i)&&o(t,i,{configurable:!0,value:e})}},6200:function(t,e,n){var o=n(2309),r=n(9711),i=o(\"keys\");t.exports=function(t){return i[t]||(i[t]=r(t))}},5465:function(t,e,n){var o=n(7854),r=n(3072),i=\"__core-js_shared__\",a=o[i]||r(i,{});t.exports=a},2309:function(t,e,n){var o=n(1913),r=n(5465);(t.exports=function(t,e){return r[t]||(r[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:\"3.23.5\",mode:o?\"pure\":\"global\",copyright:\"© 2014-2022 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.23.5/LICENSE\",source:\"https://github.com/zloirock/core-js\"})},6707:function(t,e,n){var o=n(9670),r=n(9483),i=n(5112)(\"species\");t.exports=function(t,e){var n,a=o(t).constructor;return void 0===a||null==(n=o(a)[i])?e:r(n)}},8710:function(t,e,n){var o=n(1702),r=n(9303),i=n(1340),a=n(4488),s=o(\"\".charAt),u=o(\"\".charCodeAt),c=o(\"\".slice),l=function(t){return function(e,n){var o,l,f=i(a(e)),p=r(n),d=f.length;return p<0||p>=d?t?\"\":void 0:(o=u(f,p))<55296||o>56319||p+1===d||(l=u(f,p+1))<56320||l>57343?t?s(f,p):o:t?c(f,p,p+2):l-56320+(o-55296<<10)+65536}};t.exports={codeAt:l(!1),charAt:l(!0)}},6091:function(t,e,n){var o=n(6530).PROPER,r=n(7293),i=n(1361);t.exports=function(t){return r((function(){return!!i[t]()||\"​…᠎\"!==\"​…᠎\"[t]()||o&&i[t].name!==t}))}},3111:function(t,e,n){var o=n(1702),r=n(4488),i=n(1340),a=n(1361),s=o(\"\".replace),u=\"[\"+a+\"]\",c=RegExp(\"^\"+u+u+\"*\"),l=RegExp(u+u+\"*$\"),f=function(t){return function(e){var n=i(r(e));return 1&t&&(n=s(n,c,\"\")),2&t&&(n=s(n,l,\"\")),n}};t.exports={start:f(1),end:f(2),trim:f(3)}},6532:function(t,e,n){var o=n(6916),r=n(5005),i=n(5112),a=n(8052);t.exports=function(){var t=r(\"Symbol\"),e=t&&t.prototype,n=e&&e.valueOf,s=i(\"toPrimitive\");e&&!e[s]&&a(e,s,(function(t){return o(n,this)}),{arity:1})}},863:function(t,e,n){var o=n(1702);t.exports=o(1..valueOf)},1400:function(t,e,n){var o=n(9303),r=Math.max,i=Math.min;t.exports=function(t,e){var n=o(t);return n<0?r(n+e,0):i(n,e)}},5656:function(t,e,n){var o=n(8361),r=n(4488);t.exports=function(t){return o(r(t))}},9303:function(t,e,n){var o=n(4758);t.exports=function(t){var e=+t;return e!=e||0===e?0:o(e)}},7466:function(t,e,n){var o=n(9303),r=Math.min;t.exports=function(t){return t>0?r(o(t),9007199254740991):0}},7908:function(t,e,n){var o=n(4488),r=Object;t.exports=function(t){return r(o(t))}},7593:function(t,e,n){var o=n(6916),r=n(111),i=n(2190),a=n(8173),s=n(2140),u=n(5112),c=TypeError,l=u(\"toPrimitive\");t.exports=function(t,e){if(!r(t)||i(t))return t;var n,u=a(t,l);if(u){if(void 0===e&&(e=\"default\"),n=o(u,t,e),!r(n)||i(n))return n;throw c(\"Can't convert object to primitive value\")}return void 0===e&&(e=\"number\"),s(t,e)}},4948:function(t,e,n){var o=n(7593),r=n(2190);t.exports=function(t){var e=o(t,\"string\");return r(e)?e:e+\"\"}},1694:function(t,e,n){var o={};o[n(5112)(\"toStringTag\")]=\"z\",t.exports=\"[object z]\"===String(o)},1340:function(t,e,n){var o=n(648),r=String;t.exports=function(t){if(\"Symbol\"===o(t))throw TypeError(\"Cannot convert a Symbol value to a string\");return r(t)}},6330:function(t){var e=String;t.exports=function(t){try{return e(t)}catch(t){return\"Object\"}}},9711:function(t,e,n){var o=n(1702),r=0,i=Math.random(),a=o(1..toString);t.exports=function(t){return\"Symbol(\"+(void 0===t?\"\":t)+\")_\"+a(++r+i,36)}},3307:function(t,e,n){var o=n(133);t.exports=o&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},3353:function(t,e,n){var o=n(9781),r=n(7293);t.exports=o&&r((function(){return 42!=Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype}))},6061:function(t,e,n){var o=n(5112);e.f=o},5112:function(t,e,n){var o=n(7854),r=n(2309),i=n(2597),a=n(9711),s=n(133),u=n(3307),c=r(\"wks\"),l=o.Symbol,f=l&&l.for,p=u?l:l&&l.withoutSetter||a;t.exports=function(t){if(!i(c,t)||!s&&\"string\"!=typeof c[t]){var e=\"Symbol.\"+t;s&&i(l,t)?c[t]=l[t]:c[t]=u&&f?f(e):p(e)}return c[t]}},1361:function(t){t.exports=\"\\t\\n\\v\\f\\r                 \\u2028\\u2029\\ufeff\"},2222:function(t,e,n){\"use strict\";var o=n(2109),r=n(7293),i=n(3157),a=n(111),s=n(7908),u=n(6244),c=n(7207),l=n(6135),f=n(5417),p=n(1194),d=n(5112),h=n(7392),v=d(\"isConcatSpreadable\"),g=h>=51||!r((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),y=p(\"concat\"),m=function(t){if(!a(t))return!1;var e=t[v];return void 0!==e?!!e:i(t)};o({target:\"Array\",proto:!0,arity:1,forced:!g||!y},{concat:function(t){var e,n,o,r,i,a=s(this),p=f(a,0),d=0;for(e=-1,o=arguments.length;e<o;e++)if(m(i=-1===e?a:arguments[e]))for(r=u(i),c(d+r),n=0;n<r;n++,d++)n in i&&l(p,d,i[n]);else c(d+1),l(p,d++,i);return p.length=d,p}})},7327:function(t,e,n){\"use strict\";var o=n(2109),r=n(2092).filter;o({target:\"Array\",proto:!0,forced:!n(1194)(\"filter\")},{filter:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},1038:function(t,e,n){var o=n(2109),r=n(8457);o({target:\"Array\",stat:!0,forced:!n(7072)((function(t){Array.from(t)}))},{from:r})},6699:function(t,e,n){\"use strict\";var o=n(2109),r=n(1318).includes,i=n(7293),a=n(1223);o({target:\"Array\",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),a(\"includes\")},2772:function(t,e,n){\"use strict\";var o=n(2109),r=n(1702),i=n(1318).indexOf,a=n(9341),s=r([].indexOf),u=!!s&&1/s([1],1,-0)<0,c=a(\"indexOf\");o({target:\"Array\",proto:!0,forced:u||!c},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return u?s(this,t,e)||0:i(this,t,e)}})},6992:function(t,e,n){\"use strict\";var o=n(5656),r=n(1223),i=n(7497),a=n(9909),s=n(3070).f,u=n(654),c=n(1913),l=n(9781),f=\"Array Iterator\",p=a.set,d=a.getterFor(f);t.exports=u(Array,\"Array\",(function(t,e){p(this,{type:f,target:o(t),index:0,kind:e})}),(function(){var t=d(this),e=t.target,n=t.kind,o=t.index++;return!e||o>=e.length?(t.target=void 0,{value:void 0,done:!0}):\"keys\"==n?{value:o,done:!1}:\"values\"==n?{value:e[o],done:!1}:{value:[o,e[o]],done:!1}}),\"values\");var h=i.Arguments=i.Array;if(r(\"keys\"),r(\"values\"),r(\"entries\"),!c&&l&&\"values\"!==h.name)try{s(h,\"name\",{value:\"values\"})}catch(t){}},9600:function(t,e,n){\"use strict\";var o=n(2109),r=n(1702),i=n(8361),a=n(5656),s=n(9341),u=r([].join),c=i!=Object,l=s(\"join\",\",\");o({target:\"Array\",proto:!0,forced:c||!l},{join:function(t){return u(a(this),void 0===t?\",\":t)}})},1249:function(t,e,n){\"use strict\";var o=n(2109),r=n(2092).map;o({target:\"Array\",proto:!0,forced:!n(1194)(\"map\")},{map:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},5827:function(t,e,n){\"use strict\";var o=n(2109),r=n(3671).left,i=n(9341),a=n(7392),s=n(5268);o({target:\"Array\",proto:!0,forced:!i(\"reduce\")||!s&&a>79&&a<83},{reduce:function(t){var e=arguments.length;return r(this,t,e,e>1?arguments[1]:void 0)}})},7042:function(t,e,n){\"use strict\";var o=n(2109),r=n(3157),i=n(4411),a=n(111),s=n(1400),u=n(6244),c=n(5656),l=n(6135),f=n(5112),p=n(1194),d=n(206),h=p(\"slice\"),v=f(\"species\"),g=Array,y=Math.max;o({target:\"Array\",proto:!0,forced:!h},{slice:function(t,e){var n,o,f,p=c(this),h=u(p),m=s(t,h),b=s(void 0===e?h:e,h);if(r(p)&&(n=p.constructor,(i(n)&&(n===g||r(n.prototype))||a(n)&&null===(n=n[v]))&&(n=void 0),n===g||void 0===n))return d(p,m,b);for(o=new(void 0===n?g:n)(y(b-m,0)),f=0;m<b;m++,f++)m in p&&l(o,f,p[m]);return o.length=f,o}})},2707:function(t,e,n){\"use strict\";var o=n(2109),r=n(1702),i=n(9662),a=n(7908),s=n(6244),u=n(5117),c=n(1340),l=n(7293),f=n(4362),p=n(9341),d=n(8886),h=n(256),v=n(7392),g=n(8008),y=[],m=r(y.sort),b=r(y.push),x=l((function(){y.sort(void 0)})),w=l((function(){y.sort(null)})),E=p(\"sort\"),O=!l((function(){if(v)return v<70;if(!(d&&d>3)){if(h)return!0;if(g)return g<603;var t,e,n,o,r=\"\";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(o=0;o<47;o++)y.push({k:e+o,v:n})}for(y.sort((function(t,e){return e.v-t.v})),o=0;o<y.length;o++)e=y[o].k.charAt(0),r.charAt(r.length-1)!==e&&(r+=e);return\"DGBEFHACIJK\"!==r}}));o({target:\"Array\",proto:!0,forced:x||!w||!E||!O},{sort:function(t){void 0!==t&&i(t);var e=a(this);if(O)return void 0===t?m(e):m(e,t);var n,o,r=[],l=s(e);for(o=0;o<l;o++)o in e&&b(r,e[o]);for(f(r,function(t){return function(e,n){return void 0===n?-1:void 0===e?1:void 0!==t?+t(e,n)||0:c(e)>c(n)?1:-1}}(t)),n=r.length,o=0;o<n;)e[o]=r[o++];for(;o<l;)u(e,o++);return e}})},561:function(t,e,n){\"use strict\";var o=n(2109),r=n(7908),i=n(1400),a=n(9303),s=n(6244),u=n(7207),c=n(5417),l=n(6135),f=n(5117),p=n(1194)(\"splice\"),d=Math.max,h=Math.min;o({target:\"Array\",proto:!0,forced:!p},{splice:function(t,e){var n,o,p,v,g,y,m=r(this),b=s(m),x=i(t,b),w=arguments.length;for(0===w?n=o=0:1===w?(n=0,o=b-x):(n=w-2,o=h(d(a(e),0),b-x)),u(b+n-o),p=c(m,o),v=0;v<o;v++)(g=x+v)in m&&l(p,v,m[g]);if(p.length=o,n<o){for(v=x;v<b-o;v++)y=v+n,(g=v+o)in m?m[y]=m[g]:f(m,y);for(v=b;v>b-o+n;v--)f(m,v-1)}else if(n>o)for(v=b-o;v>x;v--)y=v+n-1,(g=v+o-1)in m?m[y]=m[g]:f(m,y);for(v=0;v<n;v++)m[v+x]=arguments[v+2];return m.length=b-o+n,p}})},8309:function(t,e,n){var o=n(9781),r=n(6530).EXISTS,i=n(1702),a=n(3070).f,s=Function.prototype,u=i(s.toString),c=/function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/,l=i(c.exec);o&&!r&&a(s,\"name\",{configurable:!0,get:function(){try{return l(c,u(this))[1]}catch(t){return\"\"}}})},8862:function(t,e,n){var o=n(2109),r=n(5005),i=n(2104),a=n(6916),s=n(1702),u=n(7293),c=n(3157),l=n(614),f=n(111),p=n(2190),d=n(206),h=n(133),v=r(\"JSON\",\"stringify\"),g=s(/./.exec),y=s(\"\".charAt),m=s(\"\".charCodeAt),b=s(\"\".replace),x=s(1..toString),w=/[\\uD800-\\uDFFF]/g,E=/^[\\uD800-\\uDBFF]$/,O=/^[\\uDC00-\\uDFFF]$/,S=!h||u((function(){var t=r(\"Symbol\")();return\"[null]\"!=v([t])||\"{}\"!=v({a:t})||\"{}\"!=v(Object(t))})),k=u((function(){return'\"\\\\udf06\\\\ud834\"'!==v(\"\\udf06\\ud834\")||'\"\\\\udead\"'!==v(\"\\udead\")})),I=function(t,e){var n=d(arguments),o=e;if((f(e)||void 0!==t)&&!p(t))return c(e)||(e=function(t,e){if(l(o)&&(e=a(o,this,t,e)),!p(e))return e}),n[1]=e,i(v,null,n)},C=function(t,e,n){var o=y(n,e-1),r=y(n,e+1);return g(E,t)&&!g(O,r)||g(O,t)&&!g(E,o)?\"\\\\u\"+x(m(t,0),16):t};v&&o({target:\"JSON\",stat:!0,arity:3,forced:S||k},{stringify:function(t,e,n){var o=d(arguments),r=i(S?I:v,null,o);return k&&\"string\"==typeof r?b(r,w,C):r}})},9653:function(t,e,n){\"use strict\";var o=n(9781),r=n(7854),i=n(1702),a=n(4705),s=n(8052),u=n(2597),c=n(9587),l=n(7976),f=n(2190),p=n(7593),d=n(7293),h=n(8006).f,v=n(1236).f,g=n(3070).f,y=n(863),m=n(3111).trim,b=\"Number\",x=r.Number,w=x.prototype,E=r.TypeError,O=i(\"\".slice),S=i(\"\".charCodeAt),k=function(t){var e=p(t,\"number\");return\"bigint\"==typeof e?e:I(e)},I=function(t){var e,n,o,r,i,a,s,u,c=p(t,\"number\");if(f(c))throw E(\"Cannot convert a Symbol value to a number\");if(\"string\"==typeof c&&c.length>2)if(c=m(c),43===(e=S(c,0))||45===e){if(88===(n=S(c,2))||120===n)return NaN}else if(48===e){switch(S(c,1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+c}for(a=(i=O(c,2)).length,s=0;s<a;s++)if((u=S(i,s))<48||u>r)return NaN;return parseInt(i,o)}return+c};if(a(b,!x(\" 0o1\")||!x(\"0b1\")||x(\"+0x1\"))){for(var C,P=function(t){var e=arguments.length<1?0:x(k(t)),n=this;return l(w,n)&&d((function(){y(n)}))?c(Object(e),n,P):e},A=o?h(x):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range\".split(\",\"),M=0;A.length>M;M++)u(x,C=A[M])&&!u(P,C)&&g(P,C,v(x,C));P.prototype=w,w.constructor=P,s(r,b,P,{constructor:!0})}},3161:function(t,e,n){n(2109)({target:\"Number\",stat:!0},{isInteger:n(5988)})},9601:function(t,e,n){var o=n(2109),r=n(1574);o({target:\"Object\",stat:!0,arity:2,forced:Object.assign!==r},{assign:r})},9595:function(t,e,n){\"use strict\";var o=n(2109),r=n(9781),i=n(9026),a=n(9662),s=n(7908),u=n(3070);r&&o({target:\"Object\",proto:!0,forced:i},{__defineGetter__:function(t,e){u.f(s(this),t,{get:a(e),enumerable:!0,configurable:!0})}})},5003:function(t,e,n){var o=n(2109),r=n(7293),i=n(5656),a=n(1236).f,s=n(9781),u=r((function(){a(1)}));o({target:\"Object\",stat:!0,forced:!s||u,sham:!s},{getOwnPropertyDescriptor:function(t,e){return a(i(t),e)}})},9337:function(t,e,n){var o=n(2109),r=n(9781),i=n(3887),a=n(5656),s=n(1236),u=n(6135);o({target:\"Object\",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(t){for(var e,n,o=a(t),r=s.f,c=i(o),l={},f=0;c.length>f;)void 0!==(n=r(o,e=c[f++]))&&u(l,e,n);return l}})},6210:function(t,e,n){var o=n(2109),r=n(7293),i=n(1156).f;o({target:\"Object\",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},9660:function(t,e,n){var o=n(2109),r=n(133),i=n(7293),a=n(5181),s=n(7908);o({target:\"Object\",stat:!0,forced:!r||i((function(){a.f(1)}))},{getOwnPropertySymbols:function(t){var e=a.f;return e?e(s(t)):[]}})},7941:function(t,e,n){var o=n(2109),r=n(7908),i=n(1956);o({target:\"Object\",stat:!0,forced:n(7293)((function(){i(1)}))},{keys:function(t){return i(r(t))}})},1539:function(t,e,n){var o=n(1694),r=n(8052),i=n(288);o||r(Object.prototype,\"toString\",i,{unsafe:!0})},4603:function(t,e,n){var o=n(9781),r=n(7854),i=n(1702),a=n(4705),s=n(9587),u=n(8880),c=n(8006).f,l=n(7976),f=n(7850),p=n(1340),d=n(4706),h=n(2999),v=n(2626),g=n(8052),y=n(7293),m=n(2597),b=n(9909).enforce,x=n(6340),w=n(5112),E=n(9441),O=n(7168),S=w(\"match\"),k=r.RegExp,I=k.prototype,C=r.SyntaxError,P=i(I.exec),A=i(\"\".charAt),M=i(\"\".replace),T=i(\"\".indexOf),D=i(\"\".slice),N=/^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/,j=/a/g,R=/a/g,L=new k(j)!==j,B=h.MISSED_STICKY,F=h.UNSUPPORTED_Y,_=o&&(!L||B||E||O||y((function(){return R[S]=!1,k(j)!=j||k(R)==R||\"/a/i\"!=k(j,\"i\")})));if(a(\"RegExp\",_)){for(var K=function(t,e){var n,o,r,i,a,c,h=l(I,this),v=f(t),g=void 0===e,y=[],x=t;if(!h&&v&&g&&t.constructor===K)return t;if((v||l(I,t))&&(t=t.source,g&&(e=d(x))),t=void 0===t?\"\":p(t),e=void 0===e?\"\":p(e),x=t,E&&\"dotAll\"in j&&(o=!!e&&T(e,\"s\")>-1)&&(e=M(e,/s/g,\"\")),n=e,B&&\"sticky\"in j&&(r=!!e&&T(e,\"y\")>-1)&&F&&(e=M(e,/y/g,\"\")),O&&(t=(i=function(t){for(var e,n=t.length,o=0,r=\"\",i=[],a={},s=!1,u=!1,c=0,l=\"\";o<=n;o++){if(\"\\\\\"===(e=A(t,o)))e+=A(t,++o);else if(\"]\"===e)s=!1;else if(!s)switch(!0){case\"[\"===e:s=!0;break;case\"(\"===e:P(N,D(t,o+1))&&(o+=2,u=!0),r+=e,c++;continue;case\">\"===e&&u:if(\"\"===l||m(a,l))throw new C(\"Invalid capture group name\");a[l]=!0,i[i.length]=[l,c],u=!1,l=\"\";continue}u?l+=e:r+=e}return[r,i]}(t))[0],y=i[1]),a=s(k(t,e),h?this:I,K),(o||r||y.length)&&(c=b(a),o&&(c.dotAll=!0,c.raw=K(function(t){for(var e,n=t.length,o=0,r=\"\",i=!1;o<=n;o++)\"\\\\\"!==(e=A(t,o))?i||\".\"!==e?(\"[\"===e?i=!0:\"]\"===e&&(i=!1),r+=e):r+=\"[\\\\s\\\\S]\":r+=e+A(t,++o);return r}(t),n)),r&&(c.sticky=!0),y.length&&(c.groups=y)),t!==x)try{u(a,\"source\",\"\"===x?\"(?:)\":x)}catch(t){}return a},U=c(k),H=0;U.length>H;)v(K,k,U[H++]);I.constructor=K,K.prototype=I,g(r,\"RegExp\",K,{constructor:!0})}x(\"RegExp\")},4916:function(t,e,n){\"use strict\";var o=n(2109),r=n(2261);o({target:\"RegExp\",proto:!0,forced:/./.exec!==r},{exec:r})},9714:function(t,e,n){\"use strict\";var o=n(6530).PROPER,r=n(8052),i=n(9670),a=n(1340),s=n(7293),u=n(4706),c=\"toString\",l=RegExp.prototype.toString,f=s((function(){return\"/a/b\"!=l.call({source:\"a\",flags:\"b\"})})),p=o&&l.name!=c;(f||p)&&r(RegExp.prototype,c,(function(){var t=i(this);return\"/\"+a(t.source)+\"/\"+a(u(t))}),{unsafe:!0})},2023:function(t,e,n){\"use strict\";var o=n(2109),r=n(1702),i=n(3929),a=n(4488),s=n(1340),u=n(4964),c=r(\"\".indexOf);o({target:\"String\",proto:!0,forced:!u(\"includes\")},{includes:function(t){return!!~c(s(a(this)),s(i(t)),arguments.length>1?arguments[1]:void 0)}})},8783:function(t,e,n){\"use strict\";var o=n(8710).charAt,r=n(1340),i=n(9909),a=n(654),s=\"String Iterator\",u=i.set,c=i.getterFor(s);a(String,\"String\",(function(t){u(this,{type:s,string:r(t),index:0})}),(function(){var t,e=c(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=o(n,r),e.index+=t.length,{value:t,done:!1})}))},6373:function(t,e,n){\"use strict\";var o=n(2109),r=n(6916),i=n(1702),a=n(4994),s=n(4488),u=n(7466),c=n(1340),l=n(9670),f=n(4326),p=n(7850),d=n(4706),h=n(8173),v=n(8052),g=n(7293),y=n(5112),m=n(6707),b=n(1530),x=n(7651),w=n(9909),E=n(1913),O=y(\"matchAll\"),S=\"RegExp String\",k=\"RegExp String Iterator\",I=w.set,C=w.getterFor(k),P=RegExp.prototype,A=TypeError,M=i(\"\".indexOf),T=i(\"\".matchAll),D=!!T&&!g((function(){T(\"a\",/./)})),N=a((function(t,e,n,o){I(this,{type:k,regexp:t,string:e,global:n,unicode:o,done:!1})}),S,(function(){var t=C(this);if(t.done)return{value:void 0,done:!0};var e=t.regexp,n=t.string,o=x(e,n);return null===o?{value:void 0,done:t.done=!0}:t.global?(\"\"===c(o[0])&&(e.lastIndex=b(n,u(e.lastIndex),t.unicode)),{value:o,done:!1}):(t.done=!0,{value:o,done:!1})})),j=function(t){var e,n,o,r=l(this),i=c(t),a=m(r,RegExp),s=c(d(r));return e=new a(a===RegExp?r.source:r,s),n=!!~M(s,\"g\"),o=!!~M(s,\"u\"),e.lastIndex=u(r.lastIndex),new N(e,i,n,o)};o({target:\"String\",proto:!0,forced:D},{matchAll:function(t){var e,n,o,i,a=s(this);if(null!=t){if(p(t)&&(e=c(s(d(t))),!~M(e,\"g\")))throw A(\"`.matchAll` does not allow non-global regexes\");if(D)return T(a,t);if(void 0===(o=h(t,O))&&E&&\"RegExp\"==f(t)&&(o=j),o)return r(o,t,a)}else if(D)return T(a,t);return n=c(a),i=new RegExp(t,\"g\"),E?r(j,i,n):i[O](n)}}),E||O in P||v(P,O,j)},4723:function(t,e,n){\"use strict\";var o=n(6916),r=n(7007),i=n(9670),a=n(7466),s=n(1340),u=n(4488),c=n(8173),l=n(1530),f=n(7651);r(\"match\",(function(t,e,n){return[function(e){var n=u(this),r=null==e?void 0:c(e,t);return r?o(r,e,n):new RegExp(e)[t](s(n))},function(t){var o=i(this),r=s(t),u=n(e,o,r);if(u.done)return u.value;if(!o.global)return f(o,r);var c=o.unicode;o.lastIndex=0;for(var p,d=[],h=0;null!==(p=f(o,r));){var v=s(p[0]);d[h]=v,\"\"===v&&(o.lastIndex=l(r,a(o.lastIndex),c)),h++}return 0===h?null:d}]}))},5306:function(t,e,n){\"use strict\";var o=n(2104),r=n(6916),i=n(1702),a=n(7007),s=n(7293),u=n(9670),c=n(614),l=n(9303),f=n(7466),p=n(1340),d=n(4488),h=n(1530),v=n(8173),g=n(647),y=n(7651),m=n(5112)(\"replace\"),b=Math.max,x=Math.min,w=i([].concat),E=i([].push),O=i(\"\".indexOf),S=i(\"\".slice),k=\"$0\"===\"a\".replace(/./,\"$0\"),I=!!/./[m]&&\"\"===/./[m](\"a\",\"$0\");a(\"replace\",(function(t,e,n){var i=I?\"$\":\"$0\";return[function(t,n){var o=d(this),i=null==t?void 0:v(t,m);return i?r(i,t,o,n):r(e,p(o),t,n)},function(t,r){var a=u(this),s=p(t);if(\"string\"==typeof r&&-1===O(r,i)&&-1===O(r,\"$<\")){var d=n(e,a,s,r);if(d.done)return d.value}var v=c(r);v||(r=p(r));var m=a.global;if(m){var k=a.unicode;a.lastIndex=0}for(var I=[];;){var C=y(a,s);if(null===C)break;if(E(I,C),!m)break;\"\"===p(C[0])&&(a.lastIndex=h(s,f(a.lastIndex),k))}for(var P,A=\"\",M=0,T=0;T<I.length;T++){for(var D=p((C=I[T])[0]),N=b(x(l(C.index),s.length),0),j=[],R=1;R<C.length;R++)E(j,void 0===(P=C[R])?P:String(P));var L=C.groups;if(v){var B=w([D],j,N,s);void 0!==L&&E(B,L);var F=p(o(r,void 0,B))}else F=g(D,s,N,j,L,r);N>=M&&(A+=S(s,M,N)+F,M=N+D.length)}return A+S(s,M)}]}),!!s((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:\"7\"},t},\"7\"!==\"\".replace(t,\"$<a>\")}))||!k||I)},3123:function(t,e,n){\"use strict\";var o=n(2104),r=n(6916),i=n(1702),a=n(7007),s=n(7850),u=n(9670),c=n(4488),l=n(6707),f=n(1530),p=n(7466),d=n(1340),h=n(8173),v=n(1589),g=n(7651),y=n(2261),m=n(2999),b=n(7293),x=m.UNSUPPORTED_Y,w=4294967295,E=Math.min,O=[].push,S=i(/./.exec),k=i(O),I=i(\"\".slice);a(\"split\",(function(t,e,n){var i;return i=\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1).length||2!=\"ab\".split(/(?:ab)*/).length||4!=\".\".split(/(.?)(.?)/).length||\".\".split(/()()/).length>1||\"\".split(/.?/).length?function(t,n){var i=d(c(this)),a=void 0===n?w:n>>>0;if(0===a)return[];if(void 0===t)return[i];if(!s(t))return r(e,i,t,a);for(var u,l,f,p=[],h=(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),g=0,m=new RegExp(t.source,h+\"g\");(u=r(y,m,i))&&!((l=m.lastIndex)>g&&(k(p,I(i,g,u.index)),u.length>1&&u.index<i.length&&o(O,p,v(u,1)),f=u[0].length,g=l,p.length>=a));)m.lastIndex===u.index&&m.lastIndex++;return g===i.length?!f&&S(m,\"\")||k(p,\"\"):k(p,I(i,g)),p.length>a?v(p,0,a):p}:\"0\".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:r(e,this,t,n)}:e,[function(e,n){var o=c(this),a=null==e?void 0:h(e,t);return a?r(a,e,o,n):r(i,d(o),e,n)},function(t,o){var r=u(this),a=d(t),s=n(i,r,a,o,i!==e);if(s.done)return s.value;var c=l(r,RegExp),h=r.unicode,v=(r.ignoreCase?\"i\":\"\")+(r.multiline?\"m\":\"\")+(r.unicode?\"u\":\"\")+(x?\"g\":\"y\"),y=new c(x?\"^(?:\"+r.source+\")\":r,v),m=void 0===o?w:o>>>0;if(0===m)return[];if(0===a.length)return null===g(y,a)?[a]:[];for(var b=0,O=0,S=[];O<a.length;){y.lastIndex=x?0:O;var C,P=g(y,x?I(a,O):a);if(null===P||(C=E(p(y.lastIndex+(x?O:0)),a.length))===b)O=f(a,O,h);else{if(k(S,I(a,b,O)),S.length===m)return S;for(var A=1;A<=P.length-1;A++)if(k(S,P[A]),S.length===m)return S;O=b=C}}return k(S,I(a,b)),S}]}),!!b((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n=\"ab\".split(t);return 2!==n.length||\"a\"!==n[0]||\"b\"!==n[1]})),x)},3210:function(t,e,n){\"use strict\";var o=n(2109),r=n(3111).trim;o({target:\"String\",proto:!0,forced:n(6091)(\"trim\")},{trim:function(){return r(this)}})},4032:function(t,e,n){\"use strict\";var o=n(2109),r=n(7854),i=n(6916),a=n(1702),s=n(1913),u=n(9781),c=n(133),l=n(7293),f=n(2597),p=n(7976),d=n(9670),h=n(5656),v=n(4948),g=n(1340),y=n(9114),m=n(30),b=n(1956),x=n(8006),w=n(1156),E=n(5181),O=n(1236),S=n(3070),k=n(6048),I=n(5296),C=n(8052),P=n(2309),A=n(6200),M=n(3501),T=n(9711),D=n(5112),N=n(6061),j=n(7235),R=n(6532),L=n(8003),B=n(9909),F=n(2092).forEach,_=A(\"hidden\"),K=\"Symbol\",U=B.set,H=B.getterFor(K),$=Object.prototype,G=r.Symbol,V=G&&G.prototype,z=r.TypeError,Y=r.QObject,W=O.f,X=S.f,J=w.f,q=I.f,Q=a([].push),Z=P(\"symbols\"),tt=P(\"op-symbols\"),et=P(\"wks\"),nt=!Y||!Y.prototype||!Y.prototype.findChild,ot=u&&l((function(){return 7!=m(X({},\"a\",{get:function(){return X(this,\"a\",{value:7}).a}})).a}))?function(t,e,n){var o=W($,e);o&&delete $[e],X(t,e,n),o&&t!==$&&X($,e,o)}:X,rt=function(t,e){var n=Z[t]=m(V);return U(n,{type:K,tag:t,description:e}),u||(n.description=e),n},it=function(t,e,n){t===$&&it(tt,e,n),d(t);var o=v(e);return d(n),f(Z,o)?(n.enumerable?(f(t,_)&&t[_][o]&&(t[_][o]=!1),n=m(n,{enumerable:y(0,!1)})):(f(t,_)||X(t,_,y(1,{})),t[_][o]=!0),ot(t,o,n)):X(t,o,n)},at=function(t,e){d(t);var n=h(e),o=b(n).concat(lt(n));return F(o,(function(e){u&&!i(st,n,e)||it(t,e,n[e])})),t},st=function(t){var e=v(t),n=i(q,this,e);return!(this===$&&f(Z,e)&&!f(tt,e))&&(!(n||!f(this,e)||!f(Z,e)||f(this,_)&&this[_][e])||n)},ut=function(t,e){var n=h(t),o=v(e);if(n!==$||!f(Z,o)||f(tt,o)){var r=W(n,o);return!r||!f(Z,o)||f(n,_)&&n[_][o]||(r.enumerable=!0),r}},ct=function(t){var e=J(h(t)),n=[];return F(e,(function(t){f(Z,t)||f(M,t)||Q(n,t)})),n},lt=function(t){var e=t===$,n=J(e?tt:h(t)),o=[];return F(n,(function(t){!f(Z,t)||e&&!f($,t)||Q(o,Z[t])})),o};c||(C(V=(G=function(){if(p(V,this))throw z(\"Symbol is not a constructor\");var t=arguments.length&&void 0!==arguments[0]?g(arguments[0]):void 0,e=T(t),n=function(t){this===$&&i(n,tt,t),f(this,_)&&f(this[_],e)&&(this[_][e]=!1),ot(this,e,y(1,t))};return u&&nt&&ot($,e,{configurable:!0,set:n}),rt(e,t)}).prototype,\"toString\",(function(){return H(this).tag})),C(G,\"withoutSetter\",(function(t){return rt(T(t),t)})),I.f=st,S.f=it,k.f=at,O.f=ut,x.f=w.f=ct,E.f=lt,N.f=function(t){return rt(D(t),t)},u&&(X(V,\"description\",{configurable:!0,get:function(){return H(this).description}}),s||C($,\"propertyIsEnumerable\",st,{unsafe:!0}))),o({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:G}),F(b(et),(function(t){j(t)})),o({target:K,stat:!0,forced:!c},{useSetter:function(){nt=!0},useSimple:function(){nt=!1}}),o({target:\"Object\",stat:!0,forced:!c,sham:!u},{create:function(t,e){return void 0===e?m(t):at(m(t),e)},defineProperty:it,defineProperties:at,getOwnPropertyDescriptor:ut}),o({target:\"Object\",stat:!0,forced:!c},{getOwnPropertyNames:ct}),R(),L(G,K),M[_]=!0},1817:function(t,e,n){\"use strict\";var o=n(2109),r=n(9781),i=n(7854),a=n(1702),s=n(2597),u=n(614),c=n(7976),l=n(1340),f=n(3070).f,p=n(9920),d=i.Symbol,h=d&&d.prototype;if(r&&u(d)&&(!(\"description\"in h)||void 0!==d().description)){var v={},g=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:l(arguments[0]),e=c(h,this)?new d(t):void 0===t?d():d(t);return\"\"===t&&(v[e]=!0),e};p(g,d),g.prototype=h,h.constructor=g;var y=\"Symbol(test)\"==String(d(\"test\")),m=a(h.toString),b=a(h.valueOf),x=/^Symbol\\((.*)\\)[^)]+$/,w=a(\"\".replace),E=a(\"\".slice);f(h,\"description\",{configurable:!0,get:function(){var t=b(this),e=m(t);if(s(v,t))return\"\";var n=y?E(e,7,-1):w(e,x,\"$1\");return\"\"===n?void 0:n}}),o({global:!0,constructor:!0,forced:!0},{Symbol:g})}},763:function(t,e,n){var o=n(2109),r=n(5005),i=n(2597),a=n(1340),s=n(2309),u=n(735),c=s(\"string-to-symbol-registry\"),l=s(\"symbol-to-string-registry\");o({target:\"Symbol\",stat:!0,forced:!u},{for:function(t){var e=a(t);if(i(c,e))return c[e];var n=r(\"Symbol\")(e);return c[e]=n,l[n]=e,n}})},2165:function(t,e,n){n(7235)(\"iterator\")},2526:function(t,e,n){n(4032),n(763),n(6620),n(8862),n(9660)},6620:function(t,e,n){var o=n(2109),r=n(2597),i=n(2190),a=n(6330),s=n(2309),u=n(735),c=s(\"symbol-to-string-registry\");o({target:\"Symbol\",stat:!0,forced:!u},{keyFor:function(t){if(!i(t))throw TypeError(a(t)+\" is not a symbol\");if(r(c,t))return c[t]}})},3728:function(t,e,n){n(6373)},4747:function(t,e,n){var o=n(7854),r=n(8324),i=n(8509),a=n(8533),s=n(8880),u=function(t){if(t&&t.forEach!==a)try{s(t,\"forEach\",a)}catch(e){t.forEach=a}};for(var c in r)r[c]&&u(o[c]&&o[c].prototype);u(i)},3948:function(t,e,n){var o=n(7854),r=n(8324),i=n(8509),a=n(6992),s=n(8880),u=n(5112),c=u(\"iterator\"),l=u(\"toStringTag\"),f=a.values,p=function(t,e){if(t){if(t[c]!==f)try{s(t,c,f)}catch(e){t[c]=f}if(t[l]||s(t,l,e),r[e])for(var n in a)if(t[n]!==a[n])try{s(t,n,a[n])}catch(e){t[n]=a[n]}}};for(var d in r)p(o[d]&&o[d].prototype,d);p(i,\"DOMTokenList\")}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var i=e[o]={exports:{}};return t[o](i,i.exports,n),i.exports}n.d=function(t,e){for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var o={};return function(){\"use strict\";n.r(o),n.d(o,{default:function(){return x}});n(3210),n(4916),n(5306),n(2772),n(8309),n(3123),n(1539),n(9714),n(561),n(9600),n(9595),n(7042);\"undefined\"==typeof Element||\"remove\"in Element.prototype||(Element.prototype.remove=function(){this.parentNode&&this.parentNode.removeChild(this)}),\"undefined\"!=typeof self&&\"document\"in self&&((!(\"classList\"in document.createElement(\"_\"))||document.createElementNS&&!(\"classList\"in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")))&&function(t){if(\"Element\"in t){var e=\"classList\",n=t.Element.prototype,o=Object,r=String.prototype.trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")},i=Array.prototype.indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1},a=function(t,e){this.name=t,this.code=DOMException[t],this.message=e},s=function(t,e){if(\"\"===e)throw new a(\"SYNTAX_ERR\",\"The token must not be empty.\");if(/\\s/.test(e))throw new a(\"INVALID_CHARACTER_ERR\",\"The token must not contain space characters.\");return i.call(t,e)},u=function(t){for(var e=r.call(t.getAttribute(\"class\")||\"\"),n=e?e.split(/\\s+/):[],o=0,i=n.length;o<i;o++)this.push(n[o]);this._updateClassName=function(){t.setAttribute(\"class\",this.toString())}},c=u.prototype=[],l=function(){return new u(this)};if(a.prototype=Error.prototype,c.item=function(t){return this[t]||null},c.contains=function(t){return~s(this,t+\"\")},c.add=function(){var t,e=arguments,n=0,o=e.length,r=!1;do{t=e[n]+\"\",~s(this,t)||(this.push(t),r=!0)}while(++n<o);r&&this._updateClassName()},c.remove=function(){var t,e,n=arguments,o=0,r=n.length,i=!1;do{for(t=n[o]+\"\",e=s(this,t);~e;)this.splice(e,1),i=!0,e=s(this,t)}while(++o<r);i&&this._updateClassName()},c.toggle=function(t,e){var n=this.contains(t),o=n?!0!==e&&\"remove\":!1!==e&&\"add\";return o&&this[o](t),!0===e||!1===e?e:!n},c.replace=function(t,e){var n=s(t+\"\");~n&&(this.splice(n,1,e),this._updateClassName())},c.toString=function(){return this.join(\" \")},o.defineProperty){var f={get:l,enumerable:!0,configurable:!0};try{o.defineProperty(n,e,f)}catch(t){void 0!==t.number&&-2146823252!==t.number||(f.enumerable=!1,o.defineProperty(n,e,f))}}else o.prototype.__defineGetter__&&n.__defineGetter__(e,l)}}(self),function(){var t=document.createElement(\"_\");if(t.classList.add(\"c1\",\"c2\"),!t.classList.contains(\"c2\")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var n,o=arguments.length;for(n=0;n<o;n++)t=arguments[n],e.call(this,t)}};e(\"add\"),e(\"remove\")}if(t.classList.toggle(\"c3\",!1),t.classList.contains(\"c3\")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return 1 in arguments&&!this.contains(t)==!e?e:n.call(this,t)}}\"replace\"in document.createElement(\"_\").classList||(DOMTokenList.prototype.replace=function(t,e){var n=this.toString().split(\" \"),o=n.indexOf(t+\"\");~o&&(n=n.slice(o),this.remove.apply(this,n),this.add(e),this.add.apply(this,n.slice(1)))}),t=null}());n(7327),n(2222),n(7941),n(4603),n(3728),n(2707),n(6699),n(2023),n(4747),n(9601),n(1249),n(1038),n(8783),n(2526),n(5003),n(9337),n(1817),n(2165),n(6992),n(3948),n(3161),n(9653),n(4723),n(5827),n(6210);function t(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||e(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function e(t,e){if(t){if(\"string\"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=t[n];return o}function i(t){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function a(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var u=function(){function n(t){var e=t.getOptions,o=t.getCaretPosition,r=t.getCaretPositionEnd,i=t.dispatch;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,n),s(this,\"isStandardButton\",(function(t){return t&&!(\"{\"===t[0]&&\"}\"===t[t.length-1])})),this.getOptions=e,this.getCaretPosition=o,this.getCaretPositionEnd=r,this.dispatch=i,n.bindMethods(n,this)}var o,r,u;return o=n,u=[{key:\"bindMethods\",value:function(t,n){var o,r=function(t,n){var o=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!o){if(Array.isArray(t)||(o=e(t))||n&&t&&\"number\"==typeof t.length){o&&(t=o);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,s=!0,u=!1;return{s:function(){o=o.call(t)},n:function(){var t=o.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==o.return||o.return()}finally{if(u)throw a}}}}(Object.getOwnPropertyNames(t.prototype));try{for(r.s();!(o=r.n()).done;){var i=o.value;\"constructor\"===i||\"bindMethods\"===i||(n[i]=n[i].bind(n))}}catch(t){r.e(t)}finally{r.f()}}}],(r=[{key:\"getButtonType\",value:function(t){return t.includes(\"{\")&&t.includes(\"}\")&&\"{//}\"!==t?\"functionBtn\":\"standardBtn\"}},{key:\"getButtonClass\",value:function(t){var e=this.getButtonType(t),n=t.replace(\"{\",\"\").replace(\"}\",\"\"),o=\"\";return\"standardBtn\"!==e&&(o=\" hg-button-\".concat(n)),\"hg-\".concat(e).concat(o)}},{key:\"getDefaultDiplay\",value:function(){return{\"{bksp}\":\"backspace\",\"{backspace}\":\"backspace\",\"{enter}\":\"< enter\",\"{shift}\":\"shift\",\"{shiftleft}\":\"shift\",\"{shiftright}\":\"shift\",\"{alt}\":\"alt\",\"{s}\":\"shift\",\"{tab}\":\"tab\",\"{lock}\":\"caps\",\"{capslock}\":\"caps\",\"{accept}\":\"Submit\",\"{space}\":\" \",\"{//}\":\" \",\"{esc}\":\"esc\",\"{escape}\":\"esc\",\"{f1}\":\"f1\",\"{f2}\":\"f2\",\"{f3}\":\"f3\",\"{f4}\":\"f4\",\"{f5}\":\"f5\",\"{f6}\":\"f6\",\"{f7}\":\"f7\",\"{f8}\":\"f8\",\"{f9}\":\"f9\",\"{f10}\":\"f10\",\"{f11}\":\"f11\",\"{f12}\":\"f12\",\"{numpaddivide}\":\"/\",\"{numlock}\":\"lock\",\"{arrowup}\":\"↑\",\"{arrowleft}\":\"←\",\"{arrowdown}\":\"↓\",\"{arrowright}\":\"→\",\"{prtscr}\":\"print\",\"{scrolllock}\":\"scroll\",\"{pause}\":\"pause\",\"{insert}\":\"ins\",\"{home}\":\"home\",\"{pageup}\":\"up\",\"{delete}\":\"del\",\"{forwarddelete}\":\"del\",\"{end}\":\"end\",\"{pagedown}\":\"down\",\"{numpadmultiply}\":\"*\",\"{numpadsubtract}\":\"-\",\"{numpadadd}\":\"+\",\"{numpadenter}\":\"enter\",\"{period}\":\".\",\"{numpaddecimal}\":\".\",\"{numpad0}\":\"0\",\"{numpad1}\":\"1\",\"{numpad2}\":\"2\",\"{numpad3}\":\"3\",\"{numpad4}\":\"4\",\"{numpad5}\":\"5\",\"{numpad6}\":\"6\",\"{numpad7}\":\"7\",\"{numpad8}\":\"8\",\"{numpad9}\":\"9\"}}},{key:\"getButtonDisplayName\",value:function(t,e,n){return(e=n?Object.assign({},this.getDefaultDiplay(),e):e||this.getDefaultDiplay())[t]||t}},{key:\"getUpdatedInput\",value:function(t,e,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n,r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=this.getOptions(),a=[n,o,r],s=e;return(\"{bksp}\"===t||\"{backspace}\"===t)&&s.length>0?s=this.removeAt.apply(this,[s].concat(a)):(\"{delete}\"===t||\"{forwarddelete}\"===t)&&s.length>0?s=this.removeForwardsAt.apply(this,[s].concat(a)):\"{space}\"===t?s=this.addStringAt.apply(this,[s,\" \"].concat(a)):\"{tab}\"!==t||\"boolean\"==typeof i.tabCharOnTab&&!1===i.tabCharOnTab?\"{enter}\"!==t&&\"{numpadenter}\"!==t||!i.newLineOnEnter?t.includes(\"numpad\")&&Number.isInteger(Number(t[t.length-2]))?s=this.addStringAt.apply(this,[s,t[t.length-2]].concat(a)):\"{numpaddivide}\"===t?s=this.addStringAt.apply(this,[s,\"/\"].concat(a)):\"{numpadmultiply}\"===t?s=this.addStringAt.apply(this,[s,\"*\"].concat(a)):\"{numpadsubtract}\"===t?s=this.addStringAt.apply(this,[s,\"-\"].concat(a)):\"{numpadadd}\"===t?s=this.addStringAt.apply(this,[s,\"+\"].concat(a)):\"{numpaddecimal}\"===t?s=this.addStringAt.apply(this,[s,\".\"].concat(a)):\"{\"===t||\"}\"===t?s=this.addStringAt.apply(this,[s,t].concat(a)):t.includes(\"{\")||t.includes(\"}\")||(s=this.addStringAt.apply(this,[s,t].concat(a))):s=this.addStringAt.apply(this,[s,\"\\n\"].concat(a)):s=this.addStringAt.apply(this,[s,\"\\t\"].concat(a)),s}},{key:\"updateCaretPos\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.updateCaretPosAction(t,e);this.dispatch((function(t){t.setCaretPosition(n)}))}},{key:\"updateCaretPosAction\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.getOptions(),o=this.getCaretPosition();return null!=o&&(e?o>0&&(o-=t):o+=t),n.debug&&console.log(\"Caret at:\",o),o}},{key:\"addStringAt\",value:function(t,e){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return o||0===o?(n=[t.slice(0,o),e,t.slice(r)].join(\"\"),this.isMaxLengthReached()||i&&this.updateCaretPos(e.length)):n=t+e,n}},{key:\"removeAt\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.length,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(0===n&&0===o)return t;if(n===o){var i=/([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g;n&&n>=0?t.substring(n-2,n).match(i)?(e=t.substr(0,n-2)+t.substr(n),r&&this.updateCaretPos(2,!0)):(e=t.substr(0,n-1)+t.substr(n),r&&this.updateCaretPos(1,!0)):t.slice(-2).match(i)?(e=t.slice(0,-2),r&&this.updateCaretPos(2,!0)):(e=t.slice(0,-1),r&&this.updateCaretPos(1,!0))}else e=t.slice(0,n)+t.slice(o),r&&this.dispatch((function(t){t.setCaretPosition(n)}));return e}},{key:\"removeForwardsAt\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.length,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(null==t||!t.length||null===n)return t;if(n===o){var i=/([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g,a=t.substring(n,n+2),s=a.match(i);e=s?t.substr(0,n)+t.substr(n+2):t.substr(0,n)+t.substr(n+1)}else e=t.slice(0,n)+t.slice(o),r&&this.dispatch((function(t){t.setCaretPosition(n)}));return e}},{key:\"handleMaxLength\",value:function(t,e){var n=this.getOptions(),o=n.maxLength,r=t[n.inputName||\"default\"],a=e.length-1>=o;if(e.length<=r.length)return!1;if(Number.isInteger(o))return n.debug&&console.log(\"maxLength (num) reached:\",a),a?(this.maxLengthReached=!0,!0):(this.maxLengthReached=!1,!1);if(\"object\"===i(o)){var s=e.length-1>=o[n.inputName||\"default\"];return n.debug&&console.log(\"maxLength (obj) reached:\",s),s?(this.maxLengthReached=!0,!0):(this.maxLengthReached=!1,!1)}}},{key:\"isMaxLengthReached\",value:function(){return Boolean(this.maxLengthReached)}},{key:\"isTouchDevice\",value:function(){return\"ontouchstart\"in window||navigator.maxTouchPoints}},{key:\"pointerEventsSupported\",value:function(){return!!window.PointerEvent}},{key:\"camelCase\",value:function(t){return t?t.toLowerCase().trim().split(/[.\\-_\\s]/g).reduce((function(t,e){return e.length?t+e[0].toUpperCase()+e.slice(1):t})):\"\"}},{key:\"chunkArray\",value:function(e,n){return t(Array(Math.ceil(e.length/n))).map((function(t,o){return e.slice(n*o,n+n*o)}))}}])&&a(o.prototype,r),u&&a(o,u),Object.defineProperty(o,\"prototype\",{writable:!1}),n}();s(u,\"noop\",(function(){}));var c=u;function l(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var f=function(){function t(e){var n=e.dispatch,o=e.getOptions;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.dispatch=n,this.getOptions=o,c.bindMethods(t,this)}var e,n,o;return e=t,(n=[{key:\"handleHighlightKeyDown\",value:function(t){var e=this.getOptions(),n=this.getSimpleKeyboardLayoutKey(t);this.dispatch((function(o){var r,i,a=o.getButtonElement(n),s=o.getButtonElement(\"{\".concat(n,\"}\"));if(a)r=a,i=n;else{if(!s)return;r=s,i=\"{\".concat(n,\"}\")}r&&(r.style.backgroundColor=e.physicalKeyboardHighlightBgColor||\"#dadce4\",r.style.color=e.physicalKeyboardHighlightTextColor||\"black\",e.physicalKeyboardHighlightPress&&(e.physicalKeyboardHighlightPressUsePointerEvents?r.onpointerdown():e.physicalKeyboardHighlightPressUseClick?r.click():o.handleButtonClicked(i,t)))}))}},{key:\"handleHighlightKeyUp\",value:function(t){var e=this.getOptions(),n=this.getSimpleKeyboardLayoutKey(t);this.dispatch((function(t){var o=t.getButtonElement(n)||t.getButtonElement(\"{\".concat(n,\"}\"));o&&o.removeAttribute&&(o.removeAttribute(\"style\"),e.physicalKeyboardHighlightPressUsePointerEvents&&o.onpointerup())}))}},{key:\"getSimpleKeyboardLayoutKey\",value:function(t){var e,n=\"\",o=t.code||t.key||this.keyCodeToKey(null==t?void 0:t.keyCode);return(n=null!=o&&o.includes(\"Numpad\")||null!=o&&o.includes(\"Shift\")||null!=o&&o.includes(\"Space\")||null!=o&&o.includes(\"Backspace\")||null!=o&&o.includes(\"Control\")||null!=o&&o.includes(\"Alt\")||null!=o&&o.includes(\"Meta\")?t.code||\"\":t.key||this.keyCodeToKey(null==t?void 0:t.keyCode)||\"\").length>1?null===(e=n)||void 0===e?void 0:e.toLowerCase():n}},{key:\"keyCodeToKey\",value:function(t){return{8:\"Backspace\",9:\"Tab\",13:\"Enter\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",48:\"0\",49:\"1\",50:\"2\",51:\"3\",52:\"4\",53:\"5\",54:\"6\",55:\"7\",56:\"8\",57:\"9\",65:\"A\",66:\"B\",67:\"C\",68:\"D\",69:\"E\",70:\"F\",71:\"G\",72:\"H\",73:\"I\",74:\"J\",75:\"K\",76:\"L\",77:\"M\",78:\"N\",79:\"O\",80:\"P\",81:\"Q\",82:\"R\",83:\"S\",84:\"T\",85:\"U\",86:\"V\",87:\"W\",88:\"X\",89:\"Y\",90:\"Z\",91:\"Meta\",96:\"Numpad0\",97:\"Numpad1\",98:\"Numpad2\",99:\"Numpad3\",100:\"Numpad4\",101:\"Numpad5\",102:\"Numpad6\",103:\"Numpad7\",104:\"Numpad8\",105:\"Numpad9\",106:\"NumpadMultiply\",107:\"NumpadAdd\",109:\"NumpadSubtract\",110:\"NumpadDecimal\",111:\"NumpadDivide\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\"}[t]}}])&&l(e.prototype,n),o&&l(e,o),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();function p(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var d=function(){function t(e){var n,o,r,i=e.utilities;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),r=0,(o=\"pageIndex\")in(n=this)?Object.defineProperty(n,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[o]=r,this.utilities=i,c.bindMethods(t,this),this.pageSize=this.utilities.getOptions().layoutCandidatesPageSize||5}var e,n,o;return e=t,(n=[{key:\"destroy\",value:function(){this.candidateBoxElement&&(this.candidateBoxElement.remove(),this.pageIndex=0)}},{key:\"show\",value:function(t){var e=this,n=t.candidateValue,o=t.targetElement,r=t.onSelect;if(n&&n.length){var i=this.utilities.chunkArray(n.split(\" \"),this.pageSize);this.renderPage({candidateListPages:i,targetElement:o,pageIndex:this.pageIndex,nbPages:i.length,onItemSelected:function(t,n){r(t,n),e.destroy()}})}}},{key:\"renderPage\",value:function(t){var e,n=this,o=t.candidateListPages,r=t.targetElement,i=t.pageIndex,a=t.nbPages,s=t.onItemSelected;null===(e=this.candidateBoxElement)||void 0===e||e.remove(),this.candidateBoxElement=document.createElement(\"div\"),this.candidateBoxElement.className=\"hg-candidate-box\";var u=document.createElement(\"ul\");u.className=\"hg-candidate-box-list\",o[i].forEach((function(t){var e=document.createElement(\"li\"),n=function(){var t=new MouseEvent(\"click\");return Object.defineProperty(t,\"target\",{value:e}),t};e.className=\"hg-candidate-box-list-item\",e.textContent=t,e.onclick=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n();return s(t,e)},u.appendChild(e)}));var c=i>0,l=document.createElement(\"div\");l.classList.add(\"hg-candidate-box-prev\"),c&&l.classList.add(\"hg-candidate-box-btn-active\"),l.onclick=function(){c&&n.renderPage({candidateListPages:o,targetElement:r,pageIndex:i-1,nbPages:a,onItemSelected:s})},this.candidateBoxElement.appendChild(l),this.candidateBoxElement.appendChild(u);var f=i<a-1,p=document.createElement(\"div\");p.classList.add(\"hg-candidate-box-next\"),f&&p.classList.add(\"hg-candidate-box-btn-active\"),p.onclick=function(){f&&n.renderPage({candidateListPages:o,targetElement:r,pageIndex:i+1,nbPages:a,onItemSelected:s})},this.candidateBoxElement.appendChild(p),r.prepend(this.candidateBoxElement)}}])&&p(e.prototype,n),o&&p(e,o),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();function h(t){return function(t){if(Array.isArray(t))return v(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return v(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function v(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=t[n];return o}function g(t){return(g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function y(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function m(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function b(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var x=function(){function t(e,n){var o=this;if(function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),b(this,\"defaultName\",\"default\"),b(this,\"activeInputElement\",null),b(this,\"handleParams\",(function(t,e){var n,o,r;if(\"string\"==typeof t)n=t.split(\".\").join(\"\"),o=document.querySelector(\".\".concat(n)),r=e;else if(t instanceof HTMLDivElement){if(!t.className)throw console.warn(\"Any DOM element passed as parameter must have a class.\"),new Error(\"KEYBOARD_DOM_CLASS_ERROR\");n=t.className.split(\" \")[0],o=t,r=e}else n=\"simple-keyboard\",o=document.querySelector(\".\".concat(n)),r=t;return{keyboardDOMClass:n,keyboardDOM:o,options:r}})),b(this,\"getOptions\",(function(){return o.options})),b(this,\"getCaretPosition\",(function(){return o.caretPosition})),b(this,\"getCaretPositionEnd\",(function(){return o.caretPositionEnd})),b(this,\"registerModule\",(function(t,e){o.modules[t]||(o.modules[t]={}),e(o.modules[t])})),b(this,\"getKeyboardClassString\",(function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=[o.keyboardDOMClass].concat(e).filter((function(t){return!!t}));return r.join(\" \")})),\"undefined\"!=typeof window){var r=this.handleParams(e,n),i=r.keyboardDOMClass,a=r.keyboardDOM,s=r.options,u=void 0===s?{}:s;this.utilities=new c({getOptions:this.getOptions,getCaretPosition:this.getCaretPosition,getCaretPositionEnd:this.getCaretPositionEnd,dispatch:this.dispatch}),this.caretPosition=null,this.caretPositionEnd=null,this.keyboardDOM=a,this.options=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?y(Object(n),!0).forEach((function(e){b(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({layoutName:\"default\",theme:\"hg-theme-default\",inputName:\"default\",preventMouseDownDefault:!1,enableLayoutCandidates:!0,excludeFromLayout:{}},u),this.keyboardPluginClasses=\"\",c.bindMethods(t,this);var l=this.options.inputName,p=void 0===l?this.defaultName:l;if(this.input={},this.input[p]=\"\",this.keyboardDOMClass=i,this.buttonElements={},window.SimpleKeyboardInstances||(window.SimpleKeyboardInstances={}),this.currentInstanceName=this.utilities.camelCase(this.keyboardDOMClass),window.SimpleKeyboardInstances[this.currentInstanceName]=this,this.allKeyboardInstances=window.SimpleKeyboardInstances,this.keyboardInstanceNames=Object.keys(window.SimpleKeyboardInstances),this.isFirstKeyboardInstance=this.keyboardInstanceNames[0]===this.currentInstanceName,this.physicalKeyboard=new f({dispatch:this.dispatch,getOptions:this.getOptions}),this.candidateBox=this.options.enableLayoutCandidates?new d({utilities:this.utilities}):null,!this.keyboardDOM)throw console.warn('\".'.concat(i,'\" was not found in the DOM.')),new Error(\"KEYBOARD_DOM_ERROR\");this.render(),this.modules={},this.loadModules()}}var e,n,o;return e=t,(n=[{key:\"setCaretPosition\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;this.caretPosition=t,this.caretPositionEnd=e}},{key:\"getInputCandidates\",value:function(t){var e=this,n=this.options,o=n.layoutCandidates,r=n.layoutCandidatesCaseSensitiveMatch;if(!o||\"object\"!==g(o))return{};var i=Object.keys(o).filter((function(n){var o=t.substring(0,e.getCaretPositionEnd()||0)||t,i=new RegExp(\"\".concat(n,\"$\"),r?\"g\":\"gi\");return!!h(o.matchAll(i)).length}));if(i.length>1){var a=i.sort((function(t,e){return e.length-t.length}))[0];return{candidateKey:a,candidateValue:o[a]}}if(i.length){var s=i[0];return{candidateKey:s,candidateValue:o[s]}}return{}}},{key:\"showCandidatesBox\",value:function(t,e,n){var o=this;this.candidateBox&&this.candidateBox.show({candidateValue:e,targetElement:n,onSelect:function(e,n){var r=o.options.layoutCandidatesCaseSensitiveMatch,i=e.normalize(\"NFD\"),a=o.getInput(o.options.inputName,!0),s=o.getCaretPositionEnd()||0,u=a.substring(0,s||0)||a,c=new RegExp(\"\".concat(t,\"$\"),r?\"g\":\"gi\"),l=u.replace(c,i),f=a.replace(u,l),p=l.length-u.length,d=(s||a.length)+p;d<0&&(d=0),o.setInput(f,o.options.inputName,!0),o.setCaretPosition(d),\"function\"==typeof o.options.onChange&&o.options.onChange(o.getInput(o.options.inputName,!0),n),\"function\"==typeof o.options.onChangeAll&&o.options.onChangeAll(o.getAllInputs(),n)}})}},{key:\"handleButtonClicked\",value:function(t,e){var n=this.options,o=n.inputName,r=void 0===o?this.defaultName:o,i=n.debug;if(\"{//}\"!==t){this.input[r]||(this.input[r]=\"\");var a=this.utilities.getUpdatedInput(t,this.input[r],this.caretPosition,this.caretPositionEnd);if(this.utilities.isStandardButton(t)&&this.activeInputElement&&this.input[r]&&this.input[r]===a&&0===this.caretPosition&&this.caretPositionEnd===a.length)return this.setInput(\"\",this.options.inputName,!0),this.setCaretPosition(0),this.activeInputElement.value=\"\",this.activeInputElement.setSelectionRange(0,0),void this.handleButtonClicked(t,e);if(\"function\"==typeof this.options.onKeyPress&&this.options.onKeyPress(t,e),this.input[r]!==a&&(!this.options.inputPattern||this.options.inputPattern&&this.inputPatternIsValid(a))){if(this.options.maxLength&&this.utilities.handleMaxLength(this.input,a))return;var s=this.utilities.getUpdatedInput(t,this.input[r],this.caretPosition,this.caretPositionEnd,!0);if(this.setInput(s,this.options.inputName,!0),i&&console.log(\"Input changed:\",this.getAllInputs()),this.options.debug&&console.log(\"Caret at: \",this.getCaretPosition(),this.getCaretPositionEnd(),\"(\".concat(this.keyboardDOMClass,\")\")),this.options.syncInstanceInputs&&this.syncInstanceInputs(),\"function\"==typeof this.options.onChange&&this.options.onChange(this.getInput(this.options.inputName,!0),e),\"function\"==typeof this.options.onChangeAll&&this.options.onChangeAll(this.getAllInputs(),e),null!=e&&e.target&&this.options.enableLayoutCandidates){var u,c=this.getInputCandidates(a),l=c.candidateKey,f=c.candidateValue;l&&f?this.showCandidatesBox(l,f,this.keyboardDOM):null===(u=this.candidateBox)||void 0===u||u.destroy()}}i&&console.log(\"Key pressed:\",t)}}},{key:\"getMouseHold\",value:function(){return this.isMouseHold}},{key:\"setMouseHold\",value:function(t){this.options.syncInstanceInputs?this.dispatch((function(e){e.isMouseHold=t})):this.isMouseHold=t}},{key:\"handleButtonMouseDown\",value:function(t,e){var n=this;e&&(this.options.preventMouseDownDefault&&e.preventDefault(),this.options.stopMouseDownPropagation&&e.stopPropagation(),e.target.classList.add(this.activeButtonClass)),this.holdInteractionTimeout&&clearTimeout(this.holdInteractionTimeout),this.holdTimeout&&clearTimeout(this.holdTimeout),this.setMouseHold(!0),this.options.disableButtonHold||(this.holdTimeout=window.setTimeout((function(){(n.getMouseHold()&&(!t.includes(\"{\")&&!t.includes(\"}\")||\"{delete}\"===t||\"{backspace}\"===t||\"{bksp}\"===t||\"{space}\"===t||\"{tab}\"===t)||\"{arrowright}\"===t||\"{arrowleft}\"===t||\"{arrowup}\"===t||\"{arrowdown}\"===t)&&(n.options.debug&&console.log(\"Button held:\",t),n.handleButtonHold(t)),clearTimeout(n.holdTimeout)}),500))}},{key:\"handleButtonMouseUp\",value:function(t,e){var n=this;e&&(this.options.preventMouseUpDefault&&e.preventDefault&&e.preventDefault(),this.options.stopMouseUpPropagation&&e.stopPropagation&&e.stopPropagation(),!(e.target===this.keyboardDOM||e.target&&this.keyboardDOM.contains(e.target)||this.candidateBox&&this.candidateBox.candidateBoxElement&&(e.target===this.candidateBox.candidateBoxElement||e.target&&this.candidateBox.candidateBoxElement.contains(e.target)))&&this.candidateBox&&this.candidateBox.destroy()),this.recurseButtons((function(t){t.classList.remove(n.activeButtonClass)})),this.setMouseHold(!1),this.holdInteractionTimeout&&clearTimeout(this.holdInteractionTimeout),t&&\"function\"==typeof this.options.onKeyReleased&&this.options.onKeyReleased(t)}},{key:\"handleKeyboardContainerMouseDown\",value:function(t){this.options.preventMouseDownDefault&&t.preventDefault()}},{key:\"handleButtonHold\",value:function(t){var e=this;this.holdInteractionTimeout&&clearTimeout(this.holdInteractionTimeout),this.holdInteractionTimeout=window.setTimeout((function(){e.getMouseHold()?(e.handleButtonClicked(t),e.handleButtonHold(t)):clearTimeout(e.holdInteractionTimeout)}),100)}},{key:\"syncInstanceInputs\",value:function(){var t=this;this.dispatch((function(e){e.replaceInput(t.input),e.setCaretPosition(t.caretPosition,t.caretPositionEnd)}))}},{key:\"clearInput\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.inputName||this.defaultName;this.input[t]=\"\",this.setCaretPosition(0),this.options.syncInstanceInputs&&this.syncInstanceInputs()}},{key:\"getInput\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.inputName||this.defaultName,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.options.syncInstanceInputs&&!e&&this.syncInstanceInputs(),this.options.rtl){var n=this.input[t].replace(\"‫\",\"\").replace(\"‬\",\"\");return\"‫\"+n+\"‬\"}return this.input[t]}},{key:\"getAllInputs\",value:function(){var t=this,e={};return Object.keys(this.input).forEach((function(n){e[n]=t.getInput(n,!0)})),e}},{key:\"setInput\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.inputName||this.defaultName,n=arguments.length>2?arguments[2]:void 0;this.input[e]=t,!n&&this.options.syncInstanceInputs&&this.syncInstanceInputs()}},{key:\"replaceInput\",value:function(t){this.input=t}},{key:\"setOptions\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.changedOptions(t);this.options=Object.assign(this.options,t),e.length&&(this.options.debug&&console.log(\"changedOptions\",e),this.onSetOptions(e),this.render())}},{key:\"changedOptions\",value:function(t){var e=this;return Object.keys(t).filter((function(n){return JSON.stringify(t[n])!==JSON.stringify(e.options[n])}))}},{key:\"onSetOptions\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.includes(\"layoutName\")&&this.candidateBox&&this.candidateBox.destroy(),(t.includes(\"layoutCandidatesPageSize\")||t.includes(\"layoutCandidates\"))&&this.candidateBox&&(this.candidateBox.destroy(),this.candidateBox=new d({utilities:this.utilities}))}},{key:\"resetRows\",value:function(){this.keyboardRowsDOM&&this.keyboardRowsDOM.remove(),this.keyboardDOM.className=this.keyboardDOMClass,this.keyboardDOM.setAttribute(\"data-skInstance\",this.currentInstanceName),this.buttonElements={}}},{key:\"dispatch\",value:function(t){if(!window.SimpleKeyboardInstances)throw console.warn(\"SimpleKeyboardInstances is not defined. Dispatch cannot be called.\"),new Error(\"INSTANCES_VAR_ERROR\");return Object.keys(window.SimpleKeyboardInstances).forEach((function(e){t(window.SimpleKeyboardInstances[e],e)}))}},{key:\"addButtonTheme\",value:function(t,e){var n=this;e&&t&&(t.split(\" \").forEach((function(o){e.split(\" \").forEach((function(e){n.options.buttonTheme||(n.options.buttonTheme=[]);var r=!1;n.options.buttonTheme.map((function(t){if(null!=t&&t.class.split(\" \").includes(e)){r=!0;var n=t.buttons.split(\" \");n.includes(o)||(r=!0,n.push(o),t.buttons=n.join(\" \"))}return t})),r||n.options.buttonTheme.push({class:e,buttons:t})}))})),this.render())}},{key:\"removeButtonTheme\",value:function(t,e){var n=this;if(!t&&!e)return this.options.buttonTheme=[],void this.render();t&&Array.isArray(this.options.buttonTheme)&&this.options.buttonTheme.length&&(t.split(\" \").forEach((function(t){var o,r;null===(o=n.options)||void 0===o||null===(r=o.buttonTheme)||void 0===r||r.map((function(o,r){if(o&&e&&e.includes(o.class)||!e){var i,a,s=null===(i=o)||void 0===i?void 0:i.buttons.split(\" \").filter((function(e){return e!==t}));o&&null!=s&&s.length?o.buttons=s.join(\" \"):(null===(a=n.options.buttonTheme)||void 0===a||a.splice(r,1),o=null)}return o}))})),this.render())}},{key:\"getButtonElement\",value:function(t){var e,n=this.buttonElements[t];return n&&(e=n.length>1?n:n[0]),e}},{key:\"inputPatternIsValid\",value:function(t){var e,n=this.options.inputPattern;if((e=n instanceof RegExp?n:n[this.options.inputName||this.defaultName])&&t){var o=e.test(t);return this.options.debug&&console.log('inputPattern (\"'.concat(e,'\"): ').concat(o?\"passed\":\"did not pass!\")),o}return!0}},{key:\"setEventListeners\",value:function(){!this.isFirstKeyboardInstance&&this.allKeyboardInstances||(this.options.debug&&console.log(\"Caret handling started (\".concat(this.keyboardDOMClass,\")\")),document.addEventListener(\"keyup\",this.handleKeyUp),document.addEventListener(\"keydown\",this.handleKeyDown),document.addEventListener(\"mouseup\",this.handleMouseUp),document.addEventListener(\"touchend\",this.handleTouchEnd),document.addEventListener(\"select\",this.handleSelect),document.addEventListener(\"selectionchange\",this.handleSelectionChange))}},{key:\"handleKeyUp\",value:function(t){this.caretEventHandler(t),this.options.physicalKeyboardHighlight&&this.physicalKeyboard.handleHighlightKeyUp(t)}},{key:\"handleKeyDown\",value:function(t){this.options.physicalKeyboardHighlight&&this.physicalKeyboard.handleHighlightKeyDown(t)}},{key:\"handleMouseUp\",value:function(t){this.caretEventHandler(t)}},{key:\"handleTouchEnd\",value:function(t){this.caretEventHandler(t)}},{key:\"handleSelect\",value:function(t){this.caretEventHandler(t)}},{key:\"handleSelectionChange\",value:function(t){this.caretEventHandler(t)}},{key:\"caretEventHandler\",value:function(t){var e,n=this;t.target.tagName&&(e=t.target.tagName.toLowerCase()),this.dispatch((function(o){var r=t.target===o.keyboardDOM||t.target&&o.keyboardDOM.contains(t.target);n.options.syncInstanceInputs&&Array.isArray(t.path)&&(r=t.path.some((function(t){var e;return null==t||null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,\"data-skInstance\")}))),(\"textarea\"===e||\"input\"===e&&[\"text\",\"search\",\"url\",\"tel\",\"password\"].includes(t.target.type))&&!o.options.disableCaretPositioning?(o.setCaretPosition(t.target.selectionStart,t.target.selectionEnd),n.activeInputElement=t.target,o.options.debug&&console.log(\"Caret at: \",o.getCaretPosition(),o.getCaretPositionEnd(),t&&t.target.tagName.toLowerCase(),\"(\".concat(o.keyboardDOMClass,\")\"))):!o.options.disableCaretPositioning&&r||\"selectionchange\"===(null==t?void 0:t.type)||(o.setCaretPosition(null),n.activeInputElement=null,o.options.debug&&console.log('Caret position reset due to \"'.concat(null==t?void 0:t.type,'\" event'),t))}))}},{key:\"recurseButtons\",value:function(t){var e=this;t&&Object.keys(this.buttonElements).forEach((function(n){return e.buttonElements[n].forEach(t)}))}},{key:\"destroy\",value:function(){this.options.debug&&console.log(\"Destroying simple-keyboard instance: \".concat(this.currentInstanceName)),document.removeEventListener(\"keyup\",this.handleKeyUp),document.removeEventListener(\"keydown\",this.handleKeyDown),document.removeEventListener(\"mouseup\",this.handleMouseUp),document.removeEventListener(\"touchend\",this.handleTouchEnd),document.removeEventListener(\"select\",this.handleSelect),document.removeEventListener(\"selectionchange\",this.handleSelectionChange),document.onpointerup=null,document.ontouchend=null,document.ontouchcancel=null,document.onmouseup=null,this.recurseButtons((function(t){t&&(t.onpointerdown=null,t.onpointerup=null,t.onpointercancel=null,t.ontouchstart=null,t.ontouchend=null,t.ontouchcancel=null,t.onclick=null,t.onmousedown=null,t.onmouseup=null,t.remove(),t=null)})),this.keyboardDOM.onpointerdown=null,this.keyboardDOM.ontouchstart=null,this.keyboardDOM.onmousedown=null,this.resetRows(),this.candidateBox&&(this.candidateBox.destroy(),this.candidateBox=null),this.activeInputElement=null,this.keyboardDOM.removeAttribute(\"data-skInstance\"),this.keyboardDOM.innerHTML=\"\",window.SimpleKeyboardInstances[this.currentInstanceName]=null,delete window.SimpleKeyboardInstances[this.currentInstanceName],this.initialized=!1}},{key:\"getButtonThemeClasses\",value:function(t){var e=this.options.buttonTheme,n=[];return Array.isArray(e)&&e.forEach((function(e){if(e&&e.class&&\"string\"==typeof e.class&&e.buttons&&\"string\"==typeof e.buttons){var o=e.class.split(\" \");e.buttons.split(\" \").includes(t)&&(n=[].concat(h(n),h(o)))}else console.warn('Incorrect \"buttonTheme\". Please check the documentation.',e)})),n}},{key:\"setDOMButtonAttributes\",value:function(t,e){var n=this.options.buttonAttributes;Array.isArray(n)&&n.forEach((function(n){n.attribute&&\"string\"==typeof n.attribute&&n.value&&\"string\"==typeof n.value&&n.buttons&&\"string\"==typeof n.buttons?n.buttons.split(\" \").includes(t)&&e(n.attribute,n.value):console.warn('Incorrect \"buttonAttributes\". Please check the documentation.',n)}))}},{key:\"onTouchDeviceDetected\",value:function(){this.processAutoTouchEvents(),this.disableContextualWindow()}},{key:\"disableContextualWindow\",value:function(){window.oncontextmenu=function(t){if(t.target.classList.contains(\"hg-button\"))return t.preventDefault(),t.stopPropagation(),!1}}},{key:\"processAutoTouchEvents\",value:function(){this.options.autoUseTouchEvents&&(this.options.useTouchEvents=!0,this.options.debug&&console.log(\"autoUseTouchEvents: Touch device detected, useTouchEvents enabled.\"))}},{key:\"onInit\",value:function(){this.options.debug&&console.log(\"\".concat(this.keyboardDOMClass,\" Initialized\")),this.setEventListeners(),\"function\"==typeof this.options.onInit&&this.options.onInit(this)}},{key:\"beforeFirstRender\",value:function(){this.utilities.isTouchDevice()&&this.onTouchDeviceDetected(),\"function\"==typeof this.options.beforeFirstRender&&this.options.beforeFirstRender(this),this.isFirstKeyboardInstance&&this.utilities.pointerEventsSupported()&&!this.options.useTouchEvents&&!this.options.useMouseEvents&&this.options.debug&&console.log(\"Using PointerEvents as it is supported by this browser\"),this.options.useTouchEvents&&this.options.debug&&console.log(\"useTouchEvents has been enabled. Only touch events will be used.\")}},{key:\"beforeRender\",value:function(){\"function\"==typeof this.options.beforeRender&&this.options.beforeRender(this)}},{key:\"onRender\",value:function(){\"function\"==typeof this.options.onRender&&this.options.onRender(this)}},{key:\"onModulesLoaded\",value:function(){\"function\"==typeof this.options.onModulesLoaded&&this.options.onModulesLoaded(this)}},{key:\"loadModules\",value:function(){var t=this;Array.isArray(this.options.modules)&&(this.options.modules.forEach((function(e){var n=new e(t);n.init&&n.init(t)})),this.keyboardPluginClasses=\"modules-loaded\",this.render(),this.onModulesLoaded())}},{key:\"getModuleProp\",value:function(t,e){return!!this.modules[t]&&this.modules[t][e]}},{key:\"getModulesList\",value:function(){return Object.keys(this.modules)}},{key:\"parseRowDOMContainers\",value:function(t,e,n,o){var r=this,i=Array.from(t.children),a=0;return i.length&&n.forEach((function(n,s){var u=o[s];if(!(u&&u>n))return!1;var c=n-a,l=u-a,f=document.createElement(\"div\");f.className+=\"hg-button-container\";var p=\"\".concat(r.options.layoutName,\"-r\").concat(e,\"c\").concat(s);f.setAttribute(\"data-skUID\",p);var d=i.splice(c,l-c+1);a=l-c,d.forEach((function(t){return f.appendChild(t)})),i.splice(c,0,f),t.innerHTML=\"\",i.forEach((function(e){return t.appendChild(e)})),r.options.debug&&console.log(\"rowDOMContainer\",d,c,l,a+1)})),t}},{key:\"render\",value:function(){var t=this;this.resetRows(),this.initialized||this.beforeFirstRender(),this.beforeRender();var e=\"hg-layout-\".concat(this.options.layoutName),n=this.options.layout||{default:[\"` 1 2 3 4 5 6 7 8 9 0 - = {bksp}\",\"{tab} q w e r t y u i o p [ ] \\\\\",\"{lock} a s d f g h j k l ; ' {enter}\",\"{shift} z x c v b n m , . / {shift}\",\".com @ {space}\"],shift:[\"~ ! @ # $ % ^ & * ( ) _ + {bksp}\",\"{tab} Q W E R T Y U I O P { } |\",'{lock} A S D F G H J K L : \" {enter}',\"{shift} Z X C V B N M < > ? {shift}\",\".com @ {space}\"]},o=this.options.useTouchEvents||!1,r=o?\"hg-touch-events\":\"\",i=this.options.useMouseEvents||!1,a=this.options.disableRowButtonContainers;this.keyboardDOM.className=this.getKeyboardClassString(this.options.theme,e,this.keyboardPluginClasses,r),this.keyboardDOM.setAttribute(\"data-skInstance\",this.currentInstanceName),this.keyboardRowsDOM=document.createElement(\"div\"),this.keyboardRowsDOM.className=\"hg-rows\",n[this.options.layoutName||this.defaultName].forEach((function(e,n){var r=e.split(\" \");t.options.excludeFromLayout&&t.options.excludeFromLayout[t.options.layoutName||t.defaultName]&&(r=r.filter((function(e){return t.options.excludeFromLayout&&!t.options.excludeFromLayout[t.options.layoutName||t.defaultName].includes(e)})));var s=document.createElement(\"div\");s.className+=\"hg-row\";var u=[],c=[];r.forEach((function(e,r){var l,f=!a&&\"string\"==typeof e&&e.length>1&&0===e.indexOf(\"[\"),p=!a&&\"string\"==typeof e&&e.length>1&&e.indexOf(\"]\")===e.length-1;f&&(u.push(r),e=e.replace(/\\[/g,\"\")),p&&(c.push(r),e=e.replace(/\\]/g,\"\"));var d=t.utilities.getButtonClass(e),v=t.utilities.getButtonDisplayName(e,t.options.display,t.options.mergeDisplay),g=t.options.useButtonTag?\"button\":\"div\",y=document.createElement(g);y.className+=\"hg-button \".concat(d),(l=y.classList).add.apply(l,h(t.getButtonThemeClasses(e))),t.setDOMButtonAttributes(e,(function(t,e){y.setAttribute(t,e)})),t.activeButtonClass=\"hg-activeButton\",!t.utilities.pointerEventsSupported()||o||i?o?(y.ontouchstart=function(n){t.handleButtonClicked(e,n),t.handleButtonMouseDown(e,n)},y.ontouchend=function(n){t.handleButtonMouseUp(e,n)},y.ontouchcancel=function(n){t.handleButtonMouseUp(e,n)}):(y.onclick=function(n){t.setMouseHold(!1),\"function\"!=typeof t.options.onKeyReleased&&t.handleButtonClicked(e,n)},y.onmousedown=function(n){\"function\"!=typeof t.options.onKeyReleased||t.isMouseHold||t.handleButtonClicked(e,n),t.handleButtonMouseDown(e,n)},y.onmouseup=function(n){t.handleButtonMouseUp(e,n)}):(y.onpointerdown=function(n){t.handleButtonClicked(e,n),t.handleButtonMouseDown(e,n)},y.onpointerup=function(n){t.handleButtonMouseUp(e,n)},y.onpointercancel=function(n){t.handleButtonMouseUp(e,n)}),y.setAttribute(\"data-skBtn\",e);var m=\"\".concat(t.options.layoutName,\"-r\").concat(n,\"b\").concat(r);y.setAttribute(\"data-skBtnUID\",m);var b=document.createElement(\"span\");b.innerHTML=v,y.appendChild(b),t.buttonElements[e]||(t.buttonElements[e]=[]),t.buttonElements[e].push(y),s.appendChild(y)})),s=t.parseRowDOMContainers(s,n,u,c),t.keyboardRowsDOM.appendChild(s)})),this.keyboardDOM.appendChild(this.keyboardRowsDOM),this.onRender(),this.initialized||(this.initialized=!0,!this.utilities.pointerEventsSupported()||o||i?o?(document.ontouchend=function(e){return t.handleButtonMouseUp(void 0,e)},document.ontouchcancel=function(e){return t.handleButtonMouseUp(void 0,e)},this.keyboardDOM.ontouchstart=function(e){return t.handleKeyboardContainerMouseDown(e)}):o||(document.onmouseup=function(e){return t.handleButtonMouseUp(void 0,e)},this.keyboardDOM.onmousedown=function(e){return t.handleKeyboardContainerMouseDown(e)}):(document.onpointerup=function(e){return t.handleButtonMouseUp(void 0,e)},this.keyboardDOM.onpointerdown=function(e){return t.handleKeyboardContainerMouseDown(e)}),this.onInit())}}])&&m(e.prototype,n),o&&m(e,o),Object.defineProperty(e,\"prototype\",{writable:!1}),t}()}(),o}()}));","\n/* eslint-disable */\n// Autogenerated\n// -------------\n// gulpfile.ts/wasm.ts --> generateBuildInfo\n\nexport const Build = {\n version: \"0.73.8 (e9fa466fc3c6e8f31a7c83d97c78518a)\",\n buildSeed: 1665757807348,\n \"wdosbox.wasm\": {\n \"size\": 1462485,\n \"gzSize\": 499437\n },\n \"wdosbox.js\": {\n \"size\": 124967,\n \"gzSize\": 32625\n },\n \"wlibzip.wasm\": {\n \"size\": 110726,\n \"gzSize\": 51367\n },\n \"wlibzip.js\": {\n \"size\": 77090,\n \"gzSize\": 19985\n }\n,\n};\n","import { CommandInterface } from \"emulators\";\nimport { Layers } from \"../dom/layers\";\nimport { namedKeyCodes, KBD_NONE } from \"../dom/keys\";\nimport { pointer } from \"../dom/pointer\";\nimport { LayoutPosition } from \"./layout\";\n\nexport type ActionType = \"click\" | \"hold\";\n// hold - means track press/release events separately\n\nexport type Binding = number;\n\nexport interface Button {\n action: ActionType,\n mapTo: Binding,\n symbol?: string,\n position: LayoutPosition,\n}\n\nconst keyCodeToName = initKeyCodeToName();\n\nfunction initKeyCodeToName() {\n const keyCodeToName: {[keyCode: number]: string} = {};\n for (const next of Object.keys(namedKeyCodes)) {\n keyCodeToName[namedKeyCodes[next]] = next.substr(4, 2);\n }\n return keyCodeToName;\n}\n\nexport interface ButtonHandler {\n onDown?: () => void;\n onUp?: () => void;\n onClick?: () => void;\n}\n\nexport interface HTMLJsDosButtonElement extends HTMLDivElement {\n widthPx: number;\n heightPx: number;\n}\n\nexport function createButton(symbol: string,\n handler: ButtonHandler,\n size: number): HTMLJsDosButtonElement {\n const innerSize = Math.round(size * 0.6);\n const innerTextSize = Math.round(size * 0.5);\n const borderWidth = Math.max(1, Math.round(size / 20));\n const backgroundImage = symbolToUrl[symbol.toLowerCase()];\n const text = backgroundImage === undefined ? symbol : \"\";\n const button = createDiv(\"emulator-button-touch-zone\") as HTMLJsDosButtonElement;\n const innerButton = createDiv(\"emulator-button\");\n const innerText = createDiv(\"emulator-button-text\",\n backgroundImage === undefined ? ((text === undefined || text.length === 0) ?\n \"□\" : text.substr(0, 1).toUpperCase()) : \"\");\n\n if (backgroundImage !== undefined) {\n innerButton.style.backgroundImage = \"url(\\\"\" + backgroundImage + \"\\\")\";\n }\n innerButton.style.width = innerSize + \"px\";\n innerButton.style.height = innerSize + \"px\";\n innerText.style.fontSize = innerTextSize + \"px\";\n\n button.widthPx = size - borderWidth * 2;\n button.heightPx = size - borderWidth * 2;\n button.style.width = button.widthPx + \"px\";\n button.style.height = button.heightPx + \"px\";\n button.style.borderWidth = borderWidth + \"px\";\n button.appendChild(innerButton);\n button.appendChild(innerText);\n\n const onStart = (e: Event) => {\n if (handler.onDown !== undefined) {\n handler.onDown();\n }\n if (handler.onClick !== undefined) {\n handler.onClick();\n }\n e.stopPropagation();\n e.preventDefault();\n };\n const onEnd = (e: Event) => {\n if (handler.onUp !== undefined) {\n handler.onUp();\n }\n e.stopPropagation();\n e.preventDefault();\n };\n const onPrevent = (e: Event) => {\n e.stopPropagation();\n e.preventDefault();\n };\n const options = {\n capture: true,\n };\n for (const next of pointer.starters) {\n button.addEventListener(next, onStart, options);\n }\n for (const next of pointer.enders) {\n button.addEventListener(next, onEnd, options);\n }\n for (const next of pointer.changers) {\n button.addEventListener(next, onPrevent, options);\n }\n for (const next of pointer.leavers) {\n button.addEventListener(next, onPrevent, options);\n }\n for (const next of pointer.prevents) {\n button.addEventListener(next, onPrevent, options);\n }\n return button;\n}\n\nexport function deprecatedButton(layers: Layers,\n ci: CommandInterface,\n buttons: Button[],\n size: number) {\n const ident = Math.round(size / 4);\n const toRemove: HTMLElement[] = [];\n\n for (const next of buttons) {\n if (next.mapTo === KBD_NONE) {\n continue;\n }\n\n const symbol = (next.symbol || mapToSymbol(next.mapTo)).toUpperCase();\n const handler = deprecatedCreateHandler(next, layers);\n const button = createButton(symbol, handler, size);\n\n button.style.position = \"absolute\";\n const cssStyle = (next as any).style;\n if (cssStyle) {\n for (const prop of Object.keys(cssStyle)) {\n (button.style as any)[prop] = (cssStyle as any)[prop];\n }\n }\n\n if (next.position !== undefined) {\n const left = next.position.left;\n const top = next.position.top;\n const bottom = next.position.bottom;\n const right = next.position.right;\n\n if (left !== undefined) {\n button.style.left = (ident * left + size * (left - 1)) + \"px\";\n }\n\n if (right !== undefined) {\n button.style.right = (ident * right + size * (right - 1)) + \"px\";\n }\n\n if (top !== undefined) {\n button.style.top = (ident * top + size * (top - 1)) + \"px\";\n }\n\n if (bottom !== undefined) {\n button.style.bottom = (ident * bottom + size * (bottom - 1)) + \"px\";\n }\n }\n layers.mouseOverlay.appendChild(button);\n toRemove.push(button);\n }\n\n return () => {\n for (const next of toRemove) {\n if (next.parentElement === layers.mouseOverlay) {\n layers.mouseOverlay.removeChild(next);\n }\n }\n };\n}\n\nfunction createDiv(className: string, innerHtml?: string) {\n const el = document.createElement(\"div\");\n el.className = className;\n if (innerHtml !== undefined) {\n el.innerHTML = innerHtml;\n }\n return el;\n}\n\nfunction mapToSymbol(mapTo: Binding): string {\n if (typeof mapTo === \"number\") {\n return keyCodeToName[mapTo];\n }\n\n return mapTo;\n}\n\nfunction deprecatedCreateHandler(button: Button,\n layers: Layers): ButtonHandler {\n return button.action === \"click\" ?\n { onClick: () => layers.fireKeyPress(button.mapTo) } :\n {\n onDown: () => layers.fireKeyDown(button.mapTo),\n onUp: () => layers.fireKeyUp(button.mapTo),\n };\n}\n\n/* eslint-disable max-len */\nconst down = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns:sketch='http://www.bohemiancoding.com/sketch/ns' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' fill='%23FFF' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Ctitle%3EShape%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cg id='Page-1' sketch:type='MSPage'%3E%3Cg id='Artboard-1' transform='translate(-3.000000, -1.000000)' sketch:type='MSArtboardGroup'%3E%3Cpath id='Shape' sketch:type='MSShapeGroup' d='M19,12c-0.3,0-0.5,0.1-0.7,0.3L14,16.6V3c0-0.5-0.4-1-1-1s-1,0.5-1,1v13.6 l-4.3-4.3C7.5,12.1,7.3,12,7,12c-0.5,0-1,0.4-1,1c0,0.3,0.1,0.5,0.3,0.7l6,6c0.2,0.2,0.4,0.3,0.7,0.3s0.5-0.1,0.7-0.3l6-6 c0.2-0.2,0.3-0.4,0.3-0.7C20,12.4,19.5,12,19,12L19,12z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\";\nconst left = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' fill='%23FFF' xml:space='preserve'%3E%3Cg id='left_arrow_1_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18,9H4.41l4.29-4.29C8.89,4.53,9,4.28,9,4c0-0.55-0.45-1-1-1 C7.72,3,7.47,3.11,7.29,3.29l-6,6C1.11,9.47,1,9.72,1,10c0,0.28,0.11,0.53,0.29,0.71l6,6C7.47,16.89,7.72,17,8,17 c0.55,0,1-0.45,1-1c0-0.28-0.11-0.53-0.29-0.71L4.41,11H18c0.55,0,1-0.45,1-1C19,9.45,18.55,9,18,9z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\";\nconst right = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' fill='%23fff' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Cg id='right_arrow_1_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.71,9.29l-6-6C12.53,3.11,12.28,3,12,3c-0.55,0-1,0.45-1,1 c0,0.28,0.11,0.53,0.29,0.71L15.59,9H2c-0.55,0-1,0.45-1,1c0,0.55,0.45,1,1,1h13.59l-4.29,4.29C11.11,15.47,11,15.72,11,16 c0,0.55,0.45,1,1,1c0.28,0,0.53-0.11,0.71-0.29l6-6C18.89,10.53,19,10.28,19,10C19,9.72,18.89,9.47,18.71,9.29z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\";\nconst enter = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' fill='%23fff' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Cg id='key_enter_1_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18,2c-0.55,0-1,0.45-1,1v5c0,2.21-1.79,4-4,4H4.41l2.29-2.29 C6.89,9.53,7,9.28,7,9c0-0.55-0.45-1-1-1C5.72,8,5.47,8.11,5.29,8.29l-4,4C1.11,12.47,1,12.72,1,13c0,0.28,0.11,0.53,0.29,0.71 l4,4C5.47,17.89,5.72,18,6,18c0.55,0,1-0.45,1-1c0-0.28-0.11-0.53-0.29-0.71L4.41,14H13c3.31,0,6-2.69,6-6V3C19,2.45,18.55,2,18,2 z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\";\nconst symbolToUrl: {[symbol: string]: string} = {\n fullscreen: \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' xml:space='preserve'%3E%3Cg id='maximize_1_' fill='%23FFFFFF'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.99,8.99c-0.28,0-0.53,0.11-0.71,0.29l-3.29,3.29v-1.59c0-0.55-0.45-1-1-1 s-1,0.45-1,1v4c0,0.55,0.45,1,1,1h4c0.55,0,1-0.45,1-1s-0.45-1-1-1H3.41L6.7,10.7c0.18-0.18,0.29-0.43,0.29-0.71 C6.99,9.44,6.54,8.99,5.99,8.99z M14.99-0.01h-4c-0.55,0-1,0.45-1,1s0.45,1,1,1h1.59L9.28,5.29C9.1,5.47,8.99,5.72,8.99,5.99 c0,0.55,0.45,1,1,1c0.28,0,0.53-0.11,0.71-0.29l3.29-3.29v1.59c0,0.55,0.45,1,1,1s1-0.45,1-1v-4C15.99,0.44,15.54-0.01,14.99-0.01 z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",\n save: \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' fill='%23FFFFFF' xml:space='preserve'%3E%3Cg id='floppy_disk'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.71,2.29l-2-2C13.53,0.11,13.28,0,13,0h-1v6H4V0H1C0.45,0,0,0.45,0,1v14 c0,0.55,0.45,1,1,1h14c0.55,0,1-0.45,1-1V3C16,2.72,15.89,2.47,15.71,2.29z M14,15H2V9c0-0.55,0.45-1,1-1h10c0.55,0,1,0.45,1,1V15 z M11,1H9v4h2V1z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\n options: \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' fill='%23FFF' xml:space='preserve'%3E%3Cg id='cog_2_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19,8h-2.31c-0.14-0.46-0.33-0.89-0.56-1.3l1.7-1.7c0.39-0.39,0.39-1.02,0-1.41 l-1.41-1.41c-0.39-0.39-1.02-0.39-1.41,0l-1.7,1.7c-0.41-0.22-0.84-0.41-1.3-0.55V1c0-0.55-0.45-1-1-1H9C8.45,0,8,0.45,8,1v2.33 C7.52,3.47,7.06,3.67,6.63,3.91L5,2.28c-0.37-0.37-0.98-0.37-1.36,0L2.28,3.64C1.91,4.02,1.91,4.63,2.28,5l1.62,1.62 C3.66,7.06,3.46,7.51,3.31,8H1C0.45,8,0,8.45,0,9v2c0,0.55,0.45,1,1,1h2.31c0.14,0.46,0.33,0.89,0.56,1.3L2.17,15 c-0.39,0.39-0.39,1.02,0,1.41l1.41,1.41c0.39,0.39,1.02,0.39,1.41,0l1.7-1.7c0.41,0.22,0.84,0.41,1.3,0.55V19c0,0.55,0.45,1,1,1h2 c0.55,0,1-0.45,1-1v-2.33c0.48-0.14,0.94-0.35,1.37-0.59L15,17.72c0.37,0.37,0.98,0.37,1.36,0l1.36-1.36 c0.37-0.37,0.37-0.98,0-1.36l-1.62-1.62c0.24-0.43,0.45-0.89,0.6-1.38H19c0.55,0,1-0.45,1-1V9C20,8.45,19.55,8,19,8z M10,14 c-2.21,0-4-1.79-4-4c0-2.21,1.79-4,4-4s4,1.79,4,4C14,12.21,12.21,14,10,14z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",\n keyboard: \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' xml:space='preserve'%3E%3Cg id='manually_entered_data_2_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' fill-rule='evenodd' clip-rule='evenodd' d='M1,8h3.76l2-2H1C0.45,6,0,6.45,0,7C0,7.55,0.45,8,1,8z M15.49,3.99 C15.8,3.67,16,3.23,16,2.75C16,1.78,15.22,1,14.25,1c-0.48,0-0.92,0.2-1.24,0.51l-1.44,1.44l2.47,2.47L15.49,3.99z M1,4h7.76l2-2 H1C0.45,2,0,2.45,0,3C0,3.55,0.45,4,1,4z M1,10c-0.55,0-1,0.45-1,1c0,0.48,0.35,0.86,0.8,0.96L2.76,10H1z M10.95,3.57l-6.69,6.69 l2.47,2.47l6.69-6.69L10.95,3.57z M15.2,6.04L13.24,8H15c0.55,0,1-0.45,1-1C16,6.52,15.65,6.14,15.2,6.04z M2,15l3.86-1.39 l-2.46-2.44L2,15z M15,10h-3.76l-2,2H15c0.55,0,1-0.45,1-1C16,10.45,15.55,10,15,10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",\n up: \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns:sketch='http://www.bohemiancoding.com/sketch/ns' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' fill='%23FFF' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Ctitle%3EShape%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cg id='Page-1' sketch:type='MSPage'%3E%3Cg id='Artboard-1' transform='translate(-3.000000, -1.000000)' sketch:type='MSArtboardGroup'%3E%3Cpath id='Shape' sketch:type='MSShapeGroup' d='M19.7,8.3l-6-6C13.5,2.1,13.3,2,13,2s-0.5,0.1-0.7,0.3l-6,6C6.1,8.5,6,8.7,6,9 c0,0.6,0.5,1,1,1c0.3,0,0.5-0.1,0.7-0.3L12,5.4V19c0,0.5,0.4,1,1,1s1-0.5,1-1V5.4l4.3,4.3C18.5,9.9,18.7,10,19,10c0.5,0,1-0.4,1-1 C20,8.7,19.9,8.5,19.7,8.3L19.7,8.3z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\",\n down,\n do: down,\n dw: down,\n dwn: down,\n left,\n le: left,\n lft: left,\n right,\n ri: right,\n rght: right,\n rgh: right,\n enter,\n en: enter,\n enr: enter,\n ent: enter,\n entr: enter,\n};\n\n","export type GridType = \"square\" | \"honeycomb\";\n\nexport interface Cell {\n centerX: number;\n centerY: number;\n}\n\nexport interface GridConfiguration {\n gridType: GridType,\n cells: Cell[][];\n columnWidth: number;\n rowHeight: number;\n columnsPadding: number;\n rowsPadding: number;\n width: number;\n height: number;\n}\n\nexport interface Grid {\n getConfiguration(width: number, height: number, scale?: number): GridConfiguration;\n}\n\nexport function getGrid(gridType: GridType) {\n switch (gridType) {\n case \"square\": return getSquareGrid();\n case \"honeycomb\": return getHoneyCombGrid();\n }\n\n throw new Error(\"Unknown grid type \" + gridType);\n}\n\nfunction getSquareGrid(): Grid {\n class SquareGrid implements Grid {\n aspect = 200 / 320;\n\n getConfiguration(width: number, height: number, scale = 1): GridConfiguration {\n const cols = this.getCols();\n const rows = this.getRows();\n const middleCol = Math.floor(cols / 2);\n const middleRow = Math.floor(rows / 2);\n const columnsPadding = width * 5 / 100 / 2;\n const rowsPadding = columnsPadding;\n const columnWidth = (width - columnsPadding * 2) / cols * scale;\n const rowHeight = (height - rowsPadding * 2) / rows * scale;\n const size = Math.min(columnWidth, rowHeight);\n const cells: Cell[][] = [];\n for (let row = 0; row < rows; ++row) {\n const cellRow: Cell[] = [];\n for (let col = 0; col < cols; ++col) {\n cellRow.push({\n centerX: col < middleCol ?\n columnsPadding + size * (col + 1 / 2) :\n width - columnsPadding - size * ((cols - col - 1) + 1 / 2),\n centerY: row < middleRow ?\n rowsPadding + size * (row + 1 / 2) :\n height - rowsPadding - size * ((rows - row - 1) + 1 / 2),\n });\n }\n cells.push(cellRow);\n }\n return {\n gridType: \"square\",\n cells,\n columnWidth: size,\n rowHeight: size,\n columnsPadding,\n rowsPadding,\n width,\n height,\n };\n }\n\n private getCols() {\n return 10;\n }\n\n private getRows() {\n return Math.floor(this.getCols() * this.aspect) + 1;\n }\n }\n\n return new SquareGrid();\n}\n\nfunction getHoneyCombGrid(): Grid {\n class SquareGrid implements Grid {\n aspect = 200 / 320;\n\n getConfiguration(width: number, height: number, scale = 1): GridConfiguration {\n const cols = this.getCols();\n const rows = this.getRows();\n const middleCol = Math.floor(cols / 2);\n const middleRow = Math.floor(rows / 2);\n const columnsPadding = width * 5 / 100 / 2;\n const rowsPadding = columnsPadding;\n const columnWidth = (width - columnsPadding * 2) / cols * scale;\n const rowHeight = (height - rowsPadding * 2) / rows * scale;\n const size = Math.min(columnWidth, rowHeight);\n const cells: Cell[][] = [];\n for (let row = 0; row < rows; ++row) {\n const cellRow: Cell[] = [];\n const cellCols = row % 2 == 0 ? cols : cols - 1;\n const padding = row % 2 == 0 ? 0 : size / 2;\n for (let col = 0; col < cellCols; ++col) {\n cellRow.push({\n centerX: col < middleCol ?\n padding + columnsPadding + size * (col + 1 / 2):\n padding + width - columnsPadding - size * ((cols - col - 1) + 1/2),\n centerY: row < middleRow ?\n rowsPadding + size * (row + 1 / 2) :\n height - rowsPadding - size * ((rows - row - 1) + 1 / 2),\n });\n }\n cells.push(cellRow);\n }\n return {\n gridType: \"honeycomb\",\n cells,\n columnWidth: size,\n rowHeight: size,\n columnsPadding,\n rowsPadding,\n width,\n height,\n };\n }\n\n getCols() {\n return 10;\n }\n\n getRows() {\n return Math.floor(this.getCols() * this.aspect) + 1;\n }\n }\n\n return new SquareGrid();\n}\n","import { CommandInterface } from \"emulators\";\nimport { Layers } from \"../dom/layers\";\n\nexport type Mapper = {[keyCode: number]: number};\n\nexport function keyboard(layers: Layers,\n ci: CommandInterface,\n mapperOpt?: Mapper) {\n const mapper = mapperOpt || {};\n function map(keyCode: number) {\n if (mapper[keyCode] !== undefined) {\n return mapper[keyCode];\n }\n\n return keyCode;\n }\n\n layers.setOnKeyDown((keyCode: number) => {\n ci.sendKeyEvent(map(keyCode), true);\n });\n layers.setOnKeyUp((keyCode: number) => {\n ci.sendKeyEvent(map(keyCode), false);\n });\n layers.setOnKeyPress((keyCode: number) => {\n ci.simulateKeyPress(map(keyCode));\n });\n layers.setOnKeysPress((keyCodes: number[]) => {\n ci.simulateKeyPress(...keyCodes);\n });\n\n return () => {\n // eslint-disable-next-line\n layers.setOnKeyDown((keyCode: number) => { /**/ });\n // eslint-disable-next-line\n layers.setOnKeyUp((keyCode: number) => { /**/ });\n // eslint-disable-next-line\n layers.setOnKeyPress((keyCode: number) => { /**/ });\n // eslint-disable-next-line\n layers.setOnKeysPress((keyCodes: number[]) => { /**/ });\n };\n}\n","import { Button } from \"./button\";\nimport { EventMapping } from \"./nipple\";\nimport { Mapper } from \"./keyboard\";\n\nimport { GridType } from \"./grid\";\n\nexport type LayerControlType =\n \"Options\" | \"Key\" | \"Keyboard\" |\n \"Switch\" | \"ScreenMove\" |\n \"PointerButton\" | \"NippleActivator\";\n\nexport interface LayerPosition {\n column: number;\n row: number;\n}\n\nexport interface LayerControl extends LayerPosition {\n type: LayerControlType,\n symbol: string;\n}\n\nexport interface LayerKeyControl extends LayerControl {\n mapTo: number[];\n}\n\nexport interface LayerSwitchControl extends LayerControl {\n layerName: string,\n}\n\nexport interface LayerScreenMoveControl extends LayerControl {\n direction: \"up\" | \"down\" | \"left\" | \"right\" |\n \"up-left\" | \"up-right\" | \"down-left\" | \"down-right\";\n}\n\nexport interface LayerPointerButtonControl extends LayerControl {\n button: 0 | 1;\n click: boolean;\n}\n\n// eslint-disable-next-line\nexport interface LayerNippleActivatorControl extends LayerControl {\n}\n\n// eslint-disable-next-line\nexport interface LayerPointerResetControl extends LayerControl {\n}\n\n// eslint-disable-next-line\nexport interface LayerPointerToggleControl extends LayerControl {\n}\n\nexport interface LayerPointerMoveControl extends LayerControl {\n x: number;\n y: number;\n}\n\n\nexport interface LayerConfig {\n grid: GridType,\n title: string,\n controls: LayerControl[],\n}\n\nexport interface LayersConfig {\n version: number,\n layers: LayerConfig[],\n}\n\n\nexport interface LegacyLayerConfig {\n name: string,\n buttons: Button[],\n gestures: EventMapping[],\n mapper: Mapper,\n}\n\nexport type LegacyLayersConfig = {[index: string]: LegacyLayerConfig};\n\nexport function extractLayersConfig(config: any): LayersConfig | LegacyLayersConfig | null {\n if (config.layersConfig !== undefined) {\n if (config.layersConfig.version === 1) {\n migrateV1ToV2(config.layersConfig);\n }\n\n return config.layersConfig;\n }\n\n if (config.layers !== undefined) {\n return config.layers;\n }\n\n return null;\n}\n\nfunction migrateV1ToV2(config: LayersConfig) {\n for (const layer of config.layers) {\n for (const control of layer.controls) {\n if (control.type === \"Key\") {\n const keyControl = control as LayerKeyControl;\n if (typeof keyControl.mapTo === \"number\") {\n keyControl.mapTo = [keyControl.mapTo];\n }\n }\n }\n }\n}\n","import { Layers } from \"../dom/layers\";\nimport { CommandInterface } from \"emulators\";\nimport {\n LayersConfig, LayerConfig, LayerKeyControl,\n LayerControl, LayerSwitchControl, LayerScreenMoveControl,\n LayerPointerButtonControl, LayerPointerMoveControl, LayerPointerResetControl,\n LayerPointerToggleControl, LayerNippleActivatorControl,\n} from \"./layers-config\";\nimport { Cell, getGrid, GridConfiguration } from \"./grid\";\nimport { createButton } from \"./button\";\nimport { DosInstance } from \"../js-dos\";\nimport { keyboard } from \"./keyboard\";\nimport { mouse } from \"./mouse/mouse-common\";\nimport { options } from \"./options\";\nimport { pointer } from \"../dom/pointer\";\n\n// eslint-disable-next-line\nconst nipplejs = require(\"nipplejs\");\n\nexport function initLayersControl(\n layers: Layers,\n layersConfig: LayersConfig,\n ci: CommandInterface,\n dosInstance: DosInstance,\n mirrored: boolean,\n scale: number,\n layerName?: string): () => void {\n let selectedLayer = layersConfig.layers[0];\n if (layerName !== undefined) {\n for (const next of layersConfig.layers) {\n if (next.title === layerName) {\n selectedLayer = next;\n break;\n }\n }\n }\n return initLayerConfig(selectedLayer, layers, ci, dosInstance, mirrored, scale);\n}\n\ninterface CellWithMeta extends Cell {\n hidden?: boolean,\n}\n\ninterface Sensor {\n activate: () => void;\n deactivate: () => void;\n}\n\ninterface MirroredInfo {\n leftStart: number;\n leftEnd: number;\n rightStart: number;\n rightEnd: number;\n}\n\nclass ControlSensors {\n sensors: { [key: string]: Sensor } = {};\n\n activate(row: number, column: number) {\n const sensor = this.sensors[column + \"_\" + row];\n if (sensor !== undefined) {\n sensor.activate();\n }\n }\n\n deactivate(row: number, column: number) {\n const sensor = this.sensors[column + \"_\" + row];\n if (sensor !== undefined) {\n sensor.deactivate();\n }\n }\n\n register(row: number, column: number, sensor: Sensor) {\n this.sensors[column + \"_\" + row] = sensor;\n }\n}\n\ntype ControlFactory = (control: any,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) => () => void;\n\nconst factoryMapping: { [type: string]: ControlFactory } = {\n Key: createKeyControl,\n Options: createOptionsControl,\n Keyboard: createKeyboardControl,\n Switch: createSwitchControl,\n ScreenMove: createScreenMoveControl,\n PointerButton: createPointerButtonControl,\n PointerMove: createPointerMoveControl,\n PointerReset: createPointerResetControl,\n PointerToggle: createPointerToggleControl,\n NippleActivator: createNippleActivatorControl,\n};\n\nfunction initLayerConfig(layerConfig: LayerConfig,\n layers: Layers,\n ci: CommandInterface,\n dosInstance: DosInstance,\n mirrored: boolean,\n scale: number): () => void {\n const unbindKeyboard = keyboard(layers, ci);\n const unbindMouse = mouse(dosInstance.autolock, dosInstance.sensitivity, layers, ci);\n\n const unbindControls: (() => void)[] = [];\n function rebuild(width: number, height: number) {\n for (const next of unbindControls) {\n next();\n }\n unbindControls.splice(0, unbindControls.length);\n\n const grid = getGrid(layerConfig.grid);\n const gridConfig = grid.getConfiguration(width, height, scale);\n const sensors = new ControlSensors();\n\n for (const next of layerConfig.controls) {\n const { row, column, type } = next;\n if (type === \"NippleActivator\") {\n setHiddenAround(gridConfig, row, column);\n }\n }\n\n let doOffsetColumnInRow = -1;\n if (layers.options.optionControls?.length === 0) {\n for (const next of layerConfig.controls) {\n const { row, type } = next;\n if (type === \"Options\") {\n doOffsetColumnInRow = row;\n break;\n }\n }\n }\n\n const mirroredInfo: { [row: number]: MirroredInfo } = {};\n if (mirrored) {\n for (const next of layerConfig.controls) {\n const { row } = next;\n let column = next.column;\n const columnsCount = gridConfig.cells[row].length;\n const middleColumn = columnsCount / 2;\n\n if (row === doOffsetColumnInRow && column >= middleColumn) {\n column = Math.min(column + 1, columnsCount - 1);\n }\n\n if (mirroredInfo[row] === undefined) {\n mirroredInfo[row] = {\n leftStart: middleColumn,\n leftEnd: 0,\n rightStart: columnsCount - 1,\n rightEnd: middleColumn,\n };\n }\n\n if (column < middleColumn) {\n mirroredInfo[row].leftStart = Math.min(mirroredInfo[row].leftStart, column);\n mirroredInfo[row].leftEnd = Math.max(mirroredInfo[row].leftEnd, column);\n } else {\n mirroredInfo[row].rightStart = Math.min(mirroredInfo[row].rightStart, column);\n mirroredInfo[row].rightEnd = Math.max(mirroredInfo[row].rightEnd, column);\n }\n }\n }\n\n for (const next of layerConfig.controls) {\n const factory = factoryMapping[next.type];\n if (factory === undefined) {\n console.error(\"Factory for control '\" + next.type + \"' is not defined\");\n continue;\n }\n\n const copy = { ...next };\n const columnsCount = gridConfig.cells[next.row].length;\n const middleColumn = columnsCount / 2;\n if (doOffsetColumnInRow === next.row && next.column >= middleColumn) {\n copy.column = Math.min(copy.column + 1, columnsCount - 1);\n }\n\n if (mirrored) {\n const { leftStart, leftEnd, rightStart, rightEnd } = mirroredInfo[copy.row];\n const leftSide = copy.column < middleColumn;\n if (leftSide) {\n copy.column += middleColumn + (middleColumn - leftEnd) - leftStart - 1;\n } else {\n copy.column -= middleColumn + (rightStart - middleColumn) - (columnsCount - rightEnd) + 1;\n }\n\n if (copy.column >= columnsCount) {\n console.error(\"Column\", copy.column, \"is out of bound\",\n columnsCount, leftSide ? \"[leftSide]\" : \"[rightSide]\", mirroredInfo);\n copy.column = columnsCount - 1;\n } else if (copy.column < 0) {\n console.error(\"Column\", copy.column, \"is out of bound\",\n 0, leftSide ? \"[leftSide]\" : \"[rightSide]\", mirroredInfo);\n copy.column = 0;\n }\n }\n\n const unbind = factory(copy, layers, ci, gridConfig, sensors, dosInstance);\n unbindControls.push(unbind);\n }\n }\n\n layers.addOnResize(rebuild);\n rebuild(layers.width, layers.height);\n\n return () => {\n layers.removeOnResize(rebuild);\n unbindKeyboard();\n unbindMouse();\n for (const next of unbindControls) {\n next();\n }\n };\n}\n\nfunction createKeyControl(keyControl: LayerKeyControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth } = gridConfig;\n const { row, column } = keyControl;\n const { centerX, centerY } = cells[row][column];\n\n const handler = {\n onDown: () => {\n for (const next of keyControl.mapTo) {\n ci.sendKeyEvent(next, true);\n }\n },\n onUp: () => {\n for (const next of keyControl.mapTo) {\n ci.sendKeyEvent(next, false);\n }\n },\n };\n\n sensors.register(row, column, {\n activate: handler.onDown,\n deactivate: handler.onUp,\n });\n\n if (isHidden(gridConfig, row, column)) {\n return () => {};\n }\n\n const button = createButton(keyControl.symbol, handler, columnWidth);\n\n button.style.position = \"absolute\";\n button.style.left = (centerX - button.widthPx / 2) + \"px\";\n button.style.top = (centerY - button.heightPx / 2) + \"px\";\n\n layers.mouseOverlay.appendChild(button);\n return () => layers.mouseOverlay.removeChild(button);\n}\n\nfunction createOptionsControl(optionControl: LayerControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n if (layers.options.optionControls?.length === 0) {\n return () => {/**/};\n }\n\n if (layers.options.optionControls !== undefined &&\n layers.options.optionControls.length === 1 &&\n layers.options.optionControls[0] === \"keyboard\") {\n return createKeyboardControl(optionControl, layers, ci, gridConfig, sensors, dosInstance);\n }\n\n const { cells, columnWidth, rowHeight } = gridConfig;\n const { row, column } = optionControl;\n const { centerX, centerY } = cells[row][column];\n\n const top = centerY - rowHeight / 2;\n const left = centerX - columnWidth / 2;\n const right = gridConfig.width - left - columnWidth;\n\n return options(layers, [\"default\"], () => {/**/},\n columnWidth,\n top,\n right);\n}\n\nfunction createKeyboardControl(keyboardControl: LayerControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth } = gridConfig;\n const { row, column } = keyboardControl;\n const { centerX, centerY } = cells[row][column];\n\n const button = createButton(\"keyboard\", {\n onUp: () => layers.toggleKeyboard(),\n }, columnWidth);\n\n const onKeyboardVisibility = (visible: boolean) => {\n if (visible) {\n button.children[0].classList.add(\"emulator-control-close-icon\");\n } else {\n button.children[0].classList.remove(\"emulator-control-close-icon\");\n }\n };\n layers.setOnKeyboardVisibility(onKeyboardVisibility);\n\n button.style.position = \"absolute\";\n button.style.left = (centerX - button.widthPx / 2) + \"px\";\n button.style.top = (centerY - button.heightPx / 2) + \"px\";\n\n layers.mouseOverlay.appendChild(button);\n return () => {\n layers.mouseOverlay.removeChild(button);\n layers.removeOnKeyboardVisibility(onKeyboardVisibility);\n };\n}\n\nfunction createSwitchControl(switchControl: LayerSwitchControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth } = gridConfig;\n const { row, column } = switchControl;\n const { centerX, centerY } = cells[row][column];\n\n const button = createButton(switchControl.symbol, {\n onUp: () => dosInstance.setLayersConfig(dosInstance.getLayersConfig(), switchControl.layerName),\n }, columnWidth);\n\n button.style.position = \"absolute\";\n button.style.left = (centerX - button.widthPx / 2) + \"px\";\n button.style.top = (centerY - button.heightPx / 2) + \"px\";\n\n layers.mouseOverlay.appendChild(button);\n return () => {\n layers.mouseOverlay.removeChild(button);\n };\n}\n\nfunction createScreenMoveControl(screenMoveControl: LayerScreenMoveControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth } = gridConfig;\n const { row, column } = screenMoveControl;\n const { centerX, centerY } = cells[row][column];\n\n let mX = 0.5;\n let mY = 0.5;\n\n if (screenMoveControl.direction.indexOf(\"up\") >= 0) {\n mY = 0;\n }\n\n if (screenMoveControl.direction.indexOf(\"down\") >= 0) {\n mY = 1;\n }\n\n if (screenMoveControl.direction.indexOf(\"left\") >= 0) {\n mX = 0;\n }\n\n if (screenMoveControl.direction.indexOf(\"right\") >= 0) {\n mX = 1;\n }\n\n const handler = {\n onDown: () => {\n ci.sendMouseMotion(mX, mY);\n },\n onUp: () => {\n ci.sendMouseMotion(0.5, 0.5);\n },\n };\n\n sensors.register(row, column, {\n activate: handler.onDown,\n deactivate: handler.onUp,\n });\n\n if (isHidden(gridConfig, row, column)) {\n return () => {};\n }\n\n const button = createButton(screenMoveControl.symbol, handler, columnWidth);\n\n button.style.position = \"absolute\";\n button.style.left = (centerX - button.widthPx / 2) + \"px\";\n button.style.top = (centerY - button.heightPx / 2) + \"px\";\n\n layers.mouseOverlay.appendChild(button);\n return () => layers.mouseOverlay.removeChild(button);\n}\n\nfunction createPointerButtonControl(pointerButtonControl: LayerPointerButtonControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth } = gridConfig;\n const { row, column, click } = pointerButtonControl;\n const { centerX, centerY } = cells[row][column];\n\n const handler = {\n onDown: () => {\n if (!click) {\n layers.pointerButton = pointerButtonControl.button;\n } else {\n ci.sendMouseButton(pointerButtonControl.button, true);\n }\n },\n onUp: () => {\n if (!click) {\n layers.pointerButton = 0;\n } else {\n ci.sendMouseButton(pointerButtonControl.button, false);\n }\n },\n };\n\n sensors.register(row, column, {\n activate: handler.onDown,\n deactivate: handler.onUp,\n });\n\n if (isHidden(gridConfig, row, column)) {\n return () => {};\n }\n\n const button = createButton(pointerButtonControl.symbol, handler, columnWidth);\n\n button.style.position = \"absolute\";\n button.style.left = (centerX - button.widthPx / 2) + \"px\";\n button.style.top = (centerY - button.heightPx / 2) + \"px\";\n\n layers.mouseOverlay.appendChild(button);\n return () => layers.mouseOverlay.removeChild(button);\n}\n\nfunction createPointerMoveControl(pointerMoveControl: LayerPointerMoveControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth } = gridConfig;\n const { row, column, x, y } = pointerMoveControl;\n const { centerX, centerY } = cells[row][column];\n\n const handler = {\n onDown: () => {\n ci.sendMouseMotion(x, y);\n },\n onUp: () => {\n ci.sendMouseMotion(x, y);\n },\n };\n\n sensors.register(row, column, {\n activate: handler.onDown,\n deactivate: handler.onUp,\n });\n\n if (isHidden(gridConfig, row, column)) {\n return () => {};\n }\n\n const button = createButton(pointerMoveControl.symbol, handler, columnWidth);\n\n button.style.position = \"absolute\";\n button.style.left = (centerX - button.widthPx / 2) + \"px\";\n button.style.top = (centerY - button.heightPx / 2) + \"px\";\n\n layers.mouseOverlay.appendChild(button);\n return () => layers.mouseOverlay.removeChild(button);\n}\n\nfunction createPointerResetControl(pointerResetControl: LayerPointerResetControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth } = gridConfig;\n const { row, column } = pointerResetControl;\n const { centerX, centerY } = cells[row][column];\n\n const handler = {\n onDown: () => {\n ci.sendMouseSync();\n },\n };\n\n sensors.register(row, column, {\n activate: handler.onDown,\n deactivate: () => { },\n });\n\n if (isHidden(gridConfig, row, column)) {\n return () => {};\n }\n\n const button = createButton(pointerResetControl.symbol, handler, columnWidth);\n\n button.style.position = \"absolute\";\n button.style.left = (centerX - button.widthPx / 2) + \"px\";\n button.style.top = (centerY - button.heightPx / 2) + \"px\";\n\n layers.mouseOverlay.appendChild(button);\n return () => layers.mouseOverlay.removeChild(button);\n}\n\nfunction createPointerToggleControl(pointerToggleControl: LayerPointerToggleControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth } = gridConfig;\n const { row, column } = pointerToggleControl;\n const { centerX, centerY } = cells[row][column];\n\n const handler = {\n onDown: () => {\n layers.pointerDisabled = !layers.pointerDisabled;\n if (layers.pointerDisabled) {\n if (!button.classList.contains(\"emulator-button-highlight\")) {\n button.classList.add(\"emulator-button-highlight\");\n }\n } else {\n button.classList.remove(\"emulator-button-highlight\");\n }\n },\n };\n\n sensors.register(row, column, {\n activate: handler.onDown,\n deactivate: () => { },\n });\n\n if (isHidden(gridConfig, row, column)) {\n return () => {};\n }\n\n const button = createButton(pointerToggleControl.symbol, handler, columnWidth);\n\n button.style.position = \"absolute\";\n button.style.left = (centerX - button.widthPx / 2) + \"px\";\n button.style.top = (centerY - button.heightPx / 2) + \"px\";\n\n layers.mouseOverlay.appendChild(button);\n return () => layers.mouseOverlay.removeChild(button);\n}\n\nfunction createNippleActivatorControl(nippleActivatorControl: LayerNippleActivatorControl,\n layers: Layers,\n ci: CommandInterface,\n gridConfig: GridConfiguration,\n sensors: ControlSensors,\n dosInstance: DosInstance) {\n const { cells, columnWidth, rowHeight, width, height } = gridConfig;\n const { row, column } = nippleActivatorControl;\n const { centerX, centerY } = cells[row][column];\n\n const nippleContainer = document.createElement(\"div\");\n const cellSize = 1.5;\n const left = Math.max(0, centerX - columnWidth * cellSize);\n const top = Math.max(0, centerY - rowHeight * cellSize);\n const right = Math.max(0, width - centerX - columnWidth * cellSize);\n const bottom = Math.max(0, height - centerY - rowHeight * cellSize);\n\n nippleContainer.style.position = \"absolute\";\n nippleContainer.style.zIndex = \"999\";\n nippleContainer.style.left = left + \"px\";\n nippleContainer.style.top = top + \"px\";\n nippleContainer.style.right = right + \"px\";\n nippleContainer.style.bottom = bottom + \"px\";\n\n layers.mouseOverlay.appendChild(nippleContainer);\n\n const manager = nipplejs.create({\n zone: nippleContainer,\n multitouch: false,\n maxNumberOfNipples: 1,\n mode: \"static\",\n follow: false,\n dynamicPage: true,\n size: Math.max(columnWidth, rowHeight) * 1.5,\n position: {\n left: (width - right - left) / 2 + \"px\",\n top: (height - bottom - top) / 2 + \"px\",\n },\n });\n\n let activeColumn = -1;\n let activeRow = -1;\n manager.on(\"move\", (evt: any, data: any) => {\n if (data.distance < 10) {\n sensors.deactivate(activeRow, activeColumn);\n activeColumn = -1;\n activeRow = -1;\n return;\n }\n let targetColumn = -1;\n let targetRow = -1;\n const step = 360 / 8;\n const half = step / 2;\n const degree = data.angle.degree;\n if (degree > half && degree <= half + step) {\n // console.log(\"up-right\")\n targetColumn = column + 1;\n targetRow = row - 1;\n } else if (degree > half + step && degree <= half + step * 2) {\n // console.log(\"up\");\n targetColumn = column;\n targetRow = row - 1;\n } else if (degree > half + step * 2 && degree <= half + step * 3) {\n // console.log(\"up-left\");\n targetColumn = column - 1;\n targetRow = row - 1;\n } else if (degree > half + step * 3 && degree <= half + step * 4) {\n // console.log(\"left\");\n targetColumn = column - 1;\n targetRow = row;\n } else if (degree > half + step * 4 && degree <= half + step * 5) {\n // console.log(\"down-left\");\n targetColumn = column - 1;\n targetRow = row + 1;\n } else if (degree > half + step * 5 && degree <= half + step * 6) {\n // console.log(\"down\")\n targetColumn = column;\n targetRow = row + 1;\n } else if (degree > half + step * 6 && degree <= half + step * 7) {\n // console.log(\"down-right\");\n targetColumn = column + 1;\n targetRow = row + 1;\n } else {\n // console.log(\"right\");\n targetColumn = column + 1;\n targetRow = row;\n }\n\n if (activeColumn !== targetColumn || activeRow !== targetRow) {\n sensors.deactivate(activeRow, activeColumn);\n sensors.activate(targetRow, targetColumn);\n activeColumn = targetColumn;\n activeRow = targetRow;\n }\n });\n\n let started = false;\n manager.on(\"start\", () => {\n started = true;\n });\n\n manager.on(\"end\", () => {\n started = false;\n sensors.deactivate(activeRow, activeColumn);\n activeRow = -1;\n activeColumn = -1;\n });\n\n const options = {\n capture: true,\n };\n\n function onEnd(e: Event) {\n if (started) {\n manager.processOnEnd(e);\n }\n }\n\n for (const next of pointer.enders) {\n layers.mouseOverlay.addEventListener(next, onEnd, options);\n }\n\n return () => {\n manager.destroy();\n layers.mouseOverlay.removeChild(nippleContainer);\n for (const next of pointer.enders) {\n layers.mouseOverlay.removeEventListener(next, onEnd, options);\n }\n };\n}\n\nfunction isHidden(config: GridConfiguration, row: number, column: number) {\n return (config.cells[row][column] as CellWithMeta).hidden === true;\n}\n\nfunction setHiddenAround(config: GridConfiguration,\n centralRow: number,\n centralColumn: number) {\n function setHiddenIfValid(row: number, column: number) {\n if (row === centralRow && column === centralColumn) {\n return;\n }\n\n if (row >= 0 && row < config.cells.length) {\n const rowCells = config.cells[row];\n if (column >= 0 && column < rowCells.length) {\n (rowCells[column] as CellWithMeta).hidden = true;\n }\n }\n }\n\n for (let ri = centralRow - 1; ri <= centralRow + 1; ++ri) {\n for (let ci = centralColumn - 1; ci <= centralColumn + 1; ++ci) {\n setHiddenIfValid(ri, ci);\n }\n }\n}\n","import { LegacyLayersConfig } from \"./layers-config\";\nimport { Layers } from \"../dom/layers\";\nimport { CommandInterface } from \"emulators\";\nimport { deprecatedButton } from \"./button\";\nimport { mouse } from \"./mouse/mouse-common\";\nimport { nipple } from \"./nipple\";\nimport { options } from \"./options\";\nimport { keyboard } from \"./keyboard\";\nimport { DosInstance } from \"../js-dos\";\n\nexport function initLegacyLayersControl(\n dosInstance: DosInstance,\n layers: Layers,\n layersConfig: LegacyLayersConfig,\n ci: CommandInterface) {\n const layersNames = Object.keys(layersConfig);\n\n const unbind = {\n keyboard: () => {/**/},\n mouse: () => {/**/},\n gestures: () => {/**/},\n buttons: () => {/**/},\n };\n\n const changeControlLayer = (layerName: string) => {\n unbind.keyboard();\n unbind.mouse();\n unbind.gestures();\n unbind.buttons();\n\n unbind.keyboard = () => {/**/};\n unbind.mouse = () => {/**/};\n unbind.gestures = () => {/**/};\n unbind.buttons = () => {/**/};\n\n const layer = layersConfig[layerName];\n if (layer === undefined) {\n return;\n }\n\n unbind.keyboard = keyboard(layers, ci, layer.mapper);\n\n if (layer.gestures !== undefined && layer.gestures.length > 0) {\n unbind.gestures = nipple(layers, ci, layer.gestures);\n } else {\n unbind.mouse = mouse(dosInstance.autolock, dosInstance.sensitivity, layers, ci);\n }\n\n if (layer.buttons !== undefined && layer.buttons.length) {\n unbind.buttons = deprecatedButton(layers, ci, layer.buttons, 54);\n }\n };\n\n\n const unbindOptions =\n (layers.options.optionControls?.length === 0) ?\n () => {/**/} :\n options(layers, layersNames, changeControlLayer, 54, 54 / 4, 0);\n\n changeControlLayer(\"default\");\n\n return () => {\n unbind.gestures();\n unbind.buttons();\n unbind.mouse();\n unbind.keyboard();\n unbindOptions();\n };\n}\n","import { CommandInterface } from \"emulators\";\nimport { Layers } from \"../../dom/layers\";\nimport { pointer, getPointerState } from \"../../dom/pointer\";\nimport { mouseSwipe } from \"./mouse-swipe\";\nimport { mouseNotLocked } from \"./mouse-not-locked\";\nimport { mouseLocked } from \"./mouse-locked\";\n\nconst insensitivePadding = 1 / 100;\n\nexport function mapXY(eX: number, eY: number,\n ci: CommandInterface, layers: Layers) {\n const frameWidth = ci.width();\n const frameHeight = ci.height();\n const containerWidth = layers.width;\n const containerHeight = layers.height;\n\n const aspect = frameWidth / frameHeight;\n\n let width = containerWidth;\n let height = containerWidth / aspect;\n\n if (height > containerHeight) {\n height = containerHeight;\n width = containerHeight * aspect;\n }\n\n const top = (containerHeight - height) / 2;\n const left = (containerWidth - width) / 2;\n\n let x = Math.max(0, Math.min(1, (eX - left) / width));\n let y = Math.max(0, Math.min(1, (eY - top) / height));\n\n if (x <= insensitivePadding) {\n x = 0;\n }\n\n if (x >= (1 - insensitivePadding)) {\n x = 1;\n }\n\n if (y <= insensitivePadding) {\n y = 0;\n }\n\n if (y >= (1 - insensitivePadding)) {\n y = 1;\n }\n\n return {\n x,\n y,\n };\n}\n\nexport function mount(el: HTMLDivElement, layers: Layers,\n onMouseDown: (x: number, y: number, button: number) => void,\n onMouseMove: (x: number, y: number, mX: number, mY: number) => void,\n onMouseUp: (x: number, y: number, button: number) => void,\n onMouseLeave: (x: number, y: number) => void) {\n // eslint-disable-next-line\n function preventDefaultIfNeeded(e: Event) {\n // not needed yet\n }\n\n let pressedButton = 0;\n const onStart = (e: Event) => {\n if (e.target !== el) {\n return;\n }\n\n if (layers.pointerDisabled) {\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n return;\n }\n\n const state = getPointerState(e, el);\n pressedButton = state.button || layers.pointerButton;\n onMouseDown(state.x, state.y, pressedButton);\n\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n };\n\n const onChange = (e: Event) => {\n if (e.target !== el) {\n return;\n }\n\n if (layers.pointerDisabled) {\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n return;\n }\n\n const state = getPointerState(e, el);\n onMouseMove(state.x, state.y, state.mX, state.mY);\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n };\n\n const onEnd = (e: Event) => {\n if (layers.pointerDisabled) {\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n return;\n }\n\n const state = getPointerState(e, el);\n onMouseUp(state.x, state.y, pressedButton);\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n };\n\n const onLeave = (e: Event) => {\n if (e.target !== el) {\n return;\n }\n\n if (layers.pointerDisabled) {\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n return;\n }\n\n const state = getPointerState(e, el);\n onMouseLeave(state.x, state.y);\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n };\n\n const onPrevent = (e: Event) => {\n e.stopPropagation();\n preventDefaultIfNeeded(e);\n };\n\n const options = {\n capture: false,\n };\n\n for (const next of pointer.starters) {\n el.addEventListener(next, onStart, options);\n }\n for (const next of pointer.changers) {\n el.addEventListener(next, onChange, options);\n }\n for (const next of pointer.enders) {\n el.addEventListener(next, onEnd, options);\n }\n for (const next of pointer.prevents) {\n el.addEventListener(next, onPrevent, options);\n }\n for (const next of pointer.leavers) {\n el.addEventListener(next, onLeave, options);\n }\n\n return () => {\n for (const next of pointer.starters) {\n el.removeEventListener(next, onStart, options);\n }\n for (const next of pointer.changers) {\n el.removeEventListener(next, onChange, options);\n }\n for (const next of pointer.enders) {\n el.removeEventListener(next, onEnd, options);\n }\n for (const next of pointer.prevents) {\n el.removeEventListener(next, onPrevent, options);\n }\n for (const next of pointer.leavers) {\n el.removeEventListener(next, onLeave, options);\n }\n };\n}\n\nexport function mouse(autolock: boolean, sensitivity: number, layers: Layers, ci: CommandInterface) {\n if (autolock && !pointer.canLock) {\n return mouseSwipe(sensitivity, layers, ci);\n }\n\n if (autolock) {\n return mouseLocked(sensitivity, layers, ci);\n }\n\n return mouseNotLocked(layers, ci);\n}\n","import { CommandInterface } from \"emulators\";\nimport { Layers } from \"../../dom/layers\";\nimport { mount } from \"./mouse-common\";\n\nexport function mouseLocked(sensitivity: number, layers: Layers, ci: CommandInterface) {\n const el = layers.mouseOverlay;\n\n function isNotLocked() {\n return document.pointerLockElement !== el;\n }\n\n function onMouseDown(x: number, y: number, button: number) {\n if (isNotLocked()) {\n const requestPointerLock = el.requestPointerLock ||\n (el as any).mozRequestPointerLock ||\n (el as any).webkitRequestPointerLock;\n\n requestPointerLock.call(el);\n\n return;\n }\n\n ci.sendMouseButton(button, true);\n }\n\n function onMouseUp(x: number, y: number, button: number) {\n if (isNotLocked()) {\n return;\n }\n\n ci.sendMouseButton(button, false);\n }\n\n function onMouseMove(x: number, y: number, mX: number, mY: number) {\n if (isNotLocked()) {\n return;\n }\n\n if (mX === 0 && mY === 0) {\n return;\n }\n\n (ci as any).sendMouseRelativeMotion(mX * sensitivity, mY * sensitivity);\n }\n\n function onMouseLeave(x: number, y: number) {\n // nothing to do\n }\n\n return mount(el, layers, onMouseDown, onMouseMove, onMouseUp, onMouseLeave);\n}\n","import { CommandInterface } from \"emulators\";\nimport { Layers } from \"../../dom/layers\";\n\nimport { mapXY as doMapXY, mount } from \"./mouse-common\";\n\nexport function mouseNotLocked(layers: Layers, ci: CommandInterface) {\n const el = layers.mouseOverlay;\n const mapXY = (x: number, y: number) => doMapXY(x, y, ci, layers);\n\n if (document.pointerLockElement === el) {\n document.exitPointerLock();\n }\n\n function onMouseDown(x: number, y: number, button: number) {\n const xy = mapXY(x, y);\n ci.sendMouseMotion(xy.x, xy.y);\n ci.sendMouseButton(button, true);\n }\n\n function onMouseUp(x: number, y: number, button: number) {\n const xy = mapXY(x, y);\n ci.sendMouseMotion(xy.x, xy.y);\n ci.sendMouseButton(button, false);\n }\n\n function onMouseMove(x: number, y: number, mX: number, mY: number) {\n const xy = mapXY(x, y);\n ci.sendMouseMotion(xy.x, xy.y);\n }\n\n function onMouseLeave(x: number, y: number) {\n const xy = mapXY(x, y);\n ci.sendMouseMotion(xy.x, xy.y);\n }\n\n return mount(el, layers, onMouseDown, onMouseMove, onMouseUp, onMouseLeave);\n}\n","import { CommandInterface } from \"emulators\";\nimport { Layers } from \"../../dom/layers\";\n\nimport { mount } from \"./mouse-common\";\n\nconst clickDelay = 500;\nconst clickThreshold = 50;\n\nexport function mouseSwipe(sensitivity: number, layers: Layers, ci: CommandInterface) {\n const el = layers.mouseOverlay;\n\n let startedAt = -1;\n let acc = 0;\n let prevX = 0;\n let prevY = 0;\n\n const onMouseDown = (x: number, y: number) => {\n startedAt = Date.now();\n acc = 0;\n prevX = x;\n prevY = y;\n };\n\n function onMouseMove(x: number, y: number, mX: number, mY: number) {\n if (mX === undefined) {\n mX = x - prevX;\n }\n\n if (mY === undefined) {\n mY = y - prevY;\n }\n\n prevX = x;\n prevY = y;\n\n if (mX === 0 && mY === 0) {\n return;\n }\n\n acc += Math.abs(mX) + Math.abs(mY);\n\n (ci as any).sendMouseRelativeMotion(mX * sensitivity * 2, mY * sensitivity * 2);\n }\n\n const onMouseUp = (x: number, y: number) => {\n const delay = Date.now() - startedAt;\n\n if (delay < clickDelay && acc < clickThreshold) {\n const button = layers.pointerButton || 0;\n ci.sendMouseButton(button, true);\n setTimeout(() => ci.sendMouseButton(button, false), 60);\n }\n };\n\n const noop = () => {};\n\n return mount(el, layers, onMouseDown, onMouseMove, onMouseUp, noop);\n}\n","// eslint-disable-next-line\nconst nipplejs = require(\"nipplejs\");\n\nimport { KBD_NONE } from \"../dom/keys\";\n\nimport { CommandInterface } from \"emulators\";\nimport { Layers } from \"../dom/layers\";\n\nexport type Event =\n \"dir:up\" | \"dir:down\" | \"dir:left\" | \"dir:right\" |\n \"plain:up\" | \"plain:down\" | \"plain:left\" | \"plain:right\" |\n \"end:release\" | \"tap\";\n\nexport interface EventMapping {\n joystickId: 0 | 1,\n event: Event,\n mapTo: number,\n}\n\nexport function nipple(layers: Layers,\n ci: CommandInterface,\n mapping: EventMapping[]) {\n const manager = nipplejs.create({\n zone: layers.mouseOverlay,\n multitouch: true,\n maxNumberOfNipples: 2,\n });\n\n let pressed = -1;\n\n const press = (keyCode: number) => {\n layers.fireKeyDown(keyCode);\n pressed = keyCode;\n };\n\n const release = () => {\n if (pressed !== -1) {\n layers.fireKeyUp(pressed);\n pressed = -1;\n }\n };\n\n const releaseOnEnd: {[index: number]: boolean} = {};\n const tapJoysticks: {[index: number]: number} = {};\n const usedTimes: {[index: number]: number} = {\n };\n for (const next of mapping) {\n if (next.event === \"end:release\") {\n releaseOnEnd[next.joystickId] = true;\n } else if (next.mapTo !== KBD_NONE) {\n if (next.event === \"tap\") {\n tapJoysticks[next.joystickId] = next.mapTo;\n } else {\n manager.on(next.event, () => {\n usedTimes[next.joystickId] = Date.now();\n release();\n press(next.mapTo);\n });\n }\n }\n }\n\n const startTimes: {[index: number]: number} = {};\n manager.on(\"start\", () => {\n const id = manager.ids.length - 1;\n startTimes[id] = Date.now();\n });\n\n manager.on(\"end\", () => {\n const id = manager.ids.length - 1;\n const delay = Date.now() - startTimes[id];\n\n if (releaseOnEnd[id] === true) {\n release();\n }\n\n if (tapJoysticks[id] && delay < 500 && usedTimes[id] < startTimes[id]) {\n layers.fireKeyPress(tapJoysticks[id]);\n }\n });\n\n return () => manager.destroy();\n}\n\n","import { Layers } from \"../dom/layers\";\nimport { CommandInterface } from \"emulators\";\nimport { keyboard } from \"./keyboard\";\nimport { mouse } from \"./mouse/mouse-common\";\nimport { options } from \"./options\";\nimport { DosInstance } from \"../js-dos\";\n\nexport function initNullLayersControl(\n dosInstance: DosInstance,\n layers: Layers,\n ci: CommandInterface) {\n const unbindKeyboard = keyboard(layers, ci);\n const unbindMouse = mouse(dosInstance.autolock, dosInstance.sensitivity, layers, ci);\n const unbindOptions =\n (layers.options.optionControls?.length === 0) ?\n () => {/**/} :\n options(layers, [\"default\"], () => {/**/}, 54, 54 / 4, 0);\n\n return () => {\n unbindKeyboard();\n unbindMouse();\n unbindOptions();\n };\n}\n","import { Layers } from \"../dom/layers\";\nimport { createButton } from \"./button\";\nimport { createDiv, stopPropagation } from \"../dom/helpers\";\n\nexport function options(layers: Layers,\n layersNames: string[],\n onLayerChange: (layer: string) => void,\n size: number,\n top: number,\n right: number) {\n const ident = Math.round(size / 4);\n\n let controlsVisbile = false;\n let keyboardVisible = false;\n\n const updateVisibility = () => {\n const display = controlsVisbile ? \"flex\" : \"none\";\n for (const next of children) {\n if (next == options) {\n continue;\n }\n\n next.style.display = display;\n }\n };\n\n const toggleOptions = () => {\n controlsVisbile = !controlsVisbile;\n\n if (!controlsVisbile && keyboardVisible) {\n layers.toggleKeyboard();\n }\n\n updateVisibility();\n };\n\n const children: HTMLElement[] = [\n createSelectForLayers(layersNames, onLayerChange),\n createButton(\"keyboard\", {\n onClick: () => {\n layers.toggleKeyboard();\n\n if (controlsVisbile && !keyboardVisible) {\n controlsVisbile = false;\n updateVisibility();\n }\n },\n }, size),\n createButton(\"save\", {\n onClick: () => {\n layers.save();\n\n if (controlsVisbile) {\n toggleOptions();\n }\n },\n }, size),\n createButton(\"fullscreen\", {\n onClick: () => {\n layers.toggleFullscreen();\n\n if (controlsVisbile) {\n toggleOptions();\n }\n },\n }, size),\n createButton(\"options\", {\n onClick: toggleOptions,\n }, size),\n ];\n const options = children[children.length - 1];\n const fullscreen = children[children.length - 2].children[0];\n const keyboard = children[children.length - 4].children[0];\n\n const onKeyboardVisibility = (visible: boolean) => {\n keyboardVisible = visible;\n\n if (visible) {\n keyboard.classList.add(\"emulator-control-close-icon\");\n } else {\n keyboard.classList.remove(\"emulator-control-close-icon\");\n }\n };\n layers.setOnKeyboardVisibility(onKeyboardVisibility);\n onKeyboardVisibility(layers.keyboardVisible);\n\n layers.setOnFullscreen((fullscreenEnabled) => {\n if (fullscreenEnabled) {\n if (!fullscreen.classList.contains(\"emulator-control-exit-fullscreen-icon\")) {\n fullscreen.classList.add(\"emulator-control-exit-fullscreen-icon\");\n }\n } else {\n fullscreen.classList.remove(\"emulator-control-exit-fullscreen-icon\");\n }\n });\n\n if (layers.fullscreen) {\n fullscreen.classList.add(\"emulator-control-exit-fullscreen-icon\");\n }\n\n const container = createDiv(\"emulator-options\");\n const intialDisplay = keyboardVisible ? \"flex\" : \"none\";\n for (const next of children) {\n if (next !== options) {\n next.classList.add(\"emulator-button-control\");\n }\n next.style.marginRight = ident + \"px\";\n next.style.marginBottom = ident + \"px\";\n if (next !== options) {\n next.style.display = intialDisplay;\n }\n container.appendChild(next);\n }\n\n container.style.position = \"absolute\";\n container.style.right = right + \"px\";\n container.style.top = top + \"px\";\n\n layers.mouseOverlay.appendChild(container);\n\n return () => {\n layers.mouseOverlay.removeChild(container);\n layers.setOnFullscreen(() => {/**/});\n layers.removeOnKeyboardVisibility(onKeyboardVisibility);\n };\n}\n\nfunction createSelectForLayers(layers: string[], onChange: (layer: string) => void) {\n if (layers.length <= 1) {\n return document.createElement(\"div\");\n }\n\n const select = document.createElement(\"select\");\n select.classList.add(\"emulator-control-select\");\n\n\n for (const next of layers) {\n const option = document.createElement(\"option\");\n option.value = next;\n option.innerHTML = next;\n select.appendChild(option);\n }\n\n select.onchange = (e: any) => {\n const layer = e.target.value;\n onChange(layer);\n };\n\n stopPropagation(select, false);\n\n return select;\n}\n\n","import { pointer } from \"./pointer\";\n\nexport function createDiv(className: string, innerHtml?: string) {\n const el = document.createElement(\"div\");\n el.className = className;\n if (innerHtml !== undefined) {\n el.innerHTML = innerHtml;\n }\n return el;\n}\n\nexport function stopPropagation(el: HTMLElement, preventDefault = true) {\n const onStop = (e: Event) => {\n e.stopPropagation();\n };\n const onPrevent = (e: Event) => {\n e.stopPropagation();\n if (preventDefault) {\n e.preventDefault();\n }\n };\n const options = {\n capture: false,\n };\n for (const next of pointer.starters) {\n el.addEventListener(next, onStop, options);\n }\n for (const next of pointer.enders) {\n el.addEventListener(next, onStop, options);\n }\n for (const next of pointer.prevents) {\n el.addEventListener(next, onPrevent, options);\n }\n}\n","/* eslint-disable camelcase */\n\nexport const KBD_NONE = 0;\nexport const KBD_0 = 48;\nexport const KBD_1 = 49;\nexport const KBD_2 = 50;\nexport const KBD_3 = 51;\nexport const KBD_4 = 52;\nexport const KBD_5 = 53;\nexport const KBD_6 = 54;\nexport const KBD_7 = 55;\nexport const KBD_8 = 56;\nexport const KBD_9 = 57;\nexport const KBD_a = 65;\nexport const KBD_b = 66;\nexport const KBD_c = 67;\nexport const KBD_d = 68;\nexport const KBD_e = 69;\nexport const KBD_f = 70;\nexport const KBD_g = 71;\nexport const KBD_h = 72;\nexport const KBD_i = 73;\nexport const KBD_j = 74;\nexport const KBD_k = 75;\nexport const KBD_l = 76;\nexport const KBD_m = 77;\nexport const KBD_n = 78;\nexport const KBD_o = 79;\nexport const KBD_p = 80;\nexport const KBD_q = 81;\nexport const KBD_r = 82;\nexport const KBD_s = 83;\nexport const KBD_t = 84;\nexport const KBD_u = 85;\nexport const KBD_v = 86;\nexport const KBD_w = 87;\nexport const KBD_x = 88;\nexport const KBD_y = 89;\nexport const KBD_z = 90;\nexport const KBD_f1 = 290;\nexport const KBD_f2 = 291;\nexport const KBD_f3 = 292;\nexport const KBD_f4 = 293;\nexport const KBD_f5 = 294;\nexport const KBD_f6 = 295;\nexport const KBD_f7 = 296;\nexport const KBD_f8 = 297;\nexport const KBD_f9 = 298;\nexport const KBD_f10 = 299;\nexport const KBD_f11 = 300;\nexport const KBD_f12 = 301;\n\nexport const KBD_kp0 = 320;\nexport const KBD_kp1 = 321;\nexport const KBD_kp2 = 322;\nexport const KBD_kp3 = 323;\nexport const KBD_kp4 = 324;\nexport const KBD_kp5 = 325;\nexport const KBD_kp6 = 326;\nexport const KBD_kp7 = 327;\nexport const KBD_kp8 = 328;\nexport const KBD_kp9 = 329;\n\nexport const KBD_kpperiod = 330;\nexport const KBD_kpdivide = 331;\nexport const KBD_kpmultiply = 332;\nexport const KBD_kpminus = 333;\nexport const KBD_kpplus = 334;\nexport const KBD_kpenter = 335;\n\nexport const KBD_esc = 256;\nexport const KBD_tab = 258;\nexport const KBD_backspace = 259;\nexport const KBD_enter = 257;\nexport const KBD_space = 32;\nexport const KBD_leftalt = 342;\nexport const KBD_rightalt = 346;\nexport const KBD_leftctrl = 341;\nexport const KBD_rightctrl = 345;\nexport const KBD_leftshift = 340;\nexport const KBD_rightshift = 344;\nexport const KBD_capslock = 280;\nexport const KBD_scrolllock = 281;\nexport const KBD_numlock = 282;\nexport const KBD_grave = 96;\nexport const KBD_minus = 45;\nexport const KBD_equals = 61;\nexport const KBD_backslash = 92;\nexport const KBD_leftbracket = 91;\nexport const KBD_rightbracket = 93;\nexport const KBD_semicolon = 59;\nexport const KBD_quote = 39;\nexport const KBD_period = 46;\nexport const KBD_comma = 44;\nexport const KBD_slash = 47;\nexport const KBD_printscreen = 283;\nexport const KBD_pause = 284;\nexport const KBD_insert = 260;\nexport const KBD_home = 268;\nexport const KBD_pageup = 266;\nexport const KBD_delete = 261;\nexport const KBD_end = 269;\nexport const KBD_pagedown = 267;\nexport const KBD_left = 263;\nexport const KBD_up = 265;\nexport const KBD_down = 264;\nexport const KBD_right = 262;\nexport const KBD_extra_lt_gt = 348; // ???\n\nexport const domToKeyCodes: {[index: number]: number} = {\n 8: KBD_backspace,\n 9: KBD_tab,\n 13: KBD_enter,\n 16: KBD_leftshift,\n 17: KBD_leftctrl,\n 18: KBD_leftalt,\n 19: KBD_pause,\n 27: KBD_esc,\n 32: KBD_space,\n 33: KBD_pageup,\n 34: KBD_pagedown,\n 35: KBD_end,\n 36: KBD_home,\n 37: KBD_left,\n 38: KBD_up,\n 39: KBD_right,\n 40: KBD_down,\n 45: KBD_insert,\n 46: KBD_delete,\n 48: KBD_0,\n 49: KBD_1,\n 50: KBD_2,\n 51: KBD_3,\n 52: KBD_4,\n 53: KBD_5,\n 54: KBD_6,\n 55: KBD_7,\n 56: KBD_8,\n 57: KBD_9,\n 59: KBD_semicolon,\n 64: KBD_equals,\n 65: KBD_a,\n 66: KBD_b,\n 67: KBD_c,\n 68: KBD_d,\n 69: KBD_e,\n 70: KBD_f,\n 71: KBD_g,\n 72: KBD_h,\n 73: KBD_i,\n 74: KBD_j,\n 75: KBD_k,\n 76: KBD_l,\n 77: KBD_m,\n 78: KBD_n,\n 79: KBD_o,\n 80: KBD_p,\n 81: KBD_q,\n 82: KBD_r,\n 83: KBD_s,\n 84: KBD_t,\n 85: KBD_u,\n 86: KBD_v,\n 87: KBD_w,\n 88: KBD_x,\n 89: KBD_y,\n 90: KBD_z,\n 91: KBD_leftbracket,\n 93: KBD_rightbracket,\n 96: KBD_kp0,\n 97: KBD_kp1,\n 98: KBD_kp2,\n 99: KBD_kp3,\n 100: KBD_kp4,\n 101: KBD_kp5,\n 102: KBD_kp6,\n 103: KBD_kp7,\n 104: KBD_kp8,\n 105: KBD_kp9,\n // 106: KBD_kpmultiply,\n // 107: KBD_kpadd,\n // 109: KBD_kpsubtract,\n // 110: KBD_kpdecimal,\n 111: KBD_kpdivide,\n 112: KBD_f1,\n 113: KBD_f2,\n 114: KBD_f3,\n 115: KBD_f4,\n 116: KBD_f5,\n 117: KBD_f6,\n 118: KBD_f7,\n 119: KBD_f8,\n 120: KBD_f9,\n 121: KBD_f10,\n 122: KBD_f11,\n 123: KBD_f12,\n 144: KBD_numlock,\n 145: KBD_scrolllock,\n 173: KBD_minus,\n 186: KBD_semicolon,\n 187: KBD_equals,\n 188: KBD_comma,\n 189: KBD_minus,\n 190: KBD_period,\n 191: KBD_slash,\n // 192: KBD_graveaccent,\n 219: KBD_leftbracket,\n 220: KBD_backslash,\n 221: KBD_rightbracket,\n // 222: KBD_apostrophe,\n // 224: KBD_left_super,\n};\n\nexport const namedKeyCodes: {[name: string]: number} = {\n \"KBD_NONE\": KBD_NONE,\n \"KBD_0\": KBD_0,\n \"KBD_1\": KBD_1,\n \"KBD_2\": KBD_2,\n \"KBD_3\": KBD_3,\n \"KBD_4\": KBD_4,\n \"KBD_5\": KBD_5,\n \"KBD_6\": KBD_6,\n \"KBD_7\": KBD_7,\n \"KBD_8\": KBD_8,\n \"KBD_9\": KBD_9,\n \"KBD_a\": KBD_a,\n \"KBD_b\": KBD_b,\n \"KBD_c\": KBD_c,\n \"KBD_d\": KBD_d,\n \"KBD_e\": KBD_e,\n \"KBD_f\": KBD_f,\n \"KBD_g\": KBD_g,\n \"KBD_h\": KBD_h,\n \"KBD_i\": KBD_i,\n \"KBD_j\": KBD_j,\n \"KBD_k\": KBD_k,\n \"KBD_l\": KBD_l,\n \"KBD_m\": KBD_m,\n \"KBD_n\": KBD_n,\n \"KBD_o\": KBD_o,\n \"KBD_p\": KBD_p,\n \"KBD_q\": KBD_q,\n \"KBD_r\": KBD_r,\n \"KBD_s\": KBD_s,\n \"KBD_t\": KBD_t,\n \"KBD_u\": KBD_u,\n \"KBD_v\": KBD_v,\n \"KBD_w\": KBD_w,\n \"KBD_x\": KBD_x,\n \"KBD_y\": KBD_y,\n \"KBD_z\": KBD_z,\n \"KBD_f1\": KBD_f1,\n \"KBD_f2\": KBD_f2,\n \"KBD_f3\": KBD_f3,\n \"KBD_f4\": KBD_f4,\n \"KBD_f5\": KBD_f5,\n \"KBD_f6\": KBD_f6,\n \"KBD_f7\": KBD_f7,\n \"KBD_f8\": KBD_f8,\n \"KBD_f9\": KBD_f9,\n \"KBD_f10\": KBD_f10,\n \"KBD_f11\": KBD_f11,\n \"KBD_f12\": KBD_f12,\n\n \"KBD_kp0\": KBD_kp0,\n \"KBD_kp1\": KBD_kp1,\n \"KBD_kp2\": KBD_kp2,\n \"KBD_kp3\": KBD_kp3,\n \"KBD_kp4\": KBD_kp4,\n \"KBD_kp5\": KBD_kp5,\n \"KBD_kp6\": KBD_kp6,\n \"KBD_kp7\": KBD_kp7,\n \"KBD_kp8\": KBD_kp8,\n \"KBD_kp9\": KBD_kp9,\n\n \"KBD_kpperiod\": KBD_kpperiod,\n \"KBD_kpdivide\": KBD_kpdivide,\n \"KBD_kpmultiply\": KBD_kpmultiply,\n \"KBD_kpminus\": KBD_kpminus,\n \"KBD_kpplus\": KBD_kpplus,\n \"KBD_kpenter\": KBD_kpenter,\n\n \"KBD_esc\": KBD_esc,\n \"KBD_tab\": KBD_tab,\n \"KBD_backspace\": KBD_backspace,\n \"KBD_enter\": KBD_enter,\n \"KBD_space\": KBD_space,\n \"KBD_leftalt\": KBD_leftalt,\n \"KBD_rightalt\": KBD_rightalt,\n \"KBD_leftctrl\": KBD_leftctrl,\n \"KBD_rightctrl\": KBD_rightctrl,\n \"KBD_leftshift\": KBD_leftshift,\n \"KBD_rightshift\": KBD_rightshift,\n \"KBD_capslock\": KBD_capslock,\n \"KBD_scrolllock\": KBD_scrolllock,\n \"KBD_numlock\": KBD_numlock,\n \"KBD_grave\": KBD_grave,\n \"KBD_minus\": KBD_minus,\n \"KBD_equals\": KBD_equals,\n \"KBD_backslash\": KBD_backslash,\n \"KBD_leftbracket\": KBD_leftbracket,\n \"KBD_rightbracket\": KBD_rightbracket,\n \"KBD_semicolon\": KBD_semicolon,\n \"KBD_quote\": KBD_quote,\n \"KBD_period\": KBD_period,\n \"KBD_comma\": KBD_comma,\n \"KBD_slash\": KBD_slash,\n \"KBD_printscreen\": KBD_printscreen,\n \"KBD_pause\": KBD_pause,\n \"KBD_insert\": KBD_insert,\n \"KBD_home\": KBD_home,\n \"KBD_pageup\": KBD_pageup,\n \"KBD_delete\": KBD_delete,\n \"KBD_end\": KBD_end,\n \"KBD_pagedown\": KBD_pagedown,\n \"KBD_left\": KBD_left,\n \"KBD_up\": KBD_up,\n \"KBD_down\": KBD_down,\n \"KBD_right\": KBD_right,\n \"KBD_extra_lt_gt\": KBD_extra_lt_gt,\n};\n\nexport const keyCodesToDom: {[index: number]: number} = {};\nfor (const next of Object.keys(domToKeyCodes)) {\n const key = Number.parseInt(next, 10);\n keyCodesToDom[domToKeyCodes[key]] = key;\n}\n\nexport function domToKeyCode(domCode: number) {\n return domToKeyCodes[domCode] || 0;\n}\n","import { Notyf } from \"notyf\";\nimport Keyboard from \"simple-keyboard\";\nimport { createDiv, stopPropagation } from \"./helpers\";\n\n/* eslint-disable camelcase */\nimport { domToKeyCode, KBD_enter, KBD_leftshift,\n KBD_backspace, KBD_capslock, KBD_tab, KBD_space, KBD_esc,\n KBD_leftctrl, KBD_leftalt, KBD_comma, KBD_period, KBD_quote,\n KBD_semicolon, KBD_leftbracket, KBD_rightbracket, KBD_up, KBD_down, KBD_left, KBD_right,\n} from \"./keys\";\n/* eslint-enable camelcase */\n\n// eslint-disable-next-line\nconst elementResizeDetector = require(\"element-resize-detector\");\nconst resizeDetector = elementResizeDetector({\n});\n\n// eslint-disable-next-line\nexport interface LayersOptions {\n optionControls?: string[];\n keyboardDiv?: HTMLDivElement;\n keyboardInputDiv?: HTMLDivElement;\n fullscreenElement?: HTMLElement;\n}\n\nexport function layers(root: HTMLDivElement, options?: LayersOptions) {\n return new Layers(root, options || {});\n}\n\nexport class Layers {\n options: LayersOptions;\n root: HTMLDivElement;\n loading: HTMLDivElement;\n canvas: HTMLCanvasElement;\n video: HTMLVideoElement;\n mouseOverlay: HTMLDivElement;\n width: number;\n height: number;\n fullscreen = false;\n keyboardVisible = false;\n pointerLock = false;\n pointerDisabled = false;\n pointerButton: 0 | 1 = 0;\n\n notyf = new Notyf();\n toggleKeyboard: () => boolean = () => false;\n\n private fullscreenElement: HTMLElement;\n private clickToStart: HTMLDivElement;\n private loaderText: HTMLPreElement;\n private onResize: ((width: number, height: number) => void)[];\n\n private onKeyDown: (keyCode: number) => void;\n private onKeyUp: (keyCode: number) => void;\n private onKeyPress: (keyCode: number) => void;\n private onKeysPress: (keyCodes: number[]) => void;\n\n private onSave: () => Promise<void>;\n private onSaveStarted: () => void;\n private onSaveEnded: () => void;\n\n private onFullscreenChanged: ((fullscreen: boolean) => void)[] = [];\n private onKeyboardChanged: ((visible: boolean) => void)[] = [];\n\n // eslint-disable-next-line\n constructor(root: HTMLDivElement, options: LayersOptions) {\n this.options = options;\n this.root = root;\n this.root.classList.add(\"emulator-root\");\n this.fullscreenElement = options.fullscreenElement || this.root;\n\n this.canvas = document.createElement(\"canvas\");\n this.canvas.className = \"emulator-canvas\";\n\n this.video = document.createElement(\"video\");\n this.video.setAttribute(\"autoplay\", \"\");\n this.video.setAttribute(\"playsinline\", \"\");\n this.video.className = \"emulator-video\";\n\n this.loading = createLoadingLayer();\n this.loaderText = this.loading.querySelector(\".emulator-loading-pre-2\") as HTMLPreElement;\n this.mouseOverlay = createMouseOverlayLayer();\n\n this.clickToStart = createClickToStartLayer();\n this.clickToStart.onclick = () => {\n this.clickToStart.style.display = \"none\";\n this.video.play();\n };\n\n this.root.appendChild(this.canvas);\n this.root.appendChild(this.video);\n this.root.appendChild(this.mouseOverlay);\n this.root.appendChild(this.clickToStart);\n this.root.appendChild(this.loading);\n\n this.width = root.offsetWidth;\n this.height = root.offsetHeight;\n\n this.onResize = [];\n this.onKeyDown = () => {/**/};\n this.onKeyUp = () => {/**/};\n this.onKeyPress = () => {/**/};\n this.onKeysPress = () => {/**/};\n this.onSave = () => {\n return Promise.reject(new Error(\"Not implemented\"));\n };\n this.onSaveStarted = () => {/**/};\n this.onSaveEnded = () => {/**/};\n\n resizeDetector.listenTo(this.root, (el: HTMLElement) => {\n if (el !== root) {\n return;\n }\n\n this.width = el.offsetWidth;\n this.height = el.offsetHeight;\n for (const next of this.onResize) {\n next(this.width, this.height);\n }\n });\n\n this.initKeyEvents();\n this.initKeyboard();\n this.preventContextMenu();\n\n\n this.fullscreenElement.onfullscreenchange = () => {\n if (document.fullscreenElement !== this.fullscreenElement) {\n this.fullscreen = false;\n for (const next of this.onFullscreenChanged) {\n next(this.fullscreen);\n }\n }\n };\n }\n\n private initKeyEvents() {\n const keyboardInput = this.options.keyboardInputDiv ?? this.root;\n keyboardInput.style.outline = \"none\";\n if (!keyboardInput.tabIndex || keyboardInput.tabIndex === -1) {\n keyboardInput.tabIndex = 0;\n }\n keyboardInput.addEventListener(\"keydown\", (e) => {\n const keyCode = domToKeyCode(e.keyCode);\n this.onKeyDown(keyCode);\n e.stopPropagation();\n e.preventDefault();\n });\n keyboardInput.addEventListener(\"keyup\", (e) => {\n const keyCode = domToKeyCode(e.keyCode);\n this.onKeyUp(keyCode);\n e.stopPropagation();\n e.preventDefault();\n });\n }\n\n preventContextMenu() {\n this.root.addEventListener(\"contextmenu\", (e) => {\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n\n addOnResize(handler: (width: number, height: number) => void) {\n this.onResize.push(handler);\n }\n\n removeOnResize(handler: (width: number, height: number) => void) {\n this.onResize = this.onResize.filter((n) => n !== handler);\n }\n\n setOnKeyDown(handler: (keyCode: number) => void) {\n this.onKeyDown = handler;\n }\n\n fireKeyDown(keyCode: number) {\n this.onKeyDown(keyCode);\n }\n\n setOnKeyUp(handler: (keyCode: number) => void) {\n this.onKeyUp = handler;\n }\n\n fireKeyUp(keyCode: number) {\n this.onKeyUp(keyCode);\n }\n\n setOnKeyPress(handler: (keyCode: number) => void) {\n this.onKeyPress = handler;\n }\n\n fireKeyPress(keyCode: number) {\n this.onKeyPress(keyCode);\n }\n\n setOnKeysPress(handler: (keyCodes: number[]) => void) {\n this.onKeysPress = handler;\n }\n\n\n fireKeysPress(keyCodes: number[]) {\n this.onKeysPress(keyCodes);\n }\n\n toggleFullscreen() {\n if (this.fullscreen) {\n this.fullscreen = false;\n if (this.fullscreenElement.classList.contains(\"emulator-fullscreen-workaround\")) {\n this.fullscreenElement.classList.remove(\"emulator-fullscreen-workaround\");\n } else if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if ((document as any).webkitExitFullscreen) {\n (document as any).webkitExitFullscreen();\n } else if ((document as any).mozCancelFullScreen) {\n (document as any).mozCancelFullScreen();\n } else if ((document as any).msExitFullscreen) {\n (document as any).msExitFullscreen();\n }\n for (const next of this.onFullscreenChanged) {\n next(false);\n }\n } else {\n this.fullscreen = true;\n const element = this.fullscreenElement as any;\n if (element.requestFullscreen) {\n element.requestFullscreen();\n } else if (element.webkitRequestFullscreen) {\n element.webkitRequestFullscreen();\n } else if (element.mozRequestFullScreen) {\n element.mozRequestFullScreen();\n } else if (element.msRequestFullscreen) {\n element.msRequestFullscreen();\n } else if (element.webkitEnterFullscreen) {\n element.webkitEnterFullscreen();\n } else {\n this.fullscreenElement.classList.add(\"emulator-fullscreen-workaround\");\n }\n for (const next of this.onFullscreenChanged) {\n next(true);\n }\n }\n }\n\n setOnFullscreen(onFullscreenChanged: (fullscreen: boolean) => void) {\n this.onFullscreenChanged.push(onFullscreenChanged);\n }\n\n removeOnFullscreen(onFullscreenChanged: (visible: boolean) => void) {\n this.onFullscreenChanged = this.onFullscreenChanged.filter((n) => n !== onFullscreenChanged);\n }\n\n setOnKeyboardVisibility(onKeyboardChanged: (visible: boolean) => void) {\n this.onKeyboardChanged.push(onKeyboardChanged);\n }\n\n removeOnKeyboardVisibility(onKeyboardChanged: (visible: boolean) => void) {\n this.onKeyboardChanged = this.onKeyboardChanged.filter((n) => n !== onKeyboardChanged);\n }\n\n save(): Promise<void> {\n this.onSaveStarted();\n return this.onSave()\n .then(() => {\n this.notyf.success(\"Saved\");\n this.onSaveEnded();\n })\n .catch((error) => {\n this.notyf.error(error.message);\n this.onSaveEnded();\n });\n }\n\n setOnSave(handler: () => Promise<void>) {\n this.onSave = handler;\n }\n\n getOnSave() {\n return this.onSave;\n }\n\n setOnSaveStarted(callback: () => void) {\n this.onSaveStarted = callback;\n }\n\n setOnSaveEnded(callback: () => void) {\n this.onSaveEnded = callback;\n }\n\n hideLoadingLayer() {\n this.loading.style.visibility = \"hidden\";\n }\n\n showLoadingLayer() {\n this.loading.style.visibility = \"visible\";\n }\n\n setLoadingMessage(message: string) {\n this.loaderText.innerHTML = message;\n }\n\n switchToVideo() {\n this.video.style.display = \"block\";\n this.canvas.style.display = \"none\";\n }\n\n showClickToStart() {\n this.clickToStart.style.display = \"flex\";\n }\n\n private initKeyboard() {\n let keyboardVisible = false;\n\n const layout = {\n en: [\n \"{esc} ` 1 2 3 4 5 6 7 8 9 0 () - = {bksp} {enter}\",\n \"{tab} q w e r t y u i o p { } \\\\ {up}\",\n \"{shift} {left} {right} a s d f g h j k l ; ' [ {down}\",\n \"⎘ {alt} {ctrl} z x c v b n m , . / ] {space}\",\n ],\n };\n const enLayoutDisplay = {\n \"{esc}\": \"␛\",\n \"{bksp}\": \"⌫\",\n \"{enter}\": \"↵\",\n \"{space}\": \"Space\",\n \"{up}\": \"↑\",\n \"{down}\": \"↓\",\n \"{left}\": \"←\",\n \"{right}\": \"→\",\n \"{shift}\": \"⇑\",\n \"{ctrl}\": \"Ctrl\",\n \"{alt}\": \"Alt\",\n \"{tab}\": \"Tab\",\n };\n const ruLayoutDisplay = {\n \"{esc}\": \"␛\",\n \"{bksp}\": \"⌫\",\n \"{enter}\": \"↵\",\n \"{space}\": \"Space\",\n \"{up}\": \"↑\",\n \"{down}\": \"↓\",\n \"{left}\": \"←\",\n \"{right}\": \"→\",\n \"{shift}\": \"⇑\",\n \"{alt}\": \"Alt\",\n \"{ctrl}\": \"Ctrl\",\n \"{tab}\": \"Tab\",\n \"q\": \"й\", \"w\": \"ц\", \"e\": \"у\", \"r\": \"к\", \"t\": \"е\",\n \"y\": \"н\", \"u\": \"г\", \"i\": \"ш\", \"o\": \"щ\", \"p\": \"з\",\n \"{\": \"х\", \"}\": \"ъ\", \"a\": \"ф\", \"s\": \"ы\", \"d\": \"в\",\n \"f\": \"а\", \"g\": \"п\", \"h\": \"р\", \"j\": \"о\", \"k\": \"л\",\n \"l\": \"д\", \";\": \"ж\", \"'\": \"э\", \"z\": \"я\", \"x\": \"ч\",\n \"c\": \"с\", \"v\": \"м\", \"b\": \"и\", \"n\": \"т\", \"m\": \"ь\",\n \",\": \"б\", \".\": \"ю\",\n };\n const displayOrder = [enLayoutDisplay, ruLayoutDisplay];\n let displayIndex = 0;\n\n const keyboardDiv = this.options.keyboardDiv || createDiv(\"\");\n keyboardDiv.classList.add(\"emulator-keyboard\");\n keyboardDiv.style.display = \"none\";\n stopPropagation(keyboardDiv);\n\n const keyboard = new Keyboard(keyboardDiv, {\n layout,\n layoutName: \"en\",\n display: displayOrder[displayIndex],\n onKeyPress: (button: string) => {\n if (button === \"⎘\") {\n return;\n }\n\n const keyCodes = buttonToCode(button);\n for (const keyCode of keyCodes) {\n this.fireKeyDown(keyCode);\n }\n },\n onKeyReleased: (button: string) => {\n if (button === \"⎘\") {\n displayIndex = (displayIndex + 1) % displayOrder.length;\n keyboard.setOptions({\n display: displayOrder[displayIndex],\n });\n return;\n }\n\n const keyCodes = buttonToCode(button);\n for (const keyCode of keyCodes) {\n this.fireKeyUp(keyCode);\n }\n },\n preventMouseDownDefault: true,\n preventMouseUpDefault: true,\n stopMouseDownPropagation: true,\n stopMouseUpPropagation: true,\n physicalKeyboardHighlight: false,\n physicalKeyboardHighlightPress: false,\n physicalKeyboardHighlightPressUseClick: false,\n physicalKeyboardHighlightPressUsePointerEvents: false,\n });\n\n this.toggleKeyboard = () => {\n keyboardVisible = !keyboardVisible;\n const display = keyboardVisible ? \"block\" : \"none\";\n keyboardDiv.style.display = display;\n\n for (const next of this.onKeyboardChanged) {\n next(keyboardVisible);\n }\n\n this.keyboardVisible = keyboardVisible;\n return keyboardVisible;\n };\n\n if (!this.options.keyboardDiv) {\n this.mouseOverlay.appendChild(keyboardDiv);\n }\n }\n}\n\nfunction createLoadingLayer() {\n return createDiv(\"emulator-loading\", `\n<div class='emulator-loading-inner'>\n<pre class='emulator-loading-pre-1'>\n _ __\n (_)____ ____/ /___ _____ _________ ____ ___\n / / ___/_____/ __ / __ \\\\/ ___// ___/ __ \\\\/ __ \\`__ \\\\\n / (__ )_____/ /_/ / /_/ (__ )/ /__/ /_/ / / / / / /\n __/ /____/ \\\\__,_/\\\\____/____(_)___/\\\\____/_/ /_/ /_/\n /___/\n</pre>\n<pre class='emulator-loading-pre-2'>\n</pre>\n<div class='emulator-loader'>\n</div>\n</div>\n`);\n}\n\nfunction createMouseOverlayLayer() {\n return createDiv(\"emulator-mouse-overlay\", \"\");\n}\n\nfunction createClickToStartLayer() {\n return createDiv(\"emulator-click-to-start-overlay\", `\n<div class=\"emulator-click-to-start-text\">Press to start</div>\n<div class=\"emulator-click-to-start-icon\"></div>\n`);\n}\n\n/* eslint-disable camelcase */\nfunction buttonToCode(button: string): number[] {\n if (button.length > 1) {\n if (button === \"{enter}\") {\n return [KBD_enter];\n } else if (button === \"{shift}\") {\n return [KBD_leftshift];\n } else if (button === \"{bksp}\") {\n return [KBD_backspace];\n } else if (button === \"{lock}\") {\n return [KBD_capslock];\n } else if (button === \"{tab}\") {\n return [KBD_tab];\n } else if (button === \"{space}\") {\n return [KBD_space];\n } else if (button === \"{esc}\") {\n return [KBD_esc];\n } else if (button === \"{ctrl}\") {\n return [KBD_leftctrl];\n } else if (button === \"{alt}\") {\n return [KBD_leftalt];\n } else if (button === \"{up}\") {\n return [KBD_up];\n } else if (button === \"{down}\") {\n return [KBD_down];\n } else if (button === \"{left}\") {\n return [KBD_left];\n } else if (button === \"{right}\") {\n return [KBD_right];\n } else {\n console.warn(\"Unknown button\", button);\n return [];\n }\n } else if (button === \",\") {\n return [KBD_comma];\n } else if (button === \".\") {\n return [KBD_period];\n } else if (button === \"'\") {\n return [KBD_quote];\n } else if (button === \":\") {\n return [KBD_semicolon];\n } else if (button === \"{\") {\n return [KBD_leftshift, KBD_leftbracket];\n } else if (button === \"}\") {\n return [KBD_leftshift, KBD_rightbracket];\n }\n\n const keyCode = domToKeyCode(button.toUpperCase().charCodeAt(0));\n if (keyCode === 0) {\n return [];\n }\n\n return [keyCode];\n}\n\n/* eslint-enable camelcase */\n","import { CommandInterface } from \"emulators\";\n\nexport function lifecycle(ci: CommandInterface) {\n let hidden = \"\";\n let visibilityChange = \"\";\n\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof (document as any).mozHidden !== \"undefined\") {\n hidden = \"mozHidden\";\n visibilityChange = \"mozvisibilitychange\";\n } else if (typeof (document as any).msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof (document as any).webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n\n function visibilitHandler() {\n (document as any)[hidden] ? ci.pause() : ci.resume();\n }\n\n document.addEventListener(visibilityChange as any, visibilitHandler);\n ci.events().onExit(() => {\n document.removeEventListener(visibilityChange as any, visibilitHandler);\n });\n}\n","export class MemStorage implements Storage {\n length = 0;\n\n private storage: {[key: string]: string} = {};\n\n setItem(key: string, value: string): void {\n this.storage[key] = value;\n this.length = Object.keys(this.storage).length;\n }\n\n getItem(key: string): string | null {\n const value = this.storage[key];\n return value === undefined ? null : value;\n }\n\n removeItem(key: string): void {\n delete this.storage[key];\n this.length = Object.keys(this.storage).length;\n }\n\n key(index: number): string | null {\n const keys = Object.keys(this.storage);\n return keys[index] === undefined ? null : keys[index];\n }\n\n clear() {\n this.length = 0;\n this.storage = {};\n }\n}\n","export const pointer = initBind();\n\nfunction initBind() {\n const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\n const isTouch = isMobile && !!(\"ontouchstart\" in window);\n const isPointer = isMobile && (window.PointerEvent ? true : false);\n const isMSPointer = isMobile && ((window as any).MSPointerEvent ? true : false);\n let canLock = !isMobile;\n\n const starters: string[] = [];\n const changers: string[] = [];\n const enders: string[] = [];\n const leavers: string[] = [];\n const prevents: string[] = [];\n\n if (isPointer) {\n starters.push(\"pointerdown\");\n enders.push(\"pointerup\", \"pointercancel\");\n changers.push(\"pointermove\");\n prevents.push(\"touchstart\", \"touchmove\", \"touchend\");\n } else if (isMSPointer) {\n starters.push(\"MSPointerDown\");\n changers.push(\"MSPointerMove\");\n enders.push(\"MSPointerUp\");\n } else if (isTouch) {\n canLock = false;\n starters.push(\"touchstart\", \"mousedown\");\n changers.push(\"touchmove\");\n enders.push(\"touchend\", \"touchcancel\", \"mouseup\");\n } else {\n starters.push(\"mousedown\");\n changers.push(\"mousemove\");\n enders.push(\"mouseup\");\n leavers.push(\"mouseleave\");\n }\n\n return {\n mobile: isMobile,\n canLock,\n starters,\n changers,\n enders,\n prevents,\n leavers,\n };\n}\n\nexport interface PointerState {\n x: number,\n y: number,\n mX: number,\n mY: number,\n button?: number,\n}\n\nexport function getPointerState(e: Event, el: HTMLElement): PointerState {\n if (e.type.match(/^touch/)) {\n const evt = e as TouchEvent;\n const rect = el.getBoundingClientRect();\n return {\n x: evt.targetTouches[0].clientX - rect.x,\n y: evt.targetTouches[0].clientY - rect.y,\n mX: 0,\n mY: 0,\n };\n } else if (e.type.match(/^pointer/)) {\n const evt = e as PointerEvent;\n return {\n x: evt.offsetX,\n y: evt.offsetY,\n mX: evt.movementX,\n mY: evt.movementY,\n };\n } else {\n const evt = e as MouseEvent;\n return {\n x: evt.offsetX,\n y: evt.offsetY,\n mX: evt.movementX,\n mY: evt.movementY,\n button: evt.button === 0 ? 0 : 1,\n };\n }\n}\n\nexport const pointers = {\n bind: pointer,\n getPointerState,\n};\n","import { MemStorage } from \"./mem-storage\";\n\nconst MAX_VALUE_SIZE = 1024;\nconst NEXT_PART_SYMBOL = \"@\";\nconst NEXT_PART_SYFFIX = \".\";\n\nexport class LStorage implements Storage {\n private backend: Storage;\n length: number;\n prefix: string;\n\n constructor(backend: Storage | undefined, prefix: string) {\n this.prefix = prefix;\n\n try {\n this.backend = backend || localStorage;\n this.testBackend();\n } catch (e) {\n this.backend = new MemStorage();\n }\n\n this.length = this.backend.length;\n\n if (typeof this.backend.sync === \"function\") {\n (this as any).sync = (callback: any) => {\n this.backend.sync(callback);\n };\n }\n }\n\n testBackend() {\n const testKey = this.prefix + \".test.record\";\n const testValue = \"123\";\n this.backend.setItem(testKey, testValue);\n const readedValue = this.backend.getItem(testKey);\n this.backend.removeItem(testKey);\n const valid = readedValue === testValue && this.backend.getItem(testKey) === null;\n\n if (!valid) {\n throw new Error(\"Storage backend is not working properly\");\n }\n }\n\n setLocalStoragePrefix(prefix: string) {\n this.prefix = prefix;\n }\n\n clear(): void {\n if (!this.backend.length) {\n return;\n }\n\n const toRemove: string[] = [];\n for (let i = 0; i < this.backend.length; ++i) {\n const next = this.backend.key(i);\n if (next && next.startsWith(this.prefix)) {\n toRemove.push(next);\n }\n }\n\n for (const next of toRemove) {\n this.backend.removeItem(next);\n }\n this.length = this.backend.length;\n }\n\n key(index: number): string | null {\n return this.backend.key(index);\n }\n\n setItem(key: string, value: string): void {\n if (!value || value.length === undefined || value.length === 0) {\n this.writeStringToKey(key, \"\");\n return;\n }\n\n let offset = 0;\n while (offset < value.length) {\n let substr = value.substr(offset, MAX_VALUE_SIZE);\n offset += substr.length;\n\n if (offset < value.length) {\n substr += NEXT_PART_SYMBOL;\n }\n\n this.writeStringToKey(key, substr);\n key += NEXT_PART_SYFFIX;\n }\n }\n\n getItem(key: string): string | null {\n let value = this.readStringFromKey(key);\n if (value === null) {\n return null;\n }\n\n if (value.length === 0) {\n return value;\n }\n\n while (value[value.length - 1] === NEXT_PART_SYMBOL) {\n value = value.substr(0, value.length - 1);\n key += NEXT_PART_SYFFIX;\n const next = this.readStringFromKey(key);\n value += next === null ? \"\" : next;\n }\n\n return value;\n }\n\n removeItem(key: string): void {\n this.backend.removeItem(this.prefix + key);\n this.length = this.backend.length;\n }\n\n private writeStringToKey(key: string, value: string) {\n this.backend.setItem(this.prefix + key, value);\n this.length = this.backend.length;\n }\n\n private readStringFromKey(key: string) {\n return this.backend.getItem(this.prefix + key);\n }\n}\n","\nimport { Build } from \"./build\";\nimport { layers } from \"./dom/layers\";\nimport { lifecycle } from \"./dom/lifecycle\";\nimport { resolveBundle } from \"./network/xhr\";\nimport { _2d } from \"./graphics/_2d\";\nimport { webGl } from \"./graphics/webgl\";\nimport { video } from \"./graphics/video\";\nimport { keyboard } from \"./controls/keyboard\";\nimport { mouse } from \"./controls/mouse/mouse-common\";\nimport { nipple } from \"./controls/nipple\";\nimport { options } from \"./controls/options\";\nimport { domToKeyCode, domToKeyCodes, keyCodesToDom, namedKeyCodes } from \"./dom/keys\";\nimport { audioNode } from \"./sound/audio-node\";\nimport { notyf } from \"./notification/notyf\";\nimport { save, load } from \"./persist/save-load\";\nimport { getGrid } from \"./controls/grid\";\nimport { pointers } from \"./dom/pointer\";\nimport { LStorage } from \"./dom/storage\";\n\nimport { DosInstance, DosFactoryType, DosOptions } from \"./js-dos\";\n\nexport class EmulatorsUi {\n build = Build;\n\n dom = {\n layers, // DOM components that used by js-dos player\n lifecycle, // compnent that manges liefcycle events\n pointers, // abstraction over mouse, touch, pointer API\n storage: new LStorage(undefined, \"emulators.ui.\"), // localStorage abstaction\n };\n\n network = {\n resolveBundle, // GET request to download bundles\n };\n\n graphics = {\n webGl, // default webgl renderer\n _2d, // fallback renderer\n video, // default janus renderer\n };\n\n sound = {\n audioNode, // default auidio processor\n };\n\n persist = {\n save, // store updated bundle into 'persist.db'\n load, // get updated bundle form `persist.db`\n };\n\n controls = {\n getGrid, // returns grid processor by grid type\n namedKeyCodes, // mapping from key name to it's key code\n domToKeyCodes, // mapping from DOM key codes to js-dos key codes\n domToKeyCode, // function that converts DOM key code to js-dos key code\n keyCodesToDom, // mapping from js-dos key codes to DOM key codes\n keyboard, // default keyboard processor\n mouse, // default mouse processor\n nipple, // multitouch control for emulating keyboard on mobiles\n options, // default options control (fullscreen, save, etc.)\n };\n\n notifications = {\n notyf, // default notifications system\n };\n\n // default player\n dos: DosFactoryType = (root: HTMLDivElement, options?: DosOptions) => {\n return new DosInstance(root, impl, options || {});\n };\n}\n\nconst impl = new EmulatorsUi();\n(window as any).emulatorsUi = impl;\n(window as any).Dos = impl.dos;\n","import { Layers } from \"../dom/layers\";\nimport { CommandInterface } from \"emulators\";\n\nexport function _2d(layers: Layers, ci: CommandInterface, forceAspect?: number) {\n const canvas = layers.canvas;\n const context = canvas.getContext(\"2d\");\n if (context === null) {\n throw new Error(\"Unable to create 2d context on given canvas\");\n }\n\n let containerWidth = layers.width;\n let containerHeight = layers.height;\n let frameWidth = 0;\n let frameHeight = 0;\n\n const onResize = () => {\n const aspect = forceAspect ?? frameWidth / frameHeight;\n\n let width = containerWidth;\n let height = containerWidth / aspect;\n\n if (height > containerHeight) {\n height = containerHeight;\n width = containerHeight * aspect;\n }\n\n canvas.style.position = \"relative\";\n canvas.style.top = (containerHeight - height) / 2 + \"px\";\n canvas.style.left = (containerWidth - width) / 2 + \"px\";\n canvas.style.width = width + \"px\";\n canvas.style.height = height + \"px\";\n };\n\n const onResizeLayer = (w: number, h: number) => {\n containerWidth = w;\n containerHeight = h;\n onResize();\n };\n layers.addOnResize(onResizeLayer);\n\n let rgba = new Uint8ClampedArray(0);\n const onResizeFrame = (w: number, h: number) => {\n frameWidth = w;\n frameHeight = h;\n canvas.width = frameWidth;\n canvas.height = frameHeight;\n rgba = new Uint8ClampedArray(w * h * 4);\n onResize();\n };\n ci.events().onFrameSize(onResizeFrame);\n ci.events().onFrame((frameRgb, frameRgba) => {\n if (frameRgb === null && frameRgba === null) {\n return;\n }\n\n const frame = (frameRgb !== null ? frameRgb : frameRgba) as Uint8Array;\n\n let frameOffset = 0;\n let rgbaOffset = 0;\n\n while (rgbaOffset < rgba.length) {\n rgba[rgbaOffset++] = frame[frameOffset++];\n rgba[rgbaOffset++] = frame[frameOffset++];\n rgba[rgbaOffset++] = frame[frameOffset++];\n rgba[rgbaOffset++] = 255;\n\n if (frame.length === rgba.length) {\n frameOffset++;\n }\n }\n\n context.putImageData(new ImageData(rgba, frameWidth, frameHeight), 0, 0);\n });\n\n onResizeFrame(ci.width(), ci.height());\n\n ci.events().onExit(() => {\n layers.removeOnResize(onResizeLayer);\n });\n}\n","import { Layers } from \"../dom/layers\";\nimport { CommandInterface } from \"emulators\";\nimport { JanusMessageType } from \"emulators/dist/types/janus/janus-impl\";\n\nexport function video(layers: Layers, ci: CommandInterface) {\n layers.switchToVideo();\n\n ci.events().onMessage((msgType: JanusMessageType | string, stream: MediaStream) => {\n if (msgType === \"onremotestream\") {\n (window as any).Janus.attachMediaStream(layers.video, stream);\n }\n });\n}\n","import { Layers } from \"../dom/layers\";\nimport { CommandInterface } from \"emulators\";\n\nconst vsSource = `\nattribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nvarying highp vec2 vTextureCoord;\n\nvoid main(void) {\n gl_Position = aVertexPosition;\n vTextureCoord = aTextureCoord;\n}\n`;\n\nconst fsSource = `\nvarying highp vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\n\nvoid main(void) {\n highp vec4 color = texture2D(uSampler, vTextureCoord);\n gl_FragColor = vec4(color.r, color.g, color.b, 1.0);\n}\n`;\n\nexport function webGl(layers: Layers, ci: CommandInterface, forceAspect?: number) {\n const canvas = layers.canvas;\n const gl = canvas.getContext(\"webgl\");\n if (gl === null) {\n throw new Error(\"Unable to create webgl context on given canvas\");\n }\n\n const shaderProgram = initShaderProgram(gl, vsSource, fsSource);\n const vertexPosition = gl.getAttribLocation(shaderProgram, \"aVertexPosition\");\n const textureCoord = gl.getAttribLocation(shaderProgram, \"aTextureCoord\");\n const uSampler = gl.getUniformLocation(shaderProgram, \"uSampler\");\n\n initBuffers(gl, vertexPosition, textureCoord);\n\n const texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n\n const pixel = new Uint8Array([0, 0, 0]);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB,\n 1, 1, 0, gl.RGB, gl.UNSIGNED_BYTE,\n pixel);\n\n gl.useProgram(shaderProgram);\n gl.activeTexture(gl.TEXTURE0);\n gl.uniform1i(uSampler, 0);\n\n let containerWidth = layers.width;\n let containerHeight = layers.height;\n let frameWidth = 0;\n let frameHeight = 0;\n\n const onResize = () => {\n const aspect = forceAspect ?? (frameWidth / frameHeight);\n\n let width = containerWidth;\n let height = containerWidth / aspect;\n\n if (height > containerHeight) {\n height = containerHeight;\n width = containerHeight * aspect;\n }\n\n canvas.style.position = \"relative\";\n canvas.style.top = (containerHeight - height) / 2 + \"px\";\n canvas.style.left = (containerWidth - width) / 2 + \"px\";\n canvas.style.width = width + \"px\";\n canvas.style.height = height + \"px\";\n };\n\n const onResizeLayer = (w: number, h: number) => {\n containerWidth = w;\n containerHeight = h;\n onResize();\n };\n layers.addOnResize(onResizeLayer);\n\n const onResizeFrame = (w: number, h: number) => {\n frameWidth = w;\n frameHeight = h;\n canvas.width = frameWidth;\n canvas.height = frameHeight;\n gl.viewport(0, 0, frameWidth, frameHeight);\n onResize();\n };\n ci.events().onFrameSize(onResizeFrame);\n onResizeFrame(ci.width(), ci.height());\n\n let requestAnimationFrameId: number | null = null;\n let frame: Uint8Array | null = null;\n let frameFormat: number = 0;\n\n ci.events().onFrame((rgb, rgba) => {\n frame = rgb != null ? rgb : rgba;\n frameFormat = rgb != null ? gl.RGB : gl.RGBA;\n if (requestAnimationFrameId === null) {\n requestAnimationFrameId = requestAnimationFrame(updateTexture);\n }\n });\n\n const updateTexture = () => {\n gl.texImage2D(gl.TEXTURE_2D, 0, frameFormat,\n frameWidth, frameHeight, 0, frameFormat, gl.UNSIGNED_BYTE,\n frame);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n\n requestAnimationFrameId = null;\n frame = null;\n };\n\n ci.events().onExit(() => {\n layers.removeOnResize(onResizeLayer);\n });\n}\n\nfunction initShaderProgram(gl: WebGLRenderingContext, vsSource: string, fsSource: string) {\n const vertexShader = loadShader(gl, gl.VERTEX_SHADER, vsSource);\n const fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fsSource);\n\n const shaderProgram = gl.createProgram() as WebGLShader;\n gl.attachShader(shaderProgram, vertexShader);\n gl.attachShader(shaderProgram, fragmentShader);\n gl.linkProgram(shaderProgram);\n\n if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {\n throw new Error(\"Unable to initialize the shader program: \" + gl.getProgramInfoLog(shaderProgram));\n }\n\n return shaderProgram;\n}\n\nfunction loadShader(gl: WebGLRenderingContext, shaderType: GLenum, source: string) {\n const shader = gl.createShader(shaderType) as WebGLShader;\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n const info = gl.getShaderInfoLog(shader);\n gl.deleteShader(shader);\n throw new Error(\"An error occurred compiling the shaders: \" + info);\n }\n\n return shader;\n}\n\nfunction initBuffers(gl: WebGLRenderingContext, vertexPosition: number, textureCoord: number) {\n const positionBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);\n const positions = [\n -1.0, -1.0, 0.0,\n 1.0, -1.0, 0.0,\n 1.0, 1.0, 0.0,\n -1.0, -1.0, 0.0,\n 1.0, 1.0, 0.0,\n -1.0, 1.0, 0.0,\n ];\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions), gl.STATIC_DRAW);\n gl.vertexAttribPointer(vertexPosition, 3, gl.FLOAT, false, 0, 0);\n gl.enableVertexAttribArray(vertexPosition);\n\n const textureCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, textureCoordBuffer);\n const textureCoordinates = [\n 0.0, 1.0,\n 1.0, 1.0,\n 1.0, 0.0,\n 0.0, 1.0,\n 1.0, 0.0,\n 0.0, 0.0,\n ];\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(textureCoordinates),\n gl.STATIC_DRAW);\n\n gl.vertexAttribPointer(textureCoord, 2, gl.FLOAT, false, 0, 0);\n gl.enableVertexAttribArray(textureCoord);\n}\n","import { Emulators, CommandInterface, BackendOptions } from \"emulators\";\nimport { TransportLayer } from \"emulators/dist/types/protocol/protocol\";\nimport { EmulatorsUi } from \"./emulators-ui\";\nimport { Layers, LayersOptions } from \"./dom/layers\";\n\nimport { extractLayersConfig, LegacyLayersConfig, LayersConfig } from \"./controls/layers-config\";\n\nimport { initLegacyLayersControl } from \"./controls/legacy-layers-control\";\nimport { initNullLayersControl } from \"./controls/null-layers-control\";\nimport { initLayersControl } from \"./controls/layers-control\";\n\nimport { pointers } from \"./dom/pointer\";\n\ndeclare const emulators: Emulators;\n\nexport type EmulatorFunction = \"dosboxWorker\" | \"dosboxDirect\" | \"dosboxNode\" | \"janus\" | \"backend\";\n\nexport interface DosOptions {\n sensitivityValue?: number;\n mirroredControls?: boolean;\n scaleControls?: number;\n aspect?: number;\n noWebGL?: boolean;\n emulatorFunction?: EmulatorFunction;\n clickToStart?: boolean;\n layersOptions?: LayersOptions;\n createTransportLayer?: () => TransportLayer;\n}\n\nexport class DosInstance {\n emulatorsUi: EmulatorsUi;\n emulatorFunction: EmulatorFunction;\n createTransportLayer?: () => TransportLayer;\n layers: Layers;\n layersConfig: LayersConfig | LegacyLayersConfig | null = null;\n ciPromise?: Promise<CommandInterface>;\n\n options: DosOptions;\n mobileControls: boolean;\n mirroredControls: boolean;\n scaleControls: number;\n\n autolock: boolean;\n sensitivity: number;\n\n storage: Storage;\n\n volume: number;\n\n private clickToStart: boolean;\n private unbindControls: () => void = () => {/**/};\n private storedLayersConfig: LayersConfig | LegacyLayersConfig | null = null;\n private onMobileControlsChanged: (visible: boolean) => void;\n private onSensitivityChanged: ((sensitivity: number) => void)[] = [];\n private onScaleChanged: ((scale: number) => void)[] = [];\n private onVolumeChanged: ((scale: number) => void)[] = [];\n\n setVolumeImplFn: (volume: number) => void = () => {};\n\n constructor(root: HTMLDivElement, emulatorsUi: EmulatorsUi, options: DosOptions) {\n this.options = options;\n this.emulatorsUi = emulatorsUi;\n this.storage = emulatorsUi.dom.storage;\n this.emulatorFunction = options.emulatorFunction || \"dosboxWorker\";\n this.clickToStart = options.clickToStart || false;\n this.layers = this.emulatorsUi.dom.layers(root, options.layersOptions);\n this.layers.showLoadingLayer();\n this.createTransportLayer = options.createTransportLayer;\n this.mobileControls = pointers.bind.mobile;\n this.autolock = false;\n\n this.mirroredControls =\n this.options.mirroredControls === true ||\n this.storage.getItem(\"mirroredControls\") === \"true\";\n\n const scaleControlsValue =\n this.options.scaleControls ??\n Number.parseFloat(this.storage.getItem(\"scaleControls\") ?? \"1.0\");\n this.scaleControls = Number.isNaN(scaleControlsValue) ? 1.0 : scaleControlsValue;\n\n const sensitivityValue =\n this.options.sensitivityValue ??\n Number.parseFloat(this.storage.getItem(\"sensitivity\") ?? \"1.0\");\n this.sensitivity = Number.isNaN(sensitivityValue) ? 1.0 : sensitivityValue;\n\n const volumeValue = Number.parseFloat(this.storage.getItem(\"volume\") ?? \"1.0\");\n this.volume = Number.isNaN(volumeValue) ? 1.0 : volumeValue;\n\n this.onMobileControlsChanged = () => {/**/};\n\n if (this.emulatorFunction === \"backend\" && this.createTransportLayer === undefined) {\n throw new Error(\"Emulator function set to 'backend' but 'createTransportLayer' is not a function\");\n }\n }\n\n async run(bundleUrl: string,\n optionalChangesUrl?: string,\n optionalPersistKey?: string): Promise<CommandInterface> {\n await this.stop();\n this.layers.setLoadingMessage(\"Starting...\");\n\n const persistKey = (optionalPersistKey !== undefined &&\n optionalPersistKey !== null && optionalPersistKey.length > 0) ?\n optionalPersistKey : bundleUrl + \".changes\";\n\n let ci: CommandInterface;\n try {\n ci = await this.runBundle(bundleUrl, optionalChangesUrl, persistKey);\n } catch (e) {\n this.layers.setLoadingMessage(\"Unexpected error occured...\");\n this.layers.notyf.error({ message: \"Can't start emulator look browser logs for more info\" });\n // eslint-disable-next-line\n console.error(e);\n throw e;\n }\n\n const emulatorsUi = this.emulatorsUi;\n if (this.emulatorFunction === \"janus\") {\n emulatorsUi.graphics.video(this.layers, ci);\n } else {\n emulatorsUi.persist.save(persistKey, this.layers, ci, emulators);\n try {\n if (this.options.noWebGL === true) {\n throw new Error(\"WebGL is disabled by options\");\n }\n emulatorsUi.graphics.webGl(this.layers, ci, this.options.aspect);\n } catch (e) {\n // eslint-disable-next-line\n console.error(\"Unable to create webgl canvas, fallback to 2d rendering\");\n emulatorsUi.graphics._2d(this.layers, ci, this.options.aspect);\n }\n this.setVolumeImplFn = emulatorsUi.sound.audioNode(ci);\n this.setVolumeImplFn(this.volume);\n }\n\n emulatorsUi.dom.lifecycle(ci);\n\n const config = await ci.config();\n this.autolock = config.output?.options?.autolock?.value === true;\n await this.setLayersConfig(extractLayersConfig(config));\n\n if (!this.mobileControls) {\n this.mobileControls = true; // force disabling\n this.disableMobileControls();\n }\n\n this.layers.setLoadingMessage(\"Ready\");\n this.layers.hideLoadingLayer();\n\n if (this.clickToStart) {\n this.layers.showClickToStart();\n }\n\n return ci;\n }\n\n async stop(): Promise<void> {\n this.layers.showLoadingLayer();\n\n if (this.ciPromise === undefined) {\n return;\n }\n\n const ci = await this.ciPromise;\n delete this.ciPromise;\n await ci.exit();\n\n return;\n }\n\n public async setLayersConfig(config: LayersConfig | LegacyLayersConfig | null, layerName?: string) {\n if (this.ciPromise === undefined) {\n return;\n }\n\n const ci = await this.ciPromise;\n\n this.layersConfig = config;\n this.unbindControls();\n\n if (config === null) {\n this.unbindControls = initNullLayersControl(this, this.layers, ci);\n } else if (config.version === undefined) {\n this.unbindControls = initLegacyLayersControl(this, this.layers, config as LegacyLayersConfig, ci);\n } else {\n this.unbindControls = initLayersControl(this.layers, config as LayersConfig,\n ci, this, this.mirroredControls, this.scaleControls, layerName);\n }\n }\n\n public getLayersConfig(): LayersConfig | LegacyLayersConfig | null {\n return this.layersConfig;\n }\n\n public async enableMobileControls() {\n if (this.mobileControls) {\n return;\n }\n this.mobileControls = true;\n await this.setLayersConfig(this.storedLayersConfig);\n this.storedLayersConfig = null;\n this.onMobileControlsChanged(true);\n }\n\n public async disableMobileControls() {\n if (!this.mobileControls) {\n return;\n }\n this.mobileControls = false;\n this.storedLayersConfig = this.layersConfig;\n await this.setLayersConfig(null);\n this.onMobileControlsChanged(false);\n }\n\n public async setMirroredControls(mirrored: boolean) {\n if (this.mirroredControls === mirrored) {\n return;\n }\n this.mirroredControls = mirrored;\n this.storage.setItem(\"mirroredControls\", mirrored + \"\");\n if (mirrored) {\n if (this.mobileControls) {\n await this.setLayersConfig(this.layersConfig);\n } else {\n await this.enableMobileControls();\n }\n } else {\n if (this.mobileControls) {\n await this.setLayersConfig(this.layersConfig);\n } else {\n // do nothing\n }\n }\n }\n\n public async setScaleControls(scale: number) {\n if (scale === this.scaleControls) {\n return;\n }\n this.scaleControls = scale;\n this.storage.setItem(\"scaleControls\", scale + \"\");\n if (this.mobileControls) {\n await this.setLayersConfig(this.layersConfig);\n }\n for (const next of this.onScaleChanged) {\n next(this.scaleControls);\n }\n }\n\n public async setSensitivity(sensitivity: number) {\n if (sensitivity === this.sensitivity) {\n return;\n }\n this.sensitivity = sensitivity;\n this.storage.setItem(\"sensitivity\", sensitivity + \"\");\n await this.setLayersConfig(this.layersConfig);\n for (const next of this.onSensitivityChanged) {\n next(this.sensitivity);\n }\n }\n\n public async setVolume(volume: number) {\n this.volume = volume;\n this.storage.setItem(\"volume\", volume + \"\");\n this.setVolumeImplFn(volume);\n for (const next of this.onVolumeChanged) {\n next(this.volume);\n }\n }\n\n public async setAutolock(autolock: boolean) {\n if (autolock === this.autolock) {\n return;\n }\n this.autolock = autolock;\n await this.setLayersConfig(this.layersConfig);\n }\n\n public setOnMobileControlsChanged(handler: (visible: boolean) => void) {\n this.onMobileControlsChanged = handler;\n }\n\n public registerOnSensitivityChanged = (handler: (sensitivity: number) => void) => {\n this.onSensitivityChanged.push(handler);\n };\n\n public removeOnSensitivityChanged = (handler: (sensitivity: number) => void) => {\n this.onSensitivityChanged = this.onSensitivityChanged.filter((n) => n !== handler);\n };\n\n public registerOnScaleChanged = (handler: (scale: number) => void) => {\n this.onScaleChanged.push(handler);\n };\n\n public removeOnScaleChanged = (handler: (scale: number) => void) => {\n this.onScaleChanged = this.onScaleChanged.filter((n) => n !== handler);\n };\n\n public registerOnVolumeChanged = (handler: (volume: number) => void) => {\n this.onVolumeChanged.push(handler);\n };\n\n public removeOnVolumeChanged = (handler: (volume: number) => void) => {\n this.onVolumeChanged = this.onVolumeChanged.filter((n) => n !== handler);\n };\n\n private async runBundle(bundleUrl: string, optionalChangesUrl: string | undefined, persistKey: string) {\n const emulatorsUi = this.emulatorsUi;\n if (this.emulatorFunction === \"janus\") {\n this.layers.setLoadingMessage(\"Connecting...\");\n this.ciPromise = emulators.janus(bundleUrl);\n } else {\n this.layers.setLoadingMessage(\"Downloading bundle ...\");\n const bundlePromise = emulatorsUi.network.resolveBundle(bundleUrl, {\n onprogress: (percent) => this.layers.setLoadingMessage(\"Downloading bundle \" + percent + \"%\"),\n });\n const options: BackendOptions = {\n onExtractProgress: (index, file, extracted, total) => {\n if (index !== 0) {\n return;\n }\n\n const percent = Math.round(extracted / total * 100);\n const lastIndex = file.lastIndexOf(\"/\");\n\n const name = file.substring(lastIndex + 1);\n this.layers.setLoadingMessage(\"Extracting \" + percent + \"% (\" + name + \")\");\n },\n };\n try {\n let changesBundle: Uint8Array | undefined;\n if (optionalChangesUrl !== undefined && optionalChangesUrl !== null && optionalChangesUrl.length > 0) {\n changesBundle = await emulatorsUi.network.resolveBundle(optionalChangesUrl, { httpCache: false });\n } else {\n changesBundle = await emulatorsUi.persist.load(persistKey, emulators);\n }\n const bundle = await bundlePromise;\n if (this.emulatorFunction === \"backend\") {\n this.ciPromise = emulators.backend([bundle, changesBundle],\n (this as any).createTransportLayer() as TransportLayer, options);\n } else {\n this.ciPromise = emulators[this.emulatorFunction]([bundle, changesBundle], options);\n }\n } catch {\n const bundle = await bundlePromise;\n if (this.emulatorFunction === \"backend\") {\n this.ciPromise = emulators.backend([bundle],\n (this as any).createTransportLayer() as TransportLayer, options);\n } else {\n this.ciPromise = emulators[this.emulatorFunction]([bundle], options);\n }\n }\n }\n\n return this.ciPromise;\n }\n}\n\nexport type DosFactoryType = (root: HTMLDivElement, options?: DosOptions) => DosInstance;\n","export async function resolveBundle(url: string,\n options?: {\n httpCache?: boolean,\n onprogress?: (progress: number) => void\n }): Promise<Uint8Array> {\n const onprogress = options?.onprogress;\n const httpCache = !(options?.httpCache === false);\n\n return new Promise<Uint8Array>((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n request.addEventListener(\"error\", () => {\n reject(new Error(\"Network error, can't download \" + url));\n });\n request.addEventListener(\"abort\", () => {\n reject(new Error(\"Request canceled for url \" + url));\n }, false);\n request.responseType = \"arraybuffer\";\n request.onreadystatechange = () => {\n if (request.readyState === 4) {\n if (request.status === 200) {\n if (onprogress !== undefined) {\n onprogress(100);\n }\n resolve(new Uint8Array(request.response));\n } else {\n reject(new Error(\"Network error, can't download \" + url));\n }\n }\n };\n if (onprogress !== undefined) {\n request.onprogress = (event) => {\n if (event.total && event.total > 0) {\n const porgress = Math.round(event.loaded * 10000 / event.total) / 100;\n onprogress(porgress);\n }\n };\n }\n if (httpCache === false) {\n request.setRequestHeader(\"Cache-Control\", \"no-cache, no-store, max-age=0\");\n request.setRequestHeader(\"Expires\", \"Tue, 01 Jan 1980 1:00:00 GMT\");\n request.setRequestHeader(\"Pragma\", \"no-cache\");\n }\n request.send();\n });\n}\n","import { CommandInterface, MessageType } from \"emulators\";\nimport { Layers } from \"../dom/layers\";\n\nexport function notyf(layers: Layers, ci: CommandInterface) {\n const notyf = layers.notyf;\n ci.events().onMessage((msgType: MessageType, ...args) => {\n if (msgType === \"error\") {\n notyf.error({\n message: JSON.stringify(args),\n });\n }\n });\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */\n\nexport interface Cache {\n put: (key: string, data: string | ArrayBuffer) => Promise<void>;\n get: (key: string, defaultValue?: string | ArrayBuffer) => Promise<string | ArrayBuffer>;\n forEach: (each: (key: string, value: any) => void, onend: () => void) => void;\n close: () => void;\n}\n\nclass CacheNoop implements Cache {\n // eslint-disable-next-line\n public close() {\n }\n\n public put(key: string, data: string | ArrayBuffer): Promise<void> {\n return Promise.resolve();\n }\n\n public get(key: string, defaultValue?: string | ArrayBuffer): Promise<string | ArrayBuffer> {\n if (defaultValue !== undefined) {\n return Promise.resolve(defaultValue);\n }\n return Promise.reject(new Error(\"Cache is not supported on this host\"));\n }\n\n public forEach(each: (key: string, value: any) => void, onend: () => void) {\n onend();\n }\n}\n\nexport function makeCache(version: string, logger: { onErr(...args: any[]): any }): Promise<Cache> {\n return new Promise((resolve) => {\n new CacheDbImpl(version, resolve, (msg: string) => {\n logger.onErr(msg);\n resolve(new CacheNoop());\n });\n });\n}\n\nclass CacheDbImpl implements Cache {\n public version: string;\n private storeName = \"files\";\n private indexedDB: IDBFactory;\n private db: IDBDatabase | null = null;\n\n constructor(version: string, onready: (cache: Cache) => void, onerror: (msg: string) => void) {\n this.version = version;\n this.indexedDB = (typeof window === \"undefined\" ? undefined : window.indexedDB ||\n (window as any).mozIndexedDB ||\n (window as any).webkitIndexedDB || (window as any).msIndexedDB) as any;\n\n if (!this.indexedDB) {\n onerror(\"Indexed db is not supported on this host\");\n return;\n }\n\n try {\n const openRequest = this.indexedDB.open(\"js-dos-cache (\" + version + \")\", 1);\n openRequest.onerror = (event) => {\n onerror(\"Can't open cache database: \" + openRequest.error?.message);\n };\n openRequest.onsuccess = (event) => {\n this.db = openRequest.result;\n onready(this);\n };\n openRequest.onupgradeneeded = (event) => {\n try {\n this.db = openRequest.result;\n this.db.onerror = (event) => {\n onerror(\"Can't upgrade cache database\");\n };\n\n this.db.createObjectStore(this.storeName);\n } catch (e) {\n onerror(\"Can't upgrade cache database\");\n }\n };\n } catch (e: any) {\n onerror(\"Can't open cache database: \" + e.message);\n }\n }\n\n public close() {\n if (this.db !== null) {\n this.db.close();\n this.db = null;\n }\n }\n\n public put(key: string, data: string | ArrayBuffer): Promise<void> {\n return new Promise((resolve) => {\n if (this.db === null) {\n resolve();\n return;\n }\n\n const transaction = this.db.transaction(this.storeName, \"readwrite\");\n transaction.oncomplete = () => resolve();\n transaction.objectStore(this.storeName).put(data, key);\n });\n }\n\n public get(key: string, defaultValue?: string | ArrayBuffer): Promise<string | ArrayBuffer> {\n return new Promise((resolve, reject) => {\n function rejectOrResolve(message: string) {\n if (defaultValue === undefined) {\n reject(new Error(message));\n } else {\n resolve(defaultValue);\n }\n }\n\n\n if (this.db === null) {\n rejectOrResolve(\"db is not initalized\");\n return;\n }\n\n const transaction = this.db.transaction(this.storeName, \"readonly\");\n const request = transaction.objectStore(this.storeName).get(key);\n request.onerror = () => reject(new Error(\"Can't read value for key '\" + key + \"'\"));\n request.onsuccess = () => {\n if (request.result) {\n resolve(request.result);\n } else {\n rejectOrResolve(\"Result is empty for key '\" + key + \"', result: \" + request.result);\n }\n };\n });\n }\n\n public forEach(each: (key: string, value: any) => void, onend: () => void) {\n if (this.db === null) {\n onend();\n return;\n }\n\n const transaction = this.db.transaction(this.storeName, \"readonly\");\n const request = transaction.objectStore(this.storeName).openCursor();\n request.onerror = () => onend();\n request.onsuccess = (event) => {\n const cursor = (event.target as any).result as IDBCursorWithValue;\n if (cursor) {\n each(cursor.key.toString(), cursor.value);\n cursor.continue();\n } else {\n onend();\n }\n };\n }\n}\n","import { CommandInterface, Emulators } from \"emulators\";\nimport { Layers } from \"../dom/layers\";\nimport { makeCache } from \"./cache\";\n\nconst cacheName = \"emulators-ui-saves\";\nconst cachePromise = makeCache(cacheName, {\n onErr: console.error,\n});\n\n\nexport function save(key: string,\n layers: Layers,\n ci: CommandInterface,\n emulators: Emulators) {\n layers.setOnSave(async () => {\n const cache = await cachePromise;\n const updated = await ci.persist();\n return cache.put(key, updated.buffer);\n });\n}\n\nexport async function load(key: string,\n emulators: Emulators) {\n const cache = await cachePromise;\n return cache.get(key).then((buffer) => new Uint8Array(buffer as ArrayBuffer));\n}\n","import { CommandInterface, DirectSound } from \"emulators\";\n\nclass SamplesQueue {\n private samplesQueue: Float32Array[] = [];\n\n push(samples: Float32Array) {\n this.samplesQueue.push(samples);\n }\n\n length() {\n let total = 0;\n for (const next of this.samplesQueue) {\n total += next.length;\n }\n return total;\n }\n\n writeTo(dst: Float32Array, bufferSize: number) {\n let writeIt = 0;\n while (this.samplesQueue.length > 0) {\n const src = this.samplesQueue[0];\n const toRead = Math.min(bufferSize - writeIt, src.length);\n if (toRead === src.length) {\n dst.set(src, writeIt);\n this.samplesQueue.shift();\n } else {\n dst.set(src.slice(0, toRead), writeIt);\n this.samplesQueue[0] = src.slice(toRead);\n }\n\n writeIt += toRead;\n\n if (writeIt === bufferSize) {\n break;\n }\n }\n\n if (writeIt < bufferSize) {\n dst.fill(0, writeIt);\n }\n }\n}\n\nexport function audioNode(ci: CommandInterface): (volume: number) => void {\n const sampleRate = ci.soundFrequency();\n const channels = 1;\n\n if (sampleRate === 0) {\n console.warn(\"Can't create audio node with sampleRate === 0, ingnoring\");\n return () => {};\n }\n\n let audioContext: AudioContext | null = null;\n\n if (typeof AudioContext !== \"undefined\") {\n audioContext = new AudioContext({\n sampleRate,\n latencyHint: \"interactive\",\n });\n } else if (typeof (window as any).webkitAudioContext !== \"undefined\") {\n // eslint-disable-next-line new-cap\n audioContext = new (window as any).webkitAudioContext({\n sampleRate,\n latencyHint: \"interactive\",\n });\n }\n\n if (audioContext == null) {\n return () => {};\n }\n\n const samplesQueue = new SamplesQueue();\n const bufferSize = 2048;\n const preBufferSize = 2048;\n\n ci.events().onSoundPush((samples) => {\n if (samplesQueue.length() < bufferSize * 2 + preBufferSize) {\n samplesQueue.push(samples);\n }\n });\n\n const audioNode = audioContext.createScriptProcessor(bufferSize, 0, channels);\n let started = false;\n\n let active = 0;\n const directSound = ci.directSound as DirectSound;\n const onDirectProcess = (event: AudioProcessingEvent) => {\n if (!started) {\n const buffer = directSound.buffer[0];\n started = Math.ceil(buffer[buffer.length - 1]) > 0;\n }\n\n if (!started) {\n return;\n }\n\n let offset = 0;\n let numFrames = event.outputBuffer.length;\n const numChannels = event.outputBuffer.numberOfChannels;\n\n let numSamples;\n let buffer = directSound.buffer[active];\n while (numFrames > 0 && (numSamples = Math.ceil(buffer[buffer.length - 1])) > 0) {\n if (numFrames >= numSamples) {\n const source = buffer.subarray(0, numSamples);\n for (let channel = 0; channel < numChannels; ++channel) {\n const channelData = event.outputBuffer.getChannelData(channel);\n channelData.set(source, offset);\n }\n\n offset += numSamples;\n numFrames -= numSamples;\n\n buffer[buffer.length - 1] = 0;\n active = (active + 1) % directSound.ringSize;\n buffer = directSound.buffer[active];\n } else {\n const source = buffer.subarray(0, numFrames);\n for (let channel = 0; channel < numChannels; ++channel) {\n const channelData = event.outputBuffer.getChannelData(channel);\n channelData.set(source, offset);\n }\n\n buffer[buffer.length - 1] = numSamples - numFrames;\n buffer.set(buffer.subarray(numFrames, numFrames + buffer[buffer.length - 1]));\n numFrames = 0;\n }\n }\n };\n\n const onQueueProcess = (event: AudioProcessingEvent) => {\n const numFrames = event.outputBuffer.length;\n const numChannels = event.outputBuffer.numberOfChannels;\n const samplesCount = samplesQueue.length();\n\n if (!started) {\n started = samplesCount >= preBufferSize;\n }\n\n if (!started) {\n return;\n }\n\n for (let channel = 0; channel < numChannels; channel++) {\n const channelData = event.outputBuffer.getChannelData(channel);\n samplesQueue.writeTo(channelData, numFrames);\n }\n };\n\n audioNode.onaudioprocess = ci.directSound !== undefined ? onDirectProcess : onQueueProcess;\n\n const gainNode = audioContext.createGain();\n gainNode.connect(audioContext.destination);\n audioNode.connect(gainNode);\n\n gainNode.gain.value = 1.0;\n\n const resumeWebAudio = () => {\n if (audioContext !== null && audioContext.state === \"suspended\") {\n audioContext.resume();\n }\n };\n\n document.addEventListener(\"click\", resumeWebAudio, { once: true });\n document.addEventListener(\"touchstart\", resumeWebAudio, { once: true });\n document.addEventListener(\"keydown\", resumeWebAudio, { once: true });\n\n ci.events().onExit(() => {\n if (audioContext !== null) {\n audioNode.disconnect();\n gainNode.disconnect();\n audioContext.close();\n }\n\n document.removeEventListener(\"click\", resumeWebAudio);\n document.removeEventListener(\"touchstart\", resumeWebAudio);\n document.removeEventListener(\"keydown\", resumeWebAudio);\n });\n\n return (volume: number) => {\n gainNode.gain.value = volume;\n };\n}\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","!function e(t,n,r){function s(o,a){if(!n[o]){if(!t[o]){var l=\"function\"==typeof require&&require;if(!a&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=n[o]={exports:{}};t[o][0].call(u.exports,(function(e){return s(t[o][1][e]||e)}),u,u.exports,e,t,n,r)}return n[o].exports}for(var i=\"function\"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(e,t,n){var r=e(\"../internals/is-callable\"),s=e(\"../internals/try-to-string\"),i=TypeError;t.exports=function(e){if(r(e))return e;throw i(s(e)+\" is not a function\")}},{\"../internals/is-callable\":67,\"../internals/try-to-string\":120}],2:[function(e,t,n){var r=e(\"../internals/is-constructor\"),s=e(\"../internals/try-to-string\"),i=TypeError;t.exports=function(e){if(r(e))return e;throw i(s(e)+\" is not a constructor\")}},{\"../internals/is-constructor\":68,\"../internals/try-to-string\":120}],3:[function(e,t,n){var r=e(\"../internals/is-callable\"),s=String,i=TypeError;t.exports=function(e){if(\"object\"==typeof e||r(e))return e;throw i(\"Can't set \"+s(e)+\" as a prototype\")}},{\"../internals/is-callable\":67}],4:[function(e,t,n){var r=e(\"../internals/well-known-symbol\"),s=e(\"../internals/object-create\"),i=e(\"../internals/object-define-property\").f,o=r(\"unscopables\"),a=Array.prototype;null==a[o]&&i(a,o,{configurable:!0,value:s(null)}),t.exports=function(e){a[o][e]=!0}},{\"../internals/object-create\":81,\"../internals/object-define-property\":83,\"../internals/well-known-symbol\":127}],5:[function(e,t,n){\"use strict\";var r=e(\"../internals/string-multibyte\").charAt;t.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},{\"../internals/string-multibyte\":107}],6:[function(e,t,n){var r=e(\"../internals/object-is-prototype-of\"),s=TypeError;t.exports=function(e,t){if(r(t,e))return e;throw s(\"Incorrect invocation\")}},{\"../internals/object-is-prototype-of\":88}],7:[function(e,t,n){var r=e(\"../internals/is-object\"),s=String,i=TypeError;t.exports=function(e){if(r(e))return e;throw i(s(e)+\" is not an object\")}},{\"../internals/is-object\":71}],8:[function(e,t,n){t.exports=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof DataView},{}],9:[function(e,t,n){\"use strict\";var r,s,i,o=e(\"../internals/array-buffer-native\"),a=e(\"../internals/descriptors\"),l=e(\"../internals/global\"),c=e(\"../internals/is-callable\"),u=e(\"../internals/is-object\"),f=e(\"../internals/has-own-property\"),d=e(\"../internals/classof\"),p=e(\"../internals/try-to-string\"),h=e(\"../internals/create-non-enumerable-property\"),y=e(\"../internals/define-built-in\"),m=e(\"../internals/object-define-property\").f,b=e(\"../internals/object-is-prototype-of\"),g=e(\"../internals/object-get-prototype-of\"),v=e(\"../internals/object-set-prototype-of\"),w=e(\"../internals/well-known-symbol\"),x=e(\"../internals/uid\"),j=e(\"../internals/internal-state\"),k=j.enforce,M=j.get,P=l.Int8Array,S=P&&P.prototype,_=l.Uint8ClampedArray,I=_&&_.prototype,A=P&&g(P),E=S&&g(S),O=Object.prototype,C=l.TypeError,T=w(\"toStringTag\"),R=x(\"TYPED_ARRAY_TAG\"),D=\"TypedArrayConstructor\",F=o&&!!v&&\"Opera\"!==d(l.opera),L=!1,W={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},z={BigInt64Array:8,BigUint64Array:8},U=function(e){var t=g(e);if(u(t)){var n=M(t);return n&&f(n,D)?n.TypedArrayConstructor:U(t)}},N=function(e){if(!u(e))return!1;var t=d(e);return f(W,t)||f(z,t)};for(r in W)(i=(s=l[r])&&s.prototype)?k(i).TypedArrayConstructor=s:F=!1;for(r in z)(i=(s=l[r])&&s.prototype)&&(k(i).TypedArrayConstructor=s);if((!F||!c(A)||A===Function.prototype)&&(A=function(){throw C(\"Incorrect invocation\")},F))for(r in W)l[r]&&v(l[r],A);if((!F||!E||E===O)&&(E=A.prototype,F))for(r in W)l[r]&&v(l[r].prototype,E);if(F&&g(I)!==E&&v(I,E),a&&!f(E,T))for(r in L=!0,m(E,T,{get:function(){return u(this)?this[R]:void 0}}),W)l[r]&&h(l[r],R,r);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:F,TYPED_ARRAY_TAG:L&&R,aTypedArray:function(e){if(N(e))return e;throw C(\"Target is not a typed array\")},aTypedArrayConstructor:function(e){if(c(e)&&(!v||b(A,e)))return e;throw C(p(e)+\" is not a typed array constructor\")},exportTypedArrayMethod:function(e,t,n,r){if(a){if(n)for(var s in W){var i=l[s];if(i&&f(i.prototype,e))try{delete i.prototype[e]}catch(n){try{i.prototype[e]=t}catch(e){}}}E[e]&&!n||y(E,e,n?t:F&&S[e]||t,r)}},exportTypedArrayStaticMethod:function(e,t,n){var r,s;if(a){if(v){if(n)for(r in W)if((s=l[r])&&f(s,e))try{delete s[e]}catch(e){}if(A[e]&&!n)return;try{return y(A,e,n?t:F&&A[e]||t)}catch(e){}}for(r in W)!(s=l[r])||s[e]&&!n||y(s,e,t)}},getTypedArrayConstructor:U,isView:function(e){if(!u(e))return!1;var t=d(e);return\"DataView\"===t||f(W,t)||f(z,t)},isTypedArray:N,TypedArray:A,TypedArrayPrototype:E}},{\"../internals/array-buffer-native\":8,\"../internals/classof\":20,\"../internals/create-non-enumerable-property\":24,\"../internals/define-built-in\":27,\"../internals/descriptors\":31,\"../internals/global\":55,\"../internals/has-own-property\":56,\"../internals/internal-state\":64,\"../internals/is-callable\":67,\"../internals/is-object\":71,\"../internals/object-define-property\":83,\"../internals/object-get-prototype-of\":87,\"../internals/object-is-prototype-of\":88,\"../internals/object-set-prototype-of\":92,\"../internals/try-to-string\":120,\"../internals/uid\":124,\"../internals/well-known-symbol\":127}],10:[function(e,t,n){\"use strict\";var r=e(\"../internals/global\"),s=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/descriptors\"),o=e(\"../internals/array-buffer-native\"),a=e(\"../internals/function-name\"),l=e(\"../internals/create-non-enumerable-property\"),c=e(\"../internals/define-built-ins\"),u=e(\"../internals/fails\"),f=e(\"../internals/an-instance\"),d=e(\"../internals/to-integer-or-infinity\"),p=e(\"../internals/to-length\"),h=e(\"../internals/to-index\"),y=e(\"../internals/ieee754\"),m=e(\"../internals/object-get-prototype-of\"),b=e(\"../internals/object-set-prototype-of\"),g=e(\"../internals/object-get-own-property-names\").f,v=e(\"../internals/object-define-property\").f,w=e(\"../internals/array-fill\"),x=e(\"../internals/array-slice-simple\"),j=e(\"../internals/set-to-string-tag\"),k=e(\"../internals/internal-state\"),M=a.PROPER,P=a.CONFIGURABLE,S=k.get,_=k.set,I=\"ArrayBuffer\",A=\"DataView\",E=\"Wrong index\",O=r.ArrayBuffer,C=O,T=C&&C.prototype,R=r.DataView,D=R&&R.prototype,F=Object.prototype,L=r.Array,W=r.RangeError,z=s(w),U=s([].reverse),N=y.pack,q=y.unpack,B=function(e){return[255&e]},V=function(e){return[255&e,e>>8&255]},H=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},G=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},Y=function(e){return N(e,23,4)},K=function(e){return N(e,52,8)},$=function(e,t){v(e.prototype,t,{get:function(){return S(this)[t]}})},J=function(e,t,n,r){var s=h(n),i=S(e);if(s+t>i.byteLength)throw W(E);var o=S(i.buffer).bytes,a=s+i.byteOffset,l=x(o,a,a+t);return r?l:U(l)},Q=function(e,t,n,r,s,i){var o=h(n),a=S(e);if(o+t>a.byteLength)throw W(E);for(var l=S(a.buffer).bytes,c=o+a.byteOffset,u=r(+s),f=0;f<t;f++)l[c+f]=u[i?f:t-f-1]};if(o){var X=M&&O.name!==I;if(u((function(){O(1)}))&&u((function(){new O(-1)}))&&!u((function(){return new O,new O(1.5),new O(NaN),X&&!P})))X&&P&&l(O,\"name\",I);else{(C=function(e){return f(this,T),new O(h(e))}).prototype=T;for(var Z,ee=g(O),te=0;ee.length>te;)(Z=ee[te++])in C||l(C,Z,O[Z]);T.constructor=C}b&&m(D)!==F&&b(D,F);var ne=new R(new C(2)),re=s(D.setInt8);ne.setInt8(0,2147483648),ne.setInt8(1,2147483649),!ne.getInt8(0)&&ne.getInt8(1)||c(D,{setInt8:function(e,t){re(this,e,t<<24>>24)},setUint8:function(e,t){re(this,e,t<<24>>24)}},{unsafe:!0})}else T=(C=function(e){f(this,T);var t=h(e);_(this,{bytes:z(L(t),0),byteLength:t}),i||(this.byteLength=t)}).prototype,D=(R=function(e,t,n){f(this,D),f(e,T);var r=S(e).byteLength,s=d(t);if(s<0||s>r)throw W(\"Wrong offset\");if(s+(n=void 0===n?r-s:p(n))>r)throw W(\"Wrong length\");_(this,{buffer:e,byteLength:n,byteOffset:s}),i||(this.buffer=e,this.byteLength=n,this.byteOffset=s)}).prototype,i&&($(C,\"byteLength\"),$(R,\"buffer\"),$(R,\"byteLength\"),$(R,\"byteOffset\")),c(D,{getInt8:function(e){return J(this,1,e)[0]<<24>>24},getUint8:function(e){return J(this,1,e)[0]},getInt16:function(e){var t=J(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=J(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return G(J(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return G(J(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return q(J(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return q(J(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){Q(this,1,e,B,t)},setUint8:function(e,t){Q(this,1,e,B,t)},setInt16:function(e,t){Q(this,2,e,V,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){Q(this,2,e,V,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){Q(this,4,e,H,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){Q(this,4,e,H,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){Q(this,4,e,Y,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){Q(this,8,e,K,t,arguments.length>2?arguments[2]:void 0)}});j(C,I),j(R,A),t.exports={ArrayBuffer:C,DataView:R}},{\"../internals/an-instance\":6,\"../internals/array-buffer-native\":8,\"../internals/array-fill\":11,\"../internals/array-slice-simple\":14,\"../internals/create-non-enumerable-property\":24,\"../internals/define-built-ins\":28,\"../internals/descriptors\":31,\"../internals/fails\":42,\"../internals/function-name\":48,\"../internals/function-uncurry-this\":49,\"../internals/global\":55,\"../internals/ieee754\":60,\"../internals/internal-state\":64,\"../internals/object-define-property\":83,\"../internals/object-get-own-property-names\":85,\"../internals/object-get-prototype-of\":87,\"../internals/object-set-prototype-of\":92,\"../internals/set-to-string-tag\":103,\"../internals/to-index\":109,\"../internals/to-integer-or-infinity\":111,\"../internals/to-length\":112}],11:[function(e,t,n){\"use strict\";var r=e(\"../internals/to-object\"),s=e(\"../internals/to-absolute-index\"),i=e(\"../internals/length-of-array-like\");t.exports=function(e){for(var t=r(this),n=i(t),o=arguments.length,a=s(o>1?arguments[1]:void 0,n),l=o>2?arguments[2]:void 0,c=void 0===l?n:s(l,n);c>a;)t[a++]=e;return t}},{\"../internals/length-of-array-like\":76,\"../internals/to-absolute-index\":108,\"../internals/to-object\":113}],12:[function(e,t,n){var r=e(\"../internals/to-indexed-object\"),s=e(\"../internals/to-absolute-index\"),i=e(\"../internals/length-of-array-like\"),o=function(e){return function(t,n,o){var a,l=r(t),c=i(l),u=s(o,c);if(e&&n!=n){for(;c>u;)if((a=l[u++])!=a)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}};t.exports={includes:o(!0),indexOf:o(!1)}},{\"../internals/length-of-array-like\":76,\"../internals/to-absolute-index\":108,\"../internals/to-indexed-object\":110}],13:[function(e,t,n){var r=e(\"../internals/function-bind-context\"),s=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/indexed-object\"),o=e(\"../internals/to-object\"),a=e(\"../internals/length-of-array-like\"),l=e(\"../internals/array-species-create\"),c=s([].push),u=function(e){var t=1==e,n=2==e,s=3==e,u=4==e,f=6==e,d=7==e,p=5==e||f;return function(h,y,m,b){for(var g,v,w=o(h),x=i(w),j=r(y,m),k=a(x),M=0,P=b||l,S=t?P(h,k):n||d?P(h,0):void 0;k>M;M++)if((p||M in x)&&(v=j(g=x[M],M,w),e))if(t)S[M]=v;else if(v)switch(e){case 3:return!0;case 5:return g;case 6:return M;case 2:c(S,g)}else switch(e){case 4:return!1;case 7:c(S,g)}return f?-1:s||u?u:S}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterReject:u(7)}},{\"../internals/array-species-create\":17,\"../internals/function-bind-context\":45,\"../internals/function-uncurry-this\":49,\"../internals/indexed-object\":61,\"../internals/length-of-array-like\":76,\"../internals/to-object\":113}],14:[function(e,t,n){var r=e(\"../internals/to-absolute-index\"),s=e(\"../internals/length-of-array-like\"),i=e(\"../internals/create-property\"),o=Array,a=Math.max;t.exports=function(e,t,n){for(var l=s(e),c=r(t,l),u=r(void 0===n?l:n,l),f=o(a(u-c,0)),d=0;c<u;c++,d++)i(f,d,e[c]);return f.length=d,f}},{\"../internals/create-property\":26,\"../internals/length-of-array-like\":76,\"../internals/to-absolute-index\":108}],15:[function(e,t,n){var r=e(\"../internals/array-slice-simple\"),s=Math.floor,i=function(e,t){var n=e.length,l=s(n/2);return n<8?o(e,t):a(e,i(r(e,0,l),t),i(r(e,l),t),t)},o=function(e,t){for(var n,r,s=e.length,i=1;i<s;){for(r=i,n=e[i];r&&t(e[r-1],n)>0;)e[r]=e[--r];r!==i++&&(e[r]=n)}return e},a=function(e,t,n,r){for(var s=t.length,i=n.length,o=0,a=0;o<s||a<i;)e[o+a]=o<s&&a<i?r(t[o],n[a])<=0?t[o++]:n[a++]:o<s?t[o++]:n[a++];return e};t.exports=i},{\"../internals/array-slice-simple\":14}],16:[function(e,t,n){var r=e(\"../internals/is-array\"),s=e(\"../internals/is-constructor\"),i=e(\"../internals/is-object\"),o=e(\"../internals/well-known-symbol\")(\"species\"),a=Array;t.exports=function(e){var t;return r(e)&&(t=e.constructor,(s(t)&&(t===a||r(t.prototype))||i(t)&&null===(t=t[o]))&&(t=void 0)),void 0===t?a:t}},{\"../internals/is-array\":66,\"../internals/is-constructor\":68,\"../internals/is-object\":71,\"../internals/well-known-symbol\":127}],17:[function(e,t,n){var r=e(\"../internals/array-species-constructor\");t.exports=function(e,t){return new(r(e))(0===t?0:t)}},{\"../internals/array-species-constructor\":16}],18:[function(e,t,n){var r=e(\"../internals/well-known-symbol\")(\"iterator\"),s=!1;try{var i=0,o={next:function(){return{done:!!i++}},return:function(){s=!0}};o[r]=function(){return this},Array.from(o,(function(){throw 2}))}catch(e){}t.exports=function(e,t){if(!t&&!s)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(e){}return n}},{\"../internals/well-known-symbol\":127}],19:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=r({}.toString),i=r(\"\".slice);t.exports=function(e){return i(s(e),8,-1)}},{\"../internals/function-uncurry-this\":49}],20:[function(e,t,n){var r=e(\"../internals/to-string-tag-support\"),s=e(\"../internals/is-callable\"),i=e(\"../internals/classof-raw\"),o=e(\"../internals/well-known-symbol\")(\"toStringTag\"),a=Object,l=\"Arguments\"==i(function(){return arguments}());t.exports=r?i:function(e){var t,n,r;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=a(e),o))?n:l?i(t):\"Object\"==(r=i(t))&&s(t.callee)?\"Arguments\":r}},{\"../internals/classof-raw\":19,\"../internals/is-callable\":67,\"../internals/to-string-tag-support\":118,\"../internals/well-known-symbol\":127}],21:[function(e,t,n){var r=e(\"../internals/has-own-property\"),s=e(\"../internals/own-keys\"),i=e(\"../internals/object-get-own-property-descriptor\"),o=e(\"../internals/object-define-property\");t.exports=function(e,t,n){for(var a=s(t),l=o.f,c=i.f,u=0;u<a.length;u++){var f=a[u];r(e,f)||n&&r(n,f)||l(e,f,c(t,f))}}},{\"../internals/has-own-property\":56,\"../internals/object-define-property\":83,\"../internals/object-get-own-property-descriptor\":84,\"../internals/own-keys\":94}],22:[function(e,t,n){var r=e(\"../internals/fails\");t.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},{\"../internals/fails\":42}],23:[function(e,t,n){\"use strict\";var r=e(\"../internals/iterators-core\").IteratorPrototype,s=e(\"../internals/object-create\"),i=e(\"../internals/create-property-descriptor\"),o=e(\"../internals/set-to-string-tag\"),a=e(\"../internals/iterators\"),l=function(){return this};t.exports=function(e,t,n,c){var u=t+\" Iterator\";return e.prototype=s(r,{next:i(+!c,n)}),o(e,u,!1,!0),a[u]=l,e}},{\"../internals/create-property-descriptor\":25,\"../internals/iterators\":75,\"../internals/iterators-core\":74,\"../internals/object-create\":81,\"../internals/set-to-string-tag\":103}],24:[function(e,t,n){var r=e(\"../internals/descriptors\"),s=e(\"../internals/object-define-property\"),i=e(\"../internals/create-property-descriptor\");t.exports=r?function(e,t,n){return s.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},{\"../internals/create-property-descriptor\":25,\"../internals/descriptors\":31,\"../internals/object-define-property\":83}],25:[function(e,t,n){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],26:[function(e,t,n){\"use strict\";var r=e(\"../internals/to-property-key\"),s=e(\"../internals/object-define-property\"),i=e(\"../internals/create-property-descriptor\");t.exports=function(e,t,n){var o=r(t);o in e?s.f(e,o,i(0,n)):e[o]=n}},{\"../internals/create-property-descriptor\":25,\"../internals/object-define-property\":83,\"../internals/to-property-key\":117}],27:[function(e,t,n){var r=e(\"../internals/is-callable\"),s=e(\"../internals/object-define-property\"),i=e(\"../internals/make-built-in\"),o=e(\"../internals/define-global-property\");t.exports=function(e,t,n,a){a||(a={});var l=a.enumerable,c=void 0!==a.name?a.name:t;if(r(n)&&i(n,c,a),a.global)l?e[t]=n:o(t,n);else{try{a.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=n:s.f(e,t,{value:n,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}},{\"../internals/define-global-property\":29,\"../internals/is-callable\":67,\"../internals/make-built-in\":77,\"../internals/object-define-property\":83}],28:[function(e,t,n){var r=e(\"../internals/define-built-in\");t.exports=function(e,t,n){for(var s in t)r(e,s,t[s],n);return e}},{\"../internals/define-built-in\":27}],29:[function(e,t,n){var r=e(\"../internals/global\"),s=Object.defineProperty;t.exports=function(e,t){try{s(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},{\"../internals/global\":55}],30:[function(e,t,n){\"use strict\";var r=e(\"../internals/export\"),s=e(\"../internals/function-call\"),i=e(\"../internals/is-pure\"),o=e(\"../internals/function-name\"),a=e(\"../internals/is-callable\"),l=e(\"../internals/create-iterator-constructor\"),c=e(\"../internals/object-get-prototype-of\"),u=e(\"../internals/object-set-prototype-of\"),f=e(\"../internals/set-to-string-tag\"),d=e(\"../internals/create-non-enumerable-property\"),p=e(\"../internals/define-built-in\"),h=e(\"../internals/well-known-symbol\"),y=e(\"../internals/iterators\"),m=e(\"../internals/iterators-core\"),b=o.PROPER,g=o.CONFIGURABLE,v=m.IteratorPrototype,w=m.BUGGY_SAFARI_ITERATORS,x=h(\"iterator\"),j=\"keys\",k=\"values\",M=\"entries\",P=function(){return this};t.exports=function(e,t,n,o,h,m,S){l(n,t,o);var _,I,A,E=function(e){if(e===h&&D)return D;if(!w&&e in T)return T[e];switch(e){case j:case k:case M:return function(){return new n(this,e)}}return function(){return new n(this)}},O=t+\" Iterator\",C=!1,T=e.prototype,R=T[x]||T[\"@@iterator\"]||h&&T[h],D=!w&&R||E(h),F=\"Array\"==t&&T.entries||R;if(F&&(_=c(F.call(new e)))!==Object.prototype&&_.next&&(i||c(_)===v||(u?u(_,v):a(_[x])||p(_,x,P)),f(_,O,!0,!0),i&&(y[O]=P)),b&&h==k&&R&&R.name!==k&&(!i&&g?d(T,\"name\",k):(C=!0,D=function(){return s(R,this)})),h)if(I={values:E(k),keys:m?D:E(j),entries:E(M)},S)for(A in I)(w||C||!(A in T))&&p(T,A,I[A]);else r({target:t,proto:!0,forced:w||C},I);return i&&!S||T[x]===D||p(T,x,D,{name:h}),y[t]=D,I}},{\"../internals/create-iterator-constructor\":23,\"../internals/create-non-enumerable-property\":24,\"../internals/define-built-in\":27,\"../internals/export\":41,\"../internals/function-call\":47,\"../internals/function-name\":48,\"../internals/is-callable\":67,\"../internals/is-pure\":72,\"../internals/iterators\":75,\"../internals/iterators-core\":74,\"../internals/object-get-prototype-of\":87,\"../internals/object-set-prototype-of\":92,\"../internals/set-to-string-tag\":103,\"../internals/well-known-symbol\":127}],31:[function(e,t,n){var r=e(\"../internals/fails\");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},{\"../internals/fails\":42}],32:[function(e,t,n){var r=e(\"../internals/global\"),s=e(\"../internals/is-object\"),i=r.document,o=s(i)&&s(i.createElement);t.exports=function(e){return o?i.createElement(e):{}}},{\"../internals/global\":55,\"../internals/is-object\":71}],33:[function(e,t,n){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},{}],34:[function(e,t,n){var r=e(\"../internals/document-create-element\")(\"span\").classList,s=r&&r.constructor&&r.constructor.prototype;t.exports=s===Object.prototype?void 0:s},{\"../internals/document-create-element\":32}],35:[function(e,t,n){var r=e(\"../internals/engine-user-agent\").match(/firefox\\/(\\d+)/i);t.exports=!!r&&+r[1]},{\"../internals/engine-user-agent\":37}],36:[function(e,t,n){var r=e(\"../internals/engine-user-agent\");t.exports=/MSIE|Trident/.test(r)},{\"../internals/engine-user-agent\":37}],37:[function(e,t,n){var r=e(\"../internals/get-built-in\");t.exports=r(\"navigator\",\"userAgent\")||\"\"},{\"../internals/get-built-in\":50}],38:[function(e,t,n){var r,s,i=e(\"../internals/global\"),o=e(\"../internals/engine-user-agent\"),a=i.process,l=i.Deno,c=a&&a.versions||l&&l.version,u=c&&c.v8;u&&(s=(r=u.split(\".\"))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!s&&o&&(!(r=o.match(/Edge\\/(\\d+)/))||r[1]>=74)&&(r=o.match(/Chrome\\/(\\d+)/))&&(s=+r[1]),t.exports=s},{\"../internals/engine-user-agent\":37,\"../internals/global\":55}],39:[function(e,t,n){var r=e(\"../internals/engine-user-agent\").match(/AppleWebKit\\/(\\d+)\\./);t.exports=!!r&&+r[1]},{\"../internals/engine-user-agent\":37}],40:[function(e,t,n){t.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},{}],41:[function(e,t,n){var r=e(\"../internals/global\"),s=e(\"../internals/object-get-own-property-descriptor\").f,i=e(\"../internals/create-non-enumerable-property\"),o=e(\"../internals/define-built-in\"),a=e(\"../internals/define-global-property\"),l=e(\"../internals/copy-constructor-properties\"),c=e(\"../internals/is-forced\");t.exports=function(e,t){var n,u,f,d,p,h=e.target,y=e.global,m=e.stat;if(n=y?r:m?r[h]||a(h,{}):(r[h]||{}).prototype)for(u in t){if(d=t[u],f=e.dontCallGetSet?(p=s(n,u))&&p.value:n[u],!c(y?u:h+(m?\".\":\"#\")+u,e.forced)&&void 0!==f){if(typeof d==typeof f)continue;l(d,f)}(e.sham||f&&f.sham)&&i(d,\"sham\",!0),o(n,u,d,e)}}},{\"../internals/copy-constructor-properties\":21,\"../internals/create-non-enumerable-property\":24,\"../internals/define-built-in\":27,\"../internals/define-global-property\":29,\"../internals/global\":55,\"../internals/is-forced\":69,\"../internals/object-get-own-property-descriptor\":84}],42:[function(e,t,n){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],43:[function(e,t,n){\"use strict\";e(\"../modules/es.regexp.exec\");var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/define-built-in\"),i=e(\"../internals/regexp-exec\"),o=e(\"../internals/fails\"),a=e(\"../internals/well-known-symbol\"),l=e(\"../internals/create-non-enumerable-property\"),c=a(\"species\"),u=RegExp.prototype;t.exports=function(e,t,n,f){var d=a(e),p=!o((function(){var t={};return t[d]=function(){return 7},7!=\"\"[e](t)})),h=p&&!o((function(){var t=!1,n=/a/;return\"split\"===e&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags=\"\",n[d]=/./[d]),n.exec=function(){return t=!0,null},n[d](\"\"),!t}));if(!p||!h||n){var y=r(/./[d]),m=t(d,\"\"[e],(function(e,t,n,s,o){var a=r(e),l=t.exec;return l===i||l===u.exec?p&&!o?{done:!0,value:y(t,n,s)}:{done:!0,value:a(n,t,s)}:{done:!1}}));s(String.prototype,e,m[0]),s(u,d,m[1])}f&&l(u[d],\"sham\",!0)}},{\"../internals/create-non-enumerable-property\":24,\"../internals/define-built-in\":27,\"../internals/fails\":42,\"../internals/function-uncurry-this\":49,\"../internals/regexp-exec\":96,\"../internals/well-known-symbol\":127,\"../modules/es.regexp.exec\":129}],44:[function(e,t,n){var r=e(\"../internals/function-bind-native\"),s=Function.prototype,i=s.apply,o=s.call;t.exports=\"object\"==typeof Reflect&&Reflect.apply||(r?o.bind(i):function(){return o.apply(i,arguments)})},{\"../internals/function-bind-native\":46}],45:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/a-callable\"),i=e(\"../internals/function-bind-native\"),o=r(r.bind);t.exports=function(e,t){return s(e),void 0===t?e:i?o(e,t):function(){return e.apply(t,arguments)}}},{\"../internals/a-callable\":1,\"../internals/function-bind-native\":46,\"../internals/function-uncurry-this\":49}],46:[function(e,t,n){var r=e(\"../internals/fails\");t.exports=!r((function(){var e=function(){}.bind();return\"function\"!=typeof e||e.hasOwnProperty(\"prototype\")}))},{\"../internals/fails\":42}],47:[function(e,t,n){var r=e(\"../internals/function-bind-native\"),s=Function.prototype.call;t.exports=r?s.bind(s):function(){return s.apply(s,arguments)}},{\"../internals/function-bind-native\":46}],48:[function(e,t,n){var r=e(\"../internals/descriptors\"),s=e(\"../internals/has-own-property\"),i=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,a=s(i,\"name\"),l=a&&\"something\"===function(){}.name,c=a&&(!r||r&&o(i,\"name\").configurable);t.exports={EXISTS:a,PROPER:l,CONFIGURABLE:c}},{\"../internals/descriptors\":31,\"../internals/has-own-property\":56}],49:[function(e,t,n){var r=e(\"../internals/function-bind-native\"),s=Function.prototype,i=s.bind,o=s.call,a=r&&i.bind(o,o);t.exports=r?function(e){return e&&a(e)}:function(e){return e&&function(){return o.apply(e,arguments)}}},{\"../internals/function-bind-native\":46}],50:[function(e,t,n){var r=e(\"../internals/global\"),s=e(\"../internals/is-callable\"),i=function(e){return s(e)?e:void 0};t.exports=function(e,t){return arguments.length<2?i(r[e]):r[e]&&r[e][t]}},{\"../internals/global\":55,\"../internals/is-callable\":67}],51:[function(e,t,n){var r=e(\"../internals/classof\"),s=e(\"../internals/get-method\"),i=e(\"../internals/iterators\"),o=e(\"../internals/well-known-symbol\")(\"iterator\");t.exports=function(e){if(null!=e)return s(e,o)||s(e,\"@@iterator\")||i[r(e)]}},{\"../internals/classof\":20,\"../internals/get-method\":53,\"../internals/iterators\":75,\"../internals/well-known-symbol\":127}],52:[function(e,t,n){var r=e(\"../internals/function-call\"),s=e(\"../internals/a-callable\"),i=e(\"../internals/an-object\"),o=e(\"../internals/try-to-string\"),a=e(\"../internals/get-iterator-method\"),l=TypeError;t.exports=function(e,t){var n=arguments.length<2?a(e):t;if(s(n))return i(r(n,e));throw l(o(e)+\" is not iterable\")}},{\"../internals/a-callable\":1,\"../internals/an-object\":7,\"../internals/function-call\":47,\"../internals/get-iterator-method\":51,\"../internals/try-to-string\":120}],53:[function(e,t,n){var r=e(\"../internals/a-callable\");t.exports=function(e,t){var n=e[t];return null==n?void 0:r(n)}},{\"../internals/a-callable\":1}],54:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/to-object\"),i=Math.floor,o=r(\"\".charAt),a=r(\"\".replace),l=r(\"\".slice),c=/\\$([$&'`]|\\d{1,2}|<[^>]*>)/g,u=/\\$([$&'`]|\\d{1,2})/g;t.exports=function(e,t,n,r,f,d){var p=n+e.length,h=r.length,y=u;return void 0!==f&&(f=s(f),y=c),a(d,y,(function(s,a){var c;switch(o(a,0)){case\"$\":return\"$\";case\"&\":return e;case\"`\":return l(t,0,n);case\"'\":return l(t,p);case\"<\":c=f[l(a,1,-1)];break;default:var u=+a;if(0===u)return s;if(u>h){var d=i(u/10);return 0===d?s:d<=h?void 0===r[d-1]?o(a,1):r[d-1]+o(a,1):s}c=r[u-1]}return void 0===c?\"\":c}))}},{\"../internals/function-uncurry-this\":49,\"../internals/to-object\":113}],55:[function(e,t,n){(function(e){(function(){var n=function(e){return e&&e.Math==Math&&e};t.exports=n(\"object\"==typeof globalThis&&globalThis)||n(\"object\"==typeof window&&window)||n(\"object\"==typeof self&&self)||n(\"object\"==typeof e&&e)||function(){return this}()||Function(\"return this\")()}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],56:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/to-object\"),i=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(e,t){return i(s(e),t)}},{\"../internals/function-uncurry-this\":49,\"../internals/to-object\":113}],57:[function(e,t,n){t.exports={}},{}],58:[function(e,t,n){var r=e(\"../internals/get-built-in\");t.exports=r(\"document\",\"documentElement\")},{\"../internals/get-built-in\":50}],59:[function(e,t,n){var r=e(\"../internals/descriptors\"),s=e(\"../internals/fails\"),i=e(\"../internals/document-create-element\");t.exports=!r&&!s((function(){return 7!=Object.defineProperty(i(\"div\"),\"a\",{get:function(){return 7}}).a}))},{\"../internals/descriptors\":31,\"../internals/document-create-element\":32,\"../internals/fails\":42}],60:[function(e,t,n){var r=Array,s=Math.abs,i=Math.pow,o=Math.floor,a=Math.log,l=Math.LN2;t.exports={pack:function(e,t,n){var c,u,f,d=r(n),p=8*n-t-1,h=(1<<p)-1,y=h>>1,m=23===t?i(2,-24)-i(2,-77):0,b=e<0||0===e&&1/e<0?1:0,g=0;for((e=s(e))!=e||e===1/0?(u=e!=e?1:0,c=h):(c=o(a(e)/l),e*(f=i(2,-c))<1&&(c--,f*=2),(e+=c+y>=1?m/f:m*i(2,1-y))*f>=2&&(c++,f/=2),c+y>=h?(u=0,c=h):c+y>=1?(u=(e*f-1)*i(2,t),c+=y):(u=e*i(2,y-1)*i(2,t),c=0));t>=8;)d[g++]=255&u,u/=256,t-=8;for(c=c<<t|u,p+=t;p>0;)d[g++]=255&c,c/=256,p-=8;return d[--g]|=128*b,d},unpack:function(e,t){var n,r=e.length,s=8*r-t-1,o=(1<<s)-1,a=o>>1,l=s-7,c=r-1,u=e[c--],f=127&u;for(u>>=7;l>0;)f=256*f+e[c--],l-=8;for(n=f&(1<<-l)-1,f>>=-l,l+=t;l>0;)n=256*n+e[c--],l-=8;if(0===f)f=1-a;else{if(f===o)return n?NaN:u?-1/0:1/0;n+=i(2,t),f-=a}return(u?-1:1)*n*i(2,f-t)}}},{}],61:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/fails\"),i=e(\"../internals/classof-raw\"),o=Object,a=r(\"\".split);t.exports=s((function(){return!o(\"z\").propertyIsEnumerable(0)}))?function(e){return\"String\"==i(e)?a(e,\"\"):o(e)}:o},{\"../internals/classof-raw\":19,\"../internals/fails\":42,\"../internals/function-uncurry-this\":49}],62:[function(e,t,n){var r=e(\"../internals/is-callable\"),s=e(\"../internals/is-object\"),i=e(\"../internals/object-set-prototype-of\");t.exports=function(e,t,n){var o,a;return i&&r(o=t.constructor)&&o!==n&&s(a=o.prototype)&&a!==n.prototype&&i(e,a),e}},{\"../internals/is-callable\":67,\"../internals/is-object\":71,\"../internals/object-set-prototype-of\":92}],63:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/is-callable\"),i=e(\"../internals/shared-store\"),o=r(Function.toString);s(i.inspectSource)||(i.inspectSource=function(e){return o(e)}),t.exports=i.inspectSource},{\"../internals/function-uncurry-this\":49,\"../internals/is-callable\":67,\"../internals/shared-store\":105}],64:[function(e,t,n){var r,s,i,o=e(\"../internals/native-weak-map\"),a=e(\"../internals/global\"),l=e(\"../internals/function-uncurry-this\"),c=e(\"../internals/is-object\"),u=e(\"../internals/create-non-enumerable-property\"),f=e(\"../internals/has-own-property\"),d=e(\"../internals/shared-store\"),p=e(\"../internals/shared-key\"),h=e(\"../internals/hidden-keys\"),y=\"Object already initialized\",m=a.TypeError,b=a.WeakMap;if(o||d.state){var g=d.state||(d.state=new b),v=l(g.get),w=l(g.has),x=l(g.set);r=function(e,t){if(w(g,e))throw new m(y);return t.facade=e,x(g,e,t),t},s=function(e){return v(g,e)||{}},i=function(e){return w(g,e)}}else{var j=p(\"state\");h[j]=!0,r=function(e,t){if(f(e,j))throw new m(y);return t.facade=e,u(e,j,t),t},s=function(e){return f(e,j)?e[j]:{}},i=function(e){return f(e,j)}}t.exports={set:r,get:s,has:i,enforce:function(e){return i(e)?s(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=s(t)).type!==e)throw m(\"Incompatible receiver, \"+e+\" required\");return n}}}},{\"../internals/create-non-enumerable-property\":24,\"../internals/function-uncurry-this\":49,\"../internals/global\":55,\"../internals/has-own-property\":56,\"../internals/hidden-keys\":57,\"../internals/is-object\":71,\"../internals/native-weak-map\":80,\"../internals/shared-key\":104,\"../internals/shared-store\":105}],65:[function(e,t,n){var r=e(\"../internals/well-known-symbol\"),s=e(\"../internals/iterators\"),i=r(\"iterator\"),o=Array.prototype;t.exports=function(e){return void 0!==e&&(s.Array===e||o[i]===e)}},{\"../internals/iterators\":75,\"../internals/well-known-symbol\":127}],66:[function(e,t,n){var r=e(\"../internals/classof-raw\");t.exports=Array.isArray||function(e){return\"Array\"==r(e)}},{\"../internals/classof-raw\":19}],67:[function(e,t,n){t.exports=function(e){return\"function\"==typeof e}},{}],68:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/fails\"),i=e(\"../internals/is-callable\"),o=e(\"../internals/classof\"),a=e(\"../internals/get-built-in\"),l=e(\"../internals/inspect-source\"),c=function(){},u=[],f=a(\"Reflect\",\"construct\"),d=/^\\s*(?:class|function)\\b/,p=r(d.exec),h=!d.exec(c),y=function(e){if(!i(e))return!1;try{return f(c,u,e),!0}catch(e){return!1}},m=function(e){if(!i(e))return!1;switch(o(e)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return h||!!p(d,l(e))}catch(e){return!0}};m.sham=!0,t.exports=!f||s((function(){var e;return y(y.call)||!y(Object)||!y((function(){e=!0}))||e}))?m:y},{\"../internals/classof\":20,\"../internals/fails\":42,\"../internals/function-uncurry-this\":49,\"../internals/get-built-in\":50,\"../internals/inspect-source\":63,\"../internals/is-callable\":67}],69:[function(e,t,n){var r=e(\"../internals/fails\"),s=e(\"../internals/is-callable\"),i=/#|\\.prototype\\./,o=function(e,t){var n=l[a(e)];return n==u||n!=c&&(s(t)?r(t):!!t)},a=o.normalize=function(e){return String(e).replace(i,\".\").toLowerCase()},l=o.data={},c=o.NATIVE=\"N\",u=o.POLYFILL=\"P\";t.exports=o},{\"../internals/fails\":42,\"../internals/is-callable\":67}],70:[function(e,t,n){var r=e(\"../internals/is-object\"),s=Math.floor;t.exports=Number.isInteger||function(e){return!r(e)&&isFinite(e)&&s(e)===e}},{\"../internals/is-object\":71}],71:[function(e,t,n){var r=e(\"../internals/is-callable\");t.exports=function(e){return\"object\"==typeof e?null!==e:r(e)}},{\"../internals/is-callable\":67}],72:[function(e,t,n){t.exports=!1},{}],73:[function(e,t,n){var r=e(\"../internals/get-built-in\"),s=e(\"../internals/is-callable\"),i=e(\"../internals/object-is-prototype-of\"),o=e(\"../internals/use-symbol-as-uid\"),a=Object;t.exports=o?function(e){return\"symbol\"==typeof e}:function(e){var t=r(\"Symbol\");return s(t)&&i(t.prototype,a(e))}},{\"../internals/get-built-in\":50,\"../internals/is-callable\":67,\"../internals/object-is-prototype-of\":88,\"../internals/use-symbol-as-uid\":125}],74:[function(e,t,n){\"use strict\";var r,s,i,o=e(\"../internals/fails\"),a=e(\"../internals/is-callable\"),l=e(\"../internals/object-create\"),c=e(\"../internals/object-get-prototype-of\"),u=e(\"../internals/define-built-in\"),f=e(\"../internals/well-known-symbol\"),d=e(\"../internals/is-pure\"),p=f(\"iterator\"),h=!1;[].keys&&(\"next\"in(i=[].keys())?(s=c(c(i)))!==Object.prototype&&(r=s):h=!0),null==r||o((function(){var e={};return r[p].call(e)!==e}))?r={}:d&&(r=l(r)),a(r[p])||u(r,p,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},{\"../internals/define-built-in\":27,\"../internals/fails\":42,\"../internals/is-callable\":67,\"../internals/is-pure\":72,\"../internals/object-create\":81,\"../internals/object-get-prototype-of\":87,\"../internals/well-known-symbol\":127}],75:[function(e,t,n){arguments[4][57][0].apply(n,arguments)},{dup:57}],76:[function(e,t,n){var r=e(\"../internals/to-length\");t.exports=function(e){return r(e.length)}},{\"../internals/to-length\":112}],77:[function(e,t,n){var r=e(\"../internals/fails\"),s=e(\"../internals/is-callable\"),i=e(\"../internals/has-own-property\"),o=e(\"../internals/descriptors\"),a=e(\"../internals/function-name\").CONFIGURABLE,l=e(\"../internals/inspect-source\"),c=e(\"../internals/internal-state\"),u=c.enforce,f=c.get,d=Object.defineProperty,p=o&&!r((function(){return 8!==d((function(){}),\"length\",{value:8}).length})),h=String(String).split(\"String\"),y=t.exports=function(e,t,n){\"Symbol(\"===String(t).slice(0,7)&&(t=\"[\"+String(t).replace(/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),n&&n.getter&&(t=\"get \"+t),n&&n.setter&&(t=\"set \"+t),(!i(e,\"name\")||a&&e.name!==t)&&(o?d(e,\"name\",{value:t,configurable:!0}):e.name=t),p&&n&&i(n,\"arity\")&&e.length!==n.arity&&d(e,\"length\",{value:n.arity});try{n&&i(n,\"constructor\")&&n.constructor?o&&d(e,\"prototype\",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var r=u(e);return i(r,\"source\")||(r.source=h.join(\"string\"==typeof t?t:\"\")),e};Function.prototype.toString=y((function(){return s(this)&&f(this).source||l(this)}),\"toString\")},{\"../internals/descriptors\":31,\"../internals/fails\":42,\"../internals/function-name\":48,\"../internals/has-own-property\":56,\"../internals/inspect-source\":63,\"../internals/internal-state\":64,\"../internals/is-callable\":67}],78:[function(e,t,n){var r=Math.ceil,s=Math.floor;t.exports=Math.trunc||function(e){var t=+e;return(t>0?s:r)(t)}},{}],79:[function(e,t,n){var r=e(\"../internals/engine-v8-version\"),s=e(\"../internals/fails\");t.exports=!!Object.getOwnPropertySymbols&&!s((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},{\"../internals/engine-v8-version\":38,\"../internals/fails\":42}],80:[function(e,t,n){var r=e(\"../internals/global\"),s=e(\"../internals/is-callable\"),i=e(\"../internals/inspect-source\"),o=r.WeakMap;t.exports=s(o)&&/native code/.test(i(o))},{\"../internals/global\":55,\"../internals/inspect-source\":63,\"../internals/is-callable\":67}],81:[function(e,t,n){var r,s=e(\"../internals/an-object\"),i=e(\"../internals/object-define-properties\"),o=e(\"../internals/enum-bug-keys\"),a=e(\"../internals/hidden-keys\"),l=e(\"../internals/html\"),c=e(\"../internals/document-create-element\"),u=e(\"../internals/shared-key\"),f=u(\"IE_PROTO\"),d=function(){},p=function(e){return\"<script>\"+e+\"</\"+\"script>\"},h=function(e){e.write(p(\"\")),e.close();var t=e.parentWindow.Object;return e=null,t},y=function(){try{r=new ActiveXObject(\"htmlfile\")}catch(e){}var e,t;y=\"undefined\"!=typeof document?document.domain&&r?h(r):((t=c(\"iframe\")).style.display=\"none\",l.appendChild(t),t.src=String(\"javascript:\"),(e=t.contentWindow.document).open(),e.write(p(\"document.F=Object\")),e.close(),e.F):h(r);for(var n=o.length;n--;)delete y.prototype[o[n]];return y()};a[f]=!0,t.exports=Object.create||function(e,t){var n;return null!==e?(d.prototype=s(e),n=new d,d.prototype=null,n[f]=e):n=y(),void 0===t?n:i.f(n,t)}},{\"../internals/an-object\":7,\"../internals/document-create-element\":32,\"../internals/enum-bug-keys\":40,\"../internals/hidden-keys\":57,\"../internals/html\":58,\"../internals/object-define-properties\":82,\"../internals/shared-key\":104}],82:[function(e,t,n){var r=e(\"../internals/descriptors\"),s=e(\"../internals/v8-prototype-define-bug\"),i=e(\"../internals/object-define-property\"),o=e(\"../internals/an-object\"),a=e(\"../internals/to-indexed-object\"),l=e(\"../internals/object-keys\");n.f=r&&!s?Object.defineProperties:function(e,t){o(e);for(var n,r=a(t),s=l(t),c=s.length,u=0;c>u;)i.f(e,n=s[u++],r[n]);return e}},{\"../internals/an-object\":7,\"../internals/descriptors\":31,\"../internals/object-define-property\":83,\"../internals/object-keys\":90,\"../internals/to-indexed-object\":110,\"../internals/v8-prototype-define-bug\":126}],83:[function(e,t,n){var r=e(\"../internals/descriptors\"),s=e(\"../internals/ie8-dom-define\"),i=e(\"../internals/v8-prototype-define-bug\"),o=e(\"../internals/an-object\"),a=e(\"../internals/to-property-key\"),l=TypeError,c=Object.defineProperty,u=Object.getOwnPropertyDescriptor,f=\"enumerable\",d=\"configurable\",p=\"writable\";n.f=r?i?function(e,t,n){if(o(e),t=a(t),o(n),\"function\"==typeof e&&\"prototype\"===t&&\"value\"in n&&p in n&&!n.writable){var r=u(e,t);r&&r.writable&&(e[t]=n.value,n={configurable:d in n?n.configurable:r.configurable,enumerable:f in n?n.enumerable:r.enumerable,writable:!1})}return c(e,t,n)}:c:function(e,t,n){if(o(e),t=a(t),o(n),s)try{return c(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw l(\"Accessors not supported\");return\"value\"in n&&(e[t]=n.value),e}},{\"../internals/an-object\":7,\"../internals/descriptors\":31,\"../internals/ie8-dom-define\":59,\"../internals/to-property-key\":117,\"../internals/v8-prototype-define-bug\":126}],84:[function(e,t,n){var r=e(\"../internals/descriptors\"),s=e(\"../internals/function-call\"),i=e(\"../internals/object-property-is-enumerable\"),o=e(\"../internals/create-property-descriptor\"),a=e(\"../internals/to-indexed-object\"),l=e(\"../internals/to-property-key\"),c=e(\"../internals/has-own-property\"),u=e(\"../internals/ie8-dom-define\"),f=Object.getOwnPropertyDescriptor;n.f=r?f:function(e,t){if(e=a(e),t=l(t),u)try{return f(e,t)}catch(e){}if(c(e,t))return o(!s(i.f,e,t),e[t])}},{\"../internals/create-property-descriptor\":25,\"../internals/descriptors\":31,\"../internals/function-call\":47,\"../internals/has-own-property\":56,\"../internals/ie8-dom-define\":59,\"../internals/object-property-is-enumerable\":91,\"../internals/to-indexed-object\":110,\"../internals/to-property-key\":117}],85:[function(e,t,n){var r=e(\"../internals/object-keys-internal\"),s=e(\"../internals/enum-bug-keys\").concat(\"length\",\"prototype\");n.f=Object.getOwnPropertyNames||function(e){return r(e,s)}},{\"../internals/enum-bug-keys\":40,\"../internals/object-keys-internal\":89}],86:[function(e,t,n){n.f=Object.getOwnPropertySymbols},{}],87:[function(e,t,n){var r=e(\"../internals/has-own-property\"),s=e(\"../internals/is-callable\"),i=e(\"../internals/to-object\"),o=e(\"../internals/shared-key\"),a=e(\"../internals/correct-prototype-getter\"),l=o(\"IE_PROTO\"),c=Object,u=c.prototype;t.exports=a?c.getPrototypeOf:function(e){var t=i(e);if(r(t,l))return t[l];var n=t.constructor;return s(n)&&t instanceof n?n.prototype:t instanceof c?u:null}},{\"../internals/correct-prototype-getter\":22,\"../internals/has-own-property\":56,\"../internals/is-callable\":67,\"../internals/shared-key\":104,\"../internals/to-object\":113}],88:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\");t.exports=r({}.isPrototypeOf)},{\"../internals/function-uncurry-this\":49}],89:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/has-own-property\"),i=e(\"../internals/to-indexed-object\"),o=e(\"../internals/array-includes\").indexOf,a=e(\"../internals/hidden-keys\"),l=r([].push);t.exports=function(e,t){var n,r=i(e),c=0,u=[];for(n in r)!s(a,n)&&s(r,n)&&l(u,n);for(;t.length>c;)s(r,n=t[c++])&&(~o(u,n)||l(u,n));return u}},{\"../internals/array-includes\":12,\"../internals/function-uncurry-this\":49,\"../internals/has-own-property\":56,\"../internals/hidden-keys\":57,\"../internals/to-indexed-object\":110}],90:[function(e,t,n){var r=e(\"../internals/object-keys-internal\"),s=e(\"../internals/enum-bug-keys\");t.exports=Object.keys||function(e){return r(e,s)}},{\"../internals/enum-bug-keys\":40,\"../internals/object-keys-internal\":89}],91:[function(e,t,n){\"use strict\";var r={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,i=s&&!r.call({1:2},1);n.f=i?function(e){var t=s(this,e);return!!t&&t.enumerable}:r},{}],92:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/an-object\"),i=e(\"../internals/a-possible-prototype\");t.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var e,t=!1,n={};try{(e=r(Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set))(n,[]),t=n instanceof Array}catch(e){}return function(n,r){return s(n),i(r),t?e(n,r):n.__proto__=r,n}}():void 0)},{\"../internals/a-possible-prototype\":3,\"../internals/an-object\":7,\"../internals/function-uncurry-this\":49}],93:[function(e,t,n){var r=e(\"../internals/function-call\"),s=e(\"../internals/is-callable\"),i=e(\"../internals/is-object\"),o=TypeError;t.exports=function(e,t){var n,a;if(\"string\"===t&&s(n=e.toString)&&!i(a=r(n,e)))return a;if(s(n=e.valueOf)&&!i(a=r(n,e)))return a;if(\"string\"!==t&&s(n=e.toString)&&!i(a=r(n,e)))return a;throw o(\"Can't convert object to primitive value\")}},{\"../internals/function-call\":47,\"../internals/is-callable\":67,\"../internals/is-object\":71}],94:[function(e,t,n){var r=e(\"../internals/get-built-in\"),s=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/object-get-own-property-names\"),o=e(\"../internals/object-get-own-property-symbols\"),a=e(\"../internals/an-object\"),l=s([].concat);t.exports=r(\"Reflect\",\"ownKeys\")||function(e){var t=i.f(a(e)),n=o.f;return n?l(t,n(e)):t}},{\"../internals/an-object\":7,\"../internals/function-uncurry-this\":49,\"../internals/get-built-in\":50,\"../internals/object-get-own-property-names\":85,\"../internals/object-get-own-property-symbols\":86}],95:[function(e,t,n){var r=e(\"../internals/function-call\"),s=e(\"../internals/an-object\"),i=e(\"../internals/is-callable\"),o=e(\"../internals/classof-raw\"),a=e(\"../internals/regexp-exec\"),l=TypeError;t.exports=function(e,t){var n=e.exec;if(i(n)){var c=r(n,e,t);return null!==c&&s(c),c}if(\"RegExp\"===o(e))return r(a,e,t);throw l(\"RegExp#exec called on incompatible receiver\")}},{\"../internals/an-object\":7,\"../internals/classof-raw\":19,\"../internals/function-call\":47,\"../internals/is-callable\":67,\"../internals/regexp-exec\":96}],96:[function(e,t,n){\"use strict\";var r,s,i=e(\"../internals/function-call\"),o=e(\"../internals/function-uncurry-this\"),a=e(\"../internals/to-string\"),l=e(\"../internals/regexp-flags\"),c=e(\"../internals/regexp-sticky-helpers\"),u=e(\"../internals/shared\"),f=e(\"../internals/object-create\"),d=e(\"../internals/internal-state\").get,p=e(\"../internals/regexp-unsupported-dot-all\"),h=e(\"../internals/regexp-unsupported-ncg\"),y=u(\"native-string-replace\",String.prototype.replace),m=RegExp.prototype.exec,b=m,g=o(\"\".charAt),v=o(\"\".indexOf),w=o(\"\".replace),x=o(\"\".slice),j=(s=/b*/g,i(m,r=/a/,\"a\"),i(m,s,\"a\"),0!==r.lastIndex||0!==s.lastIndex),k=c.BROKEN_CARET,M=void 0!==/()??/.exec(\"\")[1];(j||M||k||p||h)&&(b=function(e){var t,n,r,s,o,c,u,p=this,h=d(p),P=a(e),S=h.raw;if(S)return S.lastIndex=p.lastIndex,t=i(b,S,P),p.lastIndex=S.lastIndex,t;var _=h.groups,I=k&&p.sticky,A=i(l,p),E=p.source,O=0,C=P;if(I&&(A=w(A,\"y\",\"\"),-1===v(A,\"g\")&&(A+=\"g\"),C=x(P,p.lastIndex),p.lastIndex>0&&(!p.multiline||p.multiline&&\"\\n\"!==g(P,p.lastIndex-1))&&(E=\"(?: \"+E+\")\",C=\" \"+C,O++),n=new RegExp(\"^(?:\"+E+\")\",A)),M&&(n=new RegExp(\"^\"+E+\"$(?!\\\\s)\",A)),j&&(r=p.lastIndex),s=i(m,I?n:p,C),I?s?(s.input=x(s.input,O),s[0]=x(s[0],O),s.index=p.lastIndex,p.lastIndex+=s[0].length):p.lastIndex=0:j&&s&&(p.lastIndex=p.global?s.index+s[0].length:r),M&&s&&s.length>1&&i(y,s[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(s[o]=void 0)})),s&&_)for(s.groups=c=f(null),o=0;o<_.length;o++)c[(u=_[o])[0]]=s[u[1]];return s}),t.exports=b},{\"../internals/function-call\":47,\"../internals/function-uncurry-this\":49,\"../internals/internal-state\":64,\"../internals/object-create\":81,\"../internals/regexp-flags\":97,\"../internals/regexp-sticky-helpers\":98,\"../internals/regexp-unsupported-dot-all\":99,\"../internals/regexp-unsupported-ncg\":100,\"../internals/shared\":106,\"../internals/to-string\":119}],97:[function(e,t,n){\"use strict\";var r=e(\"../internals/an-object\");t.exports=function(){var e=r(this),t=\"\";return e.hasIndices&&(t+=\"d\"),e.global&&(t+=\"g\"),e.ignoreCase&&(t+=\"i\"),e.multiline&&(t+=\"m\"),e.dotAll&&(t+=\"s\"),e.unicode&&(t+=\"u\"),e.unicodeSets&&(t+=\"v\"),e.sticky&&(t+=\"y\"),t}},{\"../internals/an-object\":7}],98:[function(e,t,n){var r=e(\"../internals/fails\"),s=e(\"../internals/global\").RegExp,i=r((function(){var e=s(\"a\",\"y\");return e.lastIndex=2,null!=e.exec(\"abcd\")})),o=i||r((function(){return!s(\"a\",\"y\").sticky})),a=i||r((function(){var e=s(\"^r\",\"gy\");return e.lastIndex=2,null!=e.exec(\"str\")}));t.exports={BROKEN_CARET:a,MISSED_STICKY:o,UNSUPPORTED_Y:i}},{\"../internals/fails\":42,\"../internals/global\":55}],99:[function(e,t,n){var r=e(\"../internals/fails\"),s=e(\"../internals/global\").RegExp;t.exports=r((function(){var e=s(\".\",\"s\");return!(e.dotAll&&e.exec(\"\\n\")&&\"s\"===e.flags)}))},{\"../internals/fails\":42,\"../internals/global\":55}],100:[function(e,t,n){var r=e(\"../internals/fails\"),s=e(\"../internals/global\").RegExp;t.exports=r((function(){var e=s(\"(?<a>b)\",\"g\");return\"b\"!==e.exec(\"b\").groups.a||\"bc\"!==\"b\".replace(e,\"$<a>c\")}))},{\"../internals/fails\":42,\"../internals/global\":55}],101:[function(e,t,n){var r=TypeError;t.exports=function(e){if(null==e)throw r(\"Can't call method on \"+e);return e}},{}],102:[function(e,t,n){\"use strict\";var r=e(\"../internals/get-built-in\"),s=e(\"../internals/object-define-property\"),i=e(\"../internals/well-known-symbol\"),o=e(\"../internals/descriptors\"),a=i(\"species\");t.exports=function(e){var t=r(e),n=s.f;o&&t&&!t[a]&&n(t,a,{configurable:!0,get:function(){return this}})}},{\"../internals/descriptors\":31,\"../internals/get-built-in\":50,\"../internals/object-define-property\":83,\"../internals/well-known-symbol\":127}],103:[function(e,t,n){var r=e(\"../internals/object-define-property\").f,s=e(\"../internals/has-own-property\"),i=e(\"../internals/well-known-symbol\")(\"toStringTag\");t.exports=function(e,t,n){e&&!n&&(e=e.prototype),e&&!s(e,i)&&r(e,i,{configurable:!0,value:t})}},{\"../internals/has-own-property\":56,\"../internals/object-define-property\":83,\"../internals/well-known-symbol\":127}],104:[function(e,t,n){var r=e(\"../internals/shared\"),s=e(\"../internals/uid\"),i=r(\"keys\");t.exports=function(e){return i[e]||(i[e]=s(e))}},{\"../internals/shared\":106,\"../internals/uid\":124}],105:[function(e,t,n){var r=e(\"../internals/global\"),s=e(\"../internals/define-global-property\"),i=\"__core-js_shared__\",o=r[i]||s(i,{});t.exports=o},{\"../internals/define-global-property\":29,\"../internals/global\":55}],106:[function(e,t,n){var r=e(\"../internals/is-pure\"),s=e(\"../internals/shared-store\");(t.exports=function(e,t){return s[e]||(s[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:\"3.23.4\",mode:r?\"pure\":\"global\",copyright:\"© 2014-2022 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.23.4/LICENSE\",source:\"https://github.com/zloirock/core-js\"})},{\"../internals/is-pure\":72,\"../internals/shared-store\":105}],107:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=e(\"../internals/to-integer-or-infinity\"),i=e(\"../internals/to-string\"),o=e(\"../internals/require-object-coercible\"),a=r(\"\".charAt),l=r(\"\".charCodeAt),c=r(\"\".slice),u=function(e){return function(t,n){var r,u,f=i(o(t)),d=s(n),p=f.length;return d<0||d>=p?e?\"\":void 0:(r=l(f,d))<55296||r>56319||d+1===p||(u=l(f,d+1))<56320||u>57343?e?a(f,d):r:e?c(f,d,d+2):u-56320+(r-55296<<10)+65536}};t.exports={codeAt:u(!1),charAt:u(!0)}},{\"../internals/function-uncurry-this\":49,\"../internals/require-object-coercible\":101,\"../internals/to-integer-or-infinity\":111,\"../internals/to-string\":119}],108:[function(e,t,n){var r=e(\"../internals/to-integer-or-infinity\"),s=Math.max,i=Math.min;t.exports=function(e,t){var n=r(e);return n<0?s(n+t,0):i(n,t)}},{\"../internals/to-integer-or-infinity\":111}],109:[function(e,t,n){var r=e(\"../internals/to-integer-or-infinity\"),s=e(\"../internals/to-length\"),i=RangeError;t.exports=function(e){if(void 0===e)return 0;var t=r(e),n=s(t);if(t!==n)throw i(\"Wrong length or index\");return n}},{\"../internals/to-integer-or-infinity\":111,\"../internals/to-length\":112}],110:[function(e,t,n){var r=e(\"../internals/indexed-object\"),s=e(\"../internals/require-object-coercible\");t.exports=function(e){return r(s(e))}},{\"../internals/indexed-object\":61,\"../internals/require-object-coercible\":101}],111:[function(e,t,n){var r=e(\"../internals/math-trunc\");t.exports=function(e){var t=+e;return t!=t||0===t?0:r(t)}},{\"../internals/math-trunc\":78}],112:[function(e,t,n){var r=e(\"../internals/to-integer-or-infinity\"),s=Math.min;t.exports=function(e){return e>0?s(r(e),9007199254740991):0}},{\"../internals/to-integer-or-infinity\":111}],113:[function(e,t,n){var r=e(\"../internals/require-object-coercible\"),s=Object;t.exports=function(e){return s(r(e))}},{\"../internals/require-object-coercible\":101}],114:[function(e,t,n){var r=e(\"../internals/to-positive-integer\"),s=RangeError;t.exports=function(e,t){var n=r(e);if(n%t)throw s(\"Wrong offset\");return n}},{\"../internals/to-positive-integer\":115}],115:[function(e,t,n){var r=e(\"../internals/to-integer-or-infinity\"),s=RangeError;t.exports=function(e){var t=r(e);if(t<0)throw s(\"The argument can't be less than 0\");return t}},{\"../internals/to-integer-or-infinity\":111}],116:[function(e,t,n){var r=e(\"../internals/function-call\"),s=e(\"../internals/is-object\"),i=e(\"../internals/is-symbol\"),o=e(\"../internals/get-method\"),a=e(\"../internals/ordinary-to-primitive\"),l=e(\"../internals/well-known-symbol\"),c=TypeError,u=l(\"toPrimitive\");t.exports=function(e,t){if(!s(e)||i(e))return e;var n,l=o(e,u);if(l){if(void 0===t&&(t=\"default\"),n=r(l,e,t),!s(n)||i(n))return n;throw c(\"Can't convert object to primitive value\")}return void 0===t&&(t=\"number\"),a(e,t)}},{\"../internals/function-call\":47,\"../internals/get-method\":53,\"../internals/is-object\":71,\"../internals/is-symbol\":73,\"../internals/ordinary-to-primitive\":93,\"../internals/well-known-symbol\":127}],117:[function(e,t,n){var r=e(\"../internals/to-primitive\"),s=e(\"../internals/is-symbol\");t.exports=function(e){var t=r(e,\"string\");return s(t)?t:t+\"\"}},{\"../internals/is-symbol\":73,\"../internals/to-primitive\":116}],118:[function(e,t,n){var r={};r[e(\"../internals/well-known-symbol\")(\"toStringTag\")]=\"z\",t.exports=\"[object z]\"===String(r)},{\"../internals/well-known-symbol\":127}],119:[function(e,t,n){var r=e(\"../internals/classof\"),s=String;t.exports=function(e){if(\"Symbol\"===r(e))throw TypeError(\"Cannot convert a Symbol value to a string\");return s(e)}},{\"../internals/classof\":20}],120:[function(e,t,n){var r=String;t.exports=function(e){try{return r(e)}catch(e){return\"Object\"}}},{}],121:[function(e,t,n){\"use strict\";var r=e(\"../internals/export\"),s=e(\"../internals/global\"),i=e(\"../internals/function-call\"),o=e(\"../internals/descriptors\"),a=e(\"../internals/typed-array-constructors-require-wrappers\"),l=e(\"../internals/array-buffer-view-core\"),c=e(\"../internals/array-buffer\"),u=e(\"../internals/an-instance\"),f=e(\"../internals/create-property-descriptor\"),d=e(\"../internals/create-non-enumerable-property\"),p=e(\"../internals/is-integral-number\"),h=e(\"../internals/to-length\"),y=e(\"../internals/to-index\"),m=e(\"../internals/to-offset\"),b=e(\"../internals/to-property-key\"),g=e(\"../internals/has-own-property\"),v=e(\"../internals/classof\"),w=e(\"../internals/is-object\"),x=e(\"../internals/is-symbol\"),j=e(\"../internals/object-create\"),k=e(\"../internals/object-is-prototype-of\"),M=e(\"../internals/object-set-prototype-of\"),P=e(\"../internals/object-get-own-property-names\").f,S=e(\"../internals/typed-array-from\"),_=e(\"../internals/array-iteration\").forEach,I=e(\"../internals/set-species\"),A=e(\"../internals/object-define-property\"),E=e(\"../internals/object-get-own-property-descriptor\"),O=e(\"../internals/internal-state\"),C=e(\"../internals/inherit-if-required\"),T=O.get,R=O.set,D=O.enforce,F=A.f,L=E.f,W=Math.round,z=s.RangeError,U=c.ArrayBuffer,N=U.prototype,q=c.DataView,B=l.NATIVE_ARRAY_BUFFER_VIEWS,V=l.TYPED_ARRAY_TAG,H=l.TypedArray,G=l.TypedArrayPrototype,Y=l.aTypedArrayConstructor,K=l.isTypedArray,$=\"BYTES_PER_ELEMENT\",J=\"Wrong length\",Q=function(e,t){Y(e);for(var n=0,r=t.length,s=new e(r);r>n;)s[n]=t[n++];return s},X=function(e,t){F(e,t,{get:function(){return T(this)[t]}})},Z=function(e){var t;return k(N,e)||\"ArrayBuffer\"==(t=v(e))||\"SharedArrayBuffer\"==t},ee=function(e,t){return K(e)&&!x(t)&&t in e&&p(+t)&&t>=0},te=function(e,t){return t=b(t),ee(e,t)?f(2,e[t]):L(e,t)},ne=function(e,t,n){return t=b(t),!(ee(e,t)&&w(n)&&g(n,\"value\"))||g(n,\"get\")||g(n,\"set\")||n.configurable||g(n,\"writable\")&&!n.writable||g(n,\"enumerable\")&&!n.enumerable?F(e,t,n):(e[t]=n.value,e)};o?(B||(E.f=te,A.f=ne,X(G,\"buffer\"),X(G,\"byteOffset\"),X(G,\"byteLength\"),X(G,\"length\")),r({target:\"Object\",stat:!0,forced:!B},{getOwnPropertyDescriptor:te,defineProperty:ne}),t.exports=function(e,t,n){var o=e.match(/\\d+$/)[0]/8,l=e+(n?\"Clamped\":\"\")+\"Array\",c=\"get\"+e,f=\"set\"+e,p=s[l],b=p,g=b&&b.prototype,v={},x=function(e,t){F(e,t,{get:function(){return function(e,t){var n=T(e);return n.view[c](t*o+n.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var s=T(e);n&&(r=(r=W(r))<0?0:r>255?255:255&r),s.view[f](t*o+s.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};B?a&&(b=t((function(e,t,n,r){return u(e,g),C(w(t)?Z(t)?void 0!==r?new p(t,m(n,o),r):void 0!==n?new p(t,m(n,o)):new p(t):K(t)?Q(b,t):i(S,b,t):new p(y(t)),e,b)})),M&&M(b,H),_(P(p),(function(e){e in b||d(b,e,p[e])})),b.prototype=g):(b=t((function(e,t,n,r){u(e,g);var s,a,l,c=0,f=0;if(w(t)){if(!Z(t))return K(t)?Q(b,t):i(S,b,t);s=t,f=m(n,o);var d=t.byteLength;if(void 0===r){if(d%o)throw z(J);if((a=d-f)<0)throw z(J)}else if((a=h(r)*o)+f>d)throw z(J);l=a/o}else l=y(t),s=new U(a=l*o);for(R(e,{buffer:s,byteOffset:f,byteLength:a,length:l,view:new q(s)});c<l;)x(e,c++)})),M&&M(b,H),g=b.prototype=j(G)),g.constructor!==b&&d(g,\"constructor\",b),D(g).TypedArrayConstructor=b,V&&d(g,V,l);var k=b!=p;v[l]=b,r({global:!0,constructor:!0,forced:k,sham:!B},v),$ in b||d(b,$,o),$ in g||d(g,$,o),I(l)}):t.exports=function(){}},{\"../internals/an-instance\":6,\"../internals/array-buffer\":10,\"../internals/array-buffer-view-core\":9,\"../internals/array-iteration\":13,\"../internals/classof\":20,\"../internals/create-non-enumerable-property\":24,\"../internals/create-property-descriptor\":25,\"../internals/descriptors\":31,\"../internals/export\":41,\"../internals/function-call\":47,\"../internals/global\":55,\"../internals/has-own-property\":56,\"../internals/inherit-if-required\":62,\"../internals/internal-state\":64,\"../internals/is-integral-number\":70,\"../internals/is-object\":71,\"../internals/is-symbol\":73,\"../internals/object-create\":81,\"../internals/object-define-property\":83,\"../internals/object-get-own-property-descriptor\":84,\"../internals/object-get-own-property-names\":85,\"../internals/object-is-prototype-of\":88,\"../internals/object-set-prototype-of\":92,\"../internals/set-species\":102,\"../internals/to-index\":109,\"../internals/to-length\":112,\"../internals/to-offset\":114,\"../internals/to-property-key\":117,\"../internals/typed-array-constructors-require-wrappers\":122,\"../internals/typed-array-from\":123}],122:[function(e,t,n){var r=e(\"../internals/global\"),s=e(\"../internals/fails\"),i=e(\"../internals/check-correctness-of-iteration\"),o=e(\"../internals/array-buffer-view-core\").NATIVE_ARRAY_BUFFER_VIEWS,a=r.ArrayBuffer,l=r.Int8Array;t.exports=!o||!s((function(){l(1)}))||!s((function(){new l(-1)}))||!i((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||s((function(){return 1!==new l(new a(2),1,void 0).length}))},{\"../internals/array-buffer-view-core\":9,\"../internals/check-correctness-of-iteration\":18,\"../internals/fails\":42,\"../internals/global\":55}],123:[function(e,t,n){var r=e(\"../internals/function-bind-context\"),s=e(\"../internals/function-call\"),i=e(\"../internals/a-constructor\"),o=e(\"../internals/to-object\"),a=e(\"../internals/length-of-array-like\"),l=e(\"../internals/get-iterator\"),c=e(\"../internals/get-iterator-method\"),u=e(\"../internals/is-array-iterator-method\"),f=e(\"../internals/array-buffer-view-core\").aTypedArrayConstructor;t.exports=function(e){var t,n,d,p,h,y,m=i(this),b=o(e),g=arguments.length,v=g>1?arguments[1]:void 0,w=void 0!==v,x=c(b);if(x&&!u(x))for(y=(h=l(b,x)).next,b=[];!(p=s(y,h)).done;)b.push(p.value);for(w&&g>2&&(v=r(v,arguments[2])),n=a(b),d=new(f(m))(n),t=0;n>t;t++)d[t]=w?v(b[t],t):b[t];return d}},{\"../internals/a-constructor\":2,\"../internals/array-buffer-view-core\":9,\"../internals/function-bind-context\":45,\"../internals/function-call\":47,\"../internals/get-iterator\":52,\"../internals/get-iterator-method\":51,\"../internals/is-array-iterator-method\":65,\"../internals/length-of-array-like\":76,\"../internals/to-object\":113}],124:[function(e,t,n){var r=e(\"../internals/function-uncurry-this\"),s=0,i=Math.random(),o=r(1..toString);t.exports=function(e){return\"Symbol(\"+(void 0===e?\"\":e)+\")_\"+o(++s+i,36)}},{\"../internals/function-uncurry-this\":49}],125:[function(e,t,n){var r=e(\"../internals/native-symbol\");t.exports=r&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},{\"../internals/native-symbol\":79}],126:[function(e,t,n){var r=e(\"../internals/descriptors\"),s=e(\"../internals/fails\");t.exports=r&&s((function(){return 42!=Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype}))},{\"../internals/descriptors\":31,\"../internals/fails\":42}],127:[function(e,t,n){var r=e(\"../internals/global\"),s=e(\"../internals/shared\"),i=e(\"../internals/has-own-property\"),o=e(\"../internals/uid\"),a=e(\"../internals/native-symbol\"),l=e(\"../internals/use-symbol-as-uid\"),c=s(\"wks\"),u=r.Symbol,f=u&&u.for,d=l?u:u&&u.withoutSetter||o;t.exports=function(e){if(!i(c,e)||!a&&\"string\"!=typeof c[e]){var t=\"Symbol.\"+e;a&&i(u,e)?c[e]=u[e]:c[e]=l&&f?f(t):d(t)}return c[e]}},{\"../internals/global\":55,\"../internals/has-own-property\":56,\"../internals/native-symbol\":79,\"../internals/shared\":106,\"../internals/uid\":124,\"../internals/use-symbol-as-uid\":125}],128:[function(e,t,n){\"use strict\";var r=e(\"../internals/to-indexed-object\"),s=e(\"../internals/add-to-unscopables\"),i=e(\"../internals/iterators\"),o=e(\"../internals/internal-state\"),a=e(\"../internals/object-define-property\").f,l=e(\"../internals/define-iterator\"),c=e(\"../internals/is-pure\"),u=e(\"../internals/descriptors\"),f=\"Array Iterator\",d=o.set,p=o.getterFor(f);t.exports=l(Array,\"Array\",(function(e,t){d(this,{type:f,target:r(e),index:0,kind:t})}),(function(){var e=p(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):\"keys\"==n?{value:r,done:!1}:\"values\"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),\"values\");var h=i.Arguments=i.Array;if(s(\"keys\"),s(\"values\"),s(\"entries\"),!c&&u&&\"values\"!==h.name)try{a(h,\"name\",{value:\"values\"})}catch(e){}},{\"../internals/add-to-unscopables\":4,\"../internals/define-iterator\":30,\"../internals/descriptors\":31,\"../internals/internal-state\":64,\"../internals/is-pure\":72,\"../internals/iterators\":75,\"../internals/object-define-property\":83,\"../internals/to-indexed-object\":110}],129:[function(e,t,n){\"use strict\";var r=e(\"../internals/export\"),s=e(\"../internals/regexp-exec\");r({target:\"RegExp\",proto:!0,forced:/./.exec!==s},{exec:s})},{\"../internals/export\":41,\"../internals/regexp-exec\":96}],130:[function(e,t,n){\"use strict\";var r=e(\"../internals/function-apply\"),s=e(\"../internals/function-call\"),i=e(\"../internals/function-uncurry-this\"),o=e(\"../internals/fix-regexp-well-known-symbol-logic\"),a=e(\"../internals/fails\"),l=e(\"../internals/an-object\"),c=e(\"../internals/is-callable\"),u=e(\"../internals/to-integer-or-infinity\"),f=e(\"../internals/to-length\"),d=e(\"../internals/to-string\"),p=e(\"../internals/require-object-coercible\"),h=e(\"../internals/advance-string-index\"),y=e(\"../internals/get-method\"),m=e(\"../internals/get-substitution\"),b=e(\"../internals/regexp-exec-abstract\"),g=e(\"../internals/well-known-symbol\")(\"replace\"),v=Math.max,w=Math.min,x=i([].concat),j=i([].push),k=i(\"\".indexOf),M=i(\"\".slice),P=\"$0\"===\"a\".replace(/./,\"$0\"),S=!!/./[g]&&\"\"===/./[g](\"a\",\"$0\");o(\"replace\",(function(e,t,n){var i=S?\"$\":\"$0\";return[function(e,n){var r=p(this),i=null==e?void 0:y(e,g);return i?s(i,e,r,n):s(t,d(r),e,n)},function(e,s){var o=l(this),a=d(e);if(\"string\"==typeof s&&-1===k(s,i)&&-1===k(s,\"$<\")){var p=n(t,o,a,s);if(p.done)return p.value}var y=c(s);y||(s=d(s));var g=o.global;if(g){var P=o.unicode;o.lastIndex=0}for(var S=[];;){var _=b(o,a);if(null===_)break;if(j(S,_),!g)break;\"\"===d(_[0])&&(o.lastIndex=h(a,f(o.lastIndex),P))}for(var I,A=\"\",E=0,O=0;O<S.length;O++){for(var C=d((_=S[O])[0]),T=v(w(u(_.index),a.length),0),R=[],D=1;D<_.length;D++)j(R,void 0===(I=_[D])?I:String(I));var F=_.groups;if(y){var L=x([C],R,T,a);void 0!==F&&j(L,F);var W=d(r(s,void 0,L))}else W=m(C,a,T,R,F,s);T>=E&&(A+=M(a,E,T)+W,E=T+C.length)}return A+M(a,E)}]}),!!a((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:\"7\"},e},\"7\"!==\"\".replace(e,\"$<a>\")}))||!P||S)},{\"../internals/advance-string-index\":5,\"../internals/an-object\":7,\"../internals/fails\":42,\"../internals/fix-regexp-well-known-symbol-logic\":43,\"../internals/function-apply\":44,\"../internals/function-call\":47,\"../internals/function-uncurry-this\":49,\"../internals/get-method\":53,\"../internals/get-substitution\":54,\"../internals/is-callable\":67,\"../internals/regexp-exec-abstract\":95,\"../internals/require-object-coercible\":101,\"../internals/to-integer-or-infinity\":111,\"../internals/to-length\":112,\"../internals/to-string\":119,\"../internals/well-known-symbol\":127}],131:[function(e,t,n){e(\"../internals/typed-array-constructor\")(\"Float32\",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},{\"../internals/typed-array-constructor\":121}],132:[function(e,t,n){\"use strict\";var r=e(\"../internals/array-buffer-view-core\"),s=e(\"../internals/typed-array-constructors-require-wrappers\"),i=r.aTypedArrayConstructor;(0,r.exportTypedArrayStaticMethod)(\"of\",(function(){for(var e=0,t=arguments.length,n=new(i(this))(t);t>e;)n[e]=arguments[e++];return n}),s)},{\"../internals/array-buffer-view-core\":9,\"../internals/typed-array-constructors-require-wrappers\":122}],133:[function(e,t,n){\"use strict\";var r=e(\"../internals/global\"),s=e(\"../internals/function-call\"),i=e(\"../internals/array-buffer-view-core\"),o=e(\"../internals/length-of-array-like\"),a=e(\"../internals/to-offset\"),l=e(\"../internals/to-object\"),c=e(\"../internals/fails\"),u=r.RangeError,f=r.Int8Array,d=f&&f.prototype,p=d&&d.set,h=i.aTypedArray,y=i.exportTypedArrayMethod,m=!c((function(){var e=new Uint8ClampedArray(2);return s(p,e,{length:1,0:3},1),3!==e[1]})),b=m&&i.NATIVE_ARRAY_BUFFER_VIEWS&&c((function(){var e=new f(2);return e.set(1),e.set(\"2\",1),0!==e[0]||2!==e[1]}));y(\"set\",(function(e){h(this);var t=a(arguments.length>1?arguments[1]:void 0,1),n=l(e);if(m)return s(p,this,n,t);var r=this.length,i=o(n),c=0;if(i+t>r)throw u(\"Wrong length\");for(;c<i;)this[t+c]=n[c++]}),!m||b)},{\"../internals/array-buffer-view-core\":9,\"../internals/fails\":42,\"../internals/function-call\":47,\"../internals/global\":55,\"../internals/length-of-array-like\":76,\"../internals/to-object\":113,\"../internals/to-offset\":114}],134:[function(e,t,n){\"use strict\";var r=e(\"../internals/global\"),s=e(\"../internals/function-uncurry-this\"),i=e(\"../internals/fails\"),o=e(\"../internals/a-callable\"),a=e(\"../internals/array-sort\"),l=e(\"../internals/array-buffer-view-core\"),c=e(\"../internals/engine-ff-version\"),u=e(\"../internals/engine-is-ie-or-edge\"),f=e(\"../internals/engine-v8-version\"),d=e(\"../internals/engine-webkit-version\"),p=l.aTypedArray,h=l.exportTypedArrayMethod,y=r.Uint16Array,m=y&&s(y.prototype.sort),b=!(!m||i((function(){m(new y(2),null)}))&&i((function(){m(new y(2),{})}))),g=!!m&&!i((function(){if(f)return f<74;if(c)return c<67;if(u)return!0;if(d)return d<602;var e,t,n=new y(516),r=Array(516);for(e=0;e<516;e++)t=e%4,n[e]=515-e,r[e]=e-2*t+3;for(m(n,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(n[e]!==r[e])return!0}));h(\"sort\",(function(e){return void 0!==e&&o(e),g?m(this,e):a(p(this),function(e){return function(t,n){return void 0!==e?+e(t,n)||0:n!=n?-1:t!=t?1:0===t&&0===n?1/t>0&&1/n<0?1:-1:t>n}}(e))}),!g||b)},{\"../internals/a-callable\":1,\"../internals/array-buffer-view-core\":9,\"../internals/array-sort\":15,\"../internals/engine-ff-version\":35,\"../internals/engine-is-ie-or-edge\":36,\"../internals/engine-v8-version\":38,\"../internals/engine-webkit-version\":39,\"../internals/fails\":42,\"../internals/function-uncurry-this\":49,\"../internals/global\":55}],135:[function(e,t,n){e(\"../internals/typed-array-constructor\")(\"Uint8\",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},{\"../internals/typed-array-constructor\":121}],136:[function(e,t,n){e(\"../internals/typed-array-constructor\")(\"Uint8\",(function(e){return function(t,n,r){return e(this,t,n,r)}}),!0)},{\"../internals/typed-array-constructor\":121}],137:[function(e,t,n){var r=e(\"../internals/global\"),s=e(\"../internals/dom-iterables\"),i=e(\"../internals/dom-token-list-prototype\"),o=e(\"../modules/es.array.iterator\"),a=e(\"../internals/create-non-enumerable-property\"),l=e(\"../internals/well-known-symbol\"),c=l(\"iterator\"),u=l(\"toStringTag\"),f=o.values,d=function(e,t){if(e){if(e[c]!==f)try{a(e,c,f)}catch(t){e[c]=f}if(e[u]||a(e,u,t),s[t])for(var n in o)if(e[n]!==o[n])try{a(e,n,o[n])}catch(t){e[n]=o[n]}}};for(var p in s)d(r[p]&&r[p].prototype,p);d(i,\"DOMTokenList\")},{\"../internals/create-non-enumerable-property\":24,\"../internals/dom-iterables\":33,\"../internals/dom-token-list-prototype\":34,\"../internals/global\":55,\"../internals/well-known-symbol\":127,\"../modules/es.array.iterator\":128}],138:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.Build=void 0,n.Build={version:\"0.73.8 (e9fa466fc3c6e8f31a7c83d97c78518a)\",buildSeed:1665757807348,\"wdosbox.wasm\":{size:1462485,gzSize:499437},\"wdosbox.js\":{size:124967,gzSize:32625},\"wlibzip.wasm\":{size:110726,gzSize:51367},\"wlibzip.js\":{size:77090,gzSize:19985}}},{}],139:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(\"core-js/modules/web.dom-collections.iterator.js\"),e(\"core-js/modules/es.typed-array.uint8-array.js\"),e(\"core-js/modules/es.typed-array.set.js\"),e(\"core-js/modules/es.typed-array.sort.js\");var s=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,\"__esModule\",{value:!0});const i=e(\"./dos-conf\"),o=s(e(\"../../libzip/libzip\")),a=e(\"../../http\");n.default=class{constructor(e){r(this,\"config\",void 0),r(this,\"sources\",void 0),r(this,\"libzipWasm\",void 0),this.config=(0,i.createDosConfig)(),this.sources=[],this.libzipWasm=e}autoexec(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.config.autoexec.options.script.value=t.join(\"\\n\"),this}cycles(e){return this.config.cpu.options.cycles.value=e,this}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"/\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"zip\";return this.extractAll([{url:e,path:t,type:n}])}extractAll(e){return this.sources.push(...e),this}async toUint8Array(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t={};await this.libzipWasm.instantiate(t);const n=new o.default(t,\"/home/web_user\"),r=await(0,i.toDosboxConf)(this.config),s=[];for(const e of this.sources){if(\"zip\"!==e.type)throw new Error(\"Only Zip is supported\");const t=(0,a.httpRequest)(e.url,{responseType:\"arraybuffer\"}).then((t=>({source:e,data:new Uint8Array(t)})));s.push(t)}e||(await n.writeFile(\".jsdos/dosbox.conf\",r),await n.writeFile(\".jsdos/readme.txt\",l),await n.writeFile(\".jsdos/jsdos.json\",JSON.stringify(this.config,null,2)));const c=await Promise.all(s);for(const e of c)n.zipToFs(e.data,e.source.path);e&&(await n.writeFile(\".jsdos/dosbox.conf\",r),await n.writeFile(\".jsdos/readme.txt\",l),await n.writeFile(\".jsdos/jsdos.json\",JSON.stringify(this.config,null,2)));const u=await n.zipFromFs();return n.destroy(),u}};const l=\"\\nPlease visit our website:\\n\\n _ __\\n (_)____ ____/ /___ _____ _________ ____ ___\\n / / ___/_____/ __ / __ \\\\/ ___// ___/ __ \\\\/ __ `__ \\\\\\n / (__ )_____/ /_/ / /_/ (__ )/ /__/ /_/ / / / / / /\\n __/ /____/ \\\\__,_/\\\\____/____(_)___/\\\\____/_/ /_/ /_/\\n /___/\\n\"},{\"../../http\":144,\"../../libzip/libzip\":149,\"./dos-conf\":140,\"core-js/modules/es.typed-array.set.js\":133,\"core-js/modules/es.typed-array.sort.js\":134,\"core-js/modules/es.typed-array.uint8-array.js\":135,\"core-js/modules/web.dom-collections.iterator.js\":137}],140:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(\"core-js/modules/web.dom-collections.iterator.js\"),Object.defineProperty(n,\"__esModule\",{value:!0}),n.toDosboxConf=n.createDosConfig=n.AutoexecCategory=n.MixerCategory=n.CpuCategory=n.DosboxCategory=n.OutputCategory=void 0;class s{constructor(){r(this,\"name\",\"sdl\"),r(this,\"description\",\"This section contains all of the low level system settings for how DOSBox interacts with your real hardware. You can define what resolutions are emulated, how DOSBox should treat errors or listen to your keyboard and mouse. You can often achieve a fair level of optimization by working with these setting, though for the most part leaving them at their default settings will create the best experience. These settings are passed on to the SDL Library which handles low level things like input and thread priority.\"),r(this,\"options\",{autolock:{name:\"autolock\",description:\"Mouse will automatically lock, if you click on the screen.\",value:!1,allowedValues:[!0,!1]}})}}n.OutputCategory=s;class i{constructor(){r(this,\"name\",\"dosbox\"),r(this,\"description\",\"The [dosbox] section contains various settings that do not pertain to any other section (e.g. setting the language used in DOSBox help texts, where to store screen captures, etc.)\"),r(this,\"options\",{machine:{name:\"machine\",description:\"The type of machine tries to emulate.\",value:\"svga_s3\",allowedValues:[\"hercules\",\"cga\",\"tandy\",\"pcjr\",\"ega\",\"vgaonly\",\"svga_s3\",\"svga_et3000\",\"svga_et4000\",\"svga_paradise\",\"vesa_nolfb\",\"vesa_oldvbe\"]}})}}n.DosboxCategory=i;class o{constructor(){r(this,\"name\",\"cpu\"),r(this,\"description\",\"The CPU section controls how DOSBox tries to emulate the CPU, how fast the emulation should be, and to adjust it. DOSBox offers 4 different methods of CPU emulation.\"),r(this,\"options\",{core:{name:\"core\",description:\"CPU Core used in emulation. auto will switch to dynamic if available and appropriate.\",value:\"auto\",allowedValues:[\"auto\",\"normal\",\"simple\"]},cputype:{name:\"cputype\",description:\"CPU Type used in emulation. auto is the fastest choice.\",value:\"auto\",allowedValues:[\"auto\",\"386\",\"386_slow\",\"486_slow\",\"pentium_slow\",\"386_prefetch\"]},cycles:{name:\"cycles\",description:\"Amount of instructions DOSBox tries to emulate each millisecond. Setting this value too high results in sound dropouts and lags.\\nCycles can be set in 3 ways:\\n'auto' tries to guess what a game needs.\\n It usually works, but can fail for certain games.\\n'fixed #number' will set a fixed amount of cycles. This is what you usually need if 'auto' fails.\\n (Example: fixed 4000).\\n'max' will allocate as much cycles as your computer is able to handle.\\n\",value:\"auto\",allowedValues:[\"auto\",\"fixed\",\"max\"]}})}}n.CpuCategory=o;class a{constructor(){r(this,\"name\",\"mixer\"),r(this,\"description\",\"Here you can define the quality of emulated audio.\"),r(this,\"options\",{rate:{name:\"rate\",description:\"Frequency rate of sound\",value:44100,allowedValues:[]},nosound:{name:\"nosound\",description:\"Enable silent mode, sound is still emulated though.\",value:!1,allowedValues:[!0,!1]}})}}n.MixerCategory=a;class l{constructor(){r(this,\"name\",\"autoexec\"),r(this,\"description\",\"Lines in this section will be run at startup\"),r(this,\"options\",{script:{name:\"lines\",description:\"Use \\\\n to separate lines\",value:\"\",allowedValues:[]}})}}function c(){return{output:new s,dosbox:new i,cpu:new o,mixer:new a,autoexec:new l}}function u(e,t){const n=\"sdl\"===t.name?\"output\":t.name;return new Promise(((r,s)=>{if(e)if(e.name===t.name){for(const r of Object.keys(e.options)){const i=e.options[r],o=t.options[r];if(void 0===o)return void s(new Error(\"Unknown option '\"+(i.name||r)+\"' in '\"+e.name+\"'\"));if(o.allowedValues.length>0){const t=i.value,a=o.allowedValues.find((e=>e===t));if(\"cpu\"===n&&\"cycles\"===i.name&&(t+\"\").startsWith(\"fixed \")){const e=Number.parseInt(t.substr(\"fixed \".length),10);if(isNaN(e))return void s(new Error(\"Fixed value should conatain number\"))}else if(void 0===a)return void s(new Error(\"Incorrect value '\"+t+\"' (\"+typeof t+\") for '\"+e.name+\".\"+(i.name||r)+\"' allowed is \"+JSON.stringify(o.allowedValues)))}}for(const r of Object.keys(t.options))if(!(r in e.options))return void s(new Error(\"Option '\"+r+\"' is missed in '\"+n+\"'\"));r()}else s(new Error(\"Incorrect category name '\"+e.name+\"' should be '\"+t.name+\"'\"));else s(new Error(\"Category '\"+n+\"' is missed\"))}))}async function f(e,t){if(void 0!==e)for(const n of Object.keys(e.options||{})){const r=e.options[n];if(\"string\"==typeof r||\"number\"==typeof r||Array.isArray(r)){const s=t.options[n];if(!s)continue;const i=r;e.options[n]={...s},e.options[n].value=i}}}function d(e){let t=\"\";t+=\"[\".concat(e.name,\"]\\n\");for(const n of Object.keys(e.options).sort()){const r=e.options[n];t+=\"\".concat(r.name,\"=\").concat(r.value,\"\\n\")}return t}n.AutoexecCategory=l,n.createDosConfig=c,n.toDosboxConf=async function(e){await async function(e){const t=c();for(const n of Object.keys(t))await f(e[n],t[n])}(e),await async function(e){const t=c();for(const n of Object.keys(t))await u(e[n],t[n])}(e);const t=d(e.output)+\"\\nfullscreen=false\\nfulldouble=false\\nfullresolution=original\\nwindowresolution=original\\noutput=surface\\nsensitivity=100\\nwaitonerror=true\\npriority=higher,normal\\nmapperfile=mapper-jsdos.map\\nusescancodes=true\\nvsync=false\\n\"+d(e.dosbox)+\"\\nlanguage=\\ncaptures=capture\\nmemsize=16\\n\"+d(e.cpu)+\"\\ncycleup=10\\ncycledown=20\\n\"+d(e.mixer)+\"\\nblocksize=1024\\nprebuffer=20\\n\\n[render]\\n# frameskip: How many frames DOSBox skips before drawing one.\\n# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.\\n# scaler: Scaler used to enlarge/enhance low resolution modes.\\n# If 'forced' is appended, then the scaler will be used even if the result might not be desired.\\n# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.\\n\\nframeskip=0\\naspect=false\\nscaler=none\\n\\n[midi]\\n# mpu401: Type of MPU-401 to emulate.\\n# Possible values: intelligent, uart, none.\\n# mididevice: Device that will receive the MIDI data from MPU-401.\\n# Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.\\n# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.\\n# See the README/Manual for more details.\\n\\nmpu401=intelligent\\nmididevice=default\\nmidiconfig=\\n\\n[sblaster]\\n# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.\\n# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.\\n# sbbase: The IO address of the soundblaster.\\n# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.\\n# irq: The IRQ number of the soundblaster.\\n# Possible values: 7, 5, 3, 9, 10, 11, 12.\\n# dma: The DMA number of the soundblaster.\\n# Possible values: 1, 5, 0, 3, 6, 7.\\n# hdma: The High DMA number of the soundblaster.\\n# Possible values: 1, 5, 0, 3, 6, 7.\\n# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.\\n# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.\\n# Possible values: auto, cms, opl2, dualopl2, opl3, none.\\n# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).\\n# Possible values: default, compat, fast.\\n# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).\\n# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.\\n\\nsbtype=sb16\\nsbbase=220\\nirq=7\\ndma=1\\nhdma=5\\nsbmixer=true\\noplmode=auto\\noplemu=default\\noplrate=44100\\n\\n[gus]\\n# gus: Enable the Gravis Ultrasound emulation.\\n# gusrate: Sample rate of Ultrasound emulation.\\n# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.\\n# gusbase: The IO base address of the Gravis Ultrasound.\\n# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.\\n# gusirq: The IRQ number of the Gravis Ultrasound.\\n# Possible values: 5, 3, 7, 9, 10, 11, 12.\\n# gusdma: The DMA channel of the Gravis Ultrasound.\\n# Possible values: 3, 0, 1, 5, 6, 7.\\n# ultradir: Path to Ultrasound directory. In this directory\\n# there should be a MIDI directory that contains\\n# the patch files for GUS playback. Patch sets used\\n# with Timidity should work fine.\\n\\ngus=false\\ngusrate=44100\\ngusbase=240\\ngusirq=5\\ngusdma=3\\nultradir=C:\\\\ULTRASND\\n\\n[speaker]\\n# pcspeaker: Enable PC-Speaker emulation.\\n# pcrate: Sample rate of the PC-Speaker sound generation.\\n# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.\\n# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.\\n# Possible values: auto, on, off.\\n# tandyrate: Sample rate of the Tandy 3-Voice generation.\\n# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.\\n# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).\\n\\npcspeaker=true\\npcrate=44100\\ntandy=auto\\ntandyrate=44100\\ndisney=true\\n\\n[joystick]\\n# joysticktype: Type of joystick to emulate: auto (default), none,\\n# 2axis (supports two joysticks),\\n# 4axis (supports one joystick, first joystick used),\\n# 4axis_2 (supports one joystick, second joystick used),\\n# fcs (Thrustmaster), ch (CH Flightstick).\\n# none disables joystick emulation.\\n# auto chooses emulation depending on real joystick(s).\\n# (Remember to reset dosbox's mapperfile if you saved it earlier)\\n# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.\\n# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).\\n# autofire: continuously fires as long as you keep the button pressed.\\n# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.\\n# buttonwrap: enable button wrapping at the number of emulated buttons.\\n\\njoysticktype=auto\\ntimed=true\\nautofire=false\\nswap34=false\\nbuttonwrap=false\\n\\n[serial]\\n# serial1: set type of device connected to com port.\\n# Can be disabled, dummy, modem, nullmodem, directserial.\\n# Additional parameters must be in the same line in the form of\\n# parameter:value. Parameter for all types is irq (optional).\\n# for directserial: realport (required), rxdelay (optional).\\n# (realport:COM1 realport:ttyS0).\\n# for modem: listenport (optional).\\n# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,\\n# transparent, port, inhsocket (all optional).\\n# Example: serial1=modem listenport:5000\\n# Possible values: dummy, disabled, modem, nullmodem, directserial.\\n# serial2: see serial1\\n# Possible values: dummy, disabled, modem, nullmodem, directserial.\\n# serial3: see serial1\\n# Possible values: dummy, disabled, modem, nullmodem, directserial.\\n# serial4: see serial1\\n# Possible values: dummy, disabled, modem, nullmodem, directserial.\\n\\nserial1=dummy\\nserial2=dummy\\nserial3=disabled\\nserial4=disabled\\n\\n[dos]\\n# xms: Enable XMS support.\\n# ems: Enable EMS support.\\n# umb: Enable UMB support.\\n# keyboardlayout: Language code of the keyboard layout (or none).\\n\\nxms=true\\nems=true\\numb=true\\nkeyboardlayout=auto\\n\\n[ipx]\\n# ipx: Enable ipx over UDP/IP emulation.\\n\\nipx=true\\n\"+(n=e.autoexec,\"[autoexec]\\necho off\\nmount c .\\nc:\\n\\ntype jsdos~1/readme.txt\\necho on\\n\\n\".concat(n.options.script.value,\"\\n\\n# Generated using https://js-dos.com\\n# █▀▀▀▀▀█ █ ▄▄▄▀▀█ █▀▀▀▀▀█\\n# █ ███ █ ██▄ █ ▀ ▄ █ ███ █\\n# █ ▀▀▀ █ ▄██ ▀ ▀▀█ █ ▀▀▀ █\\n# ▀▀▀▀▀▀▀ ▀ █▄▀▄▀ █ ▀▀▀▀▀▀▀\\n# █▀▄▄█▀▀▄▄ ▀ ▀█▄▄▄▄ ▀▄█▀█▀\\n# █▀ ▀ ▀▀▄ █▀ ▄ ▄▀▀▀▄ █▀█▄\\n# ▄ ▄▄ █▀▀▄ ▄▀▄▀▀█ ▀▀▄▀▀█▀\\n# ▄▀▀█▀▀ █▀█▀█▀▀▄ ▀██▀█▄\\n# ▀▀▀ ▀ ▀ █▄█ ▀█▄▄█▀▀▀█▀▀\\n# █▀▀▀▀▀█ ▄▄▄ ▄ ▄ █ ▀ █▄▄▄▄\\n# █ ███ █ ▀█▀▀▄▀▀▄████▀▀█▄█\\n# █ ▀▀▀ █ ▄▀▀█▀█▀▄ ▀▀▄▄█▄█\\n# ▀▀▀▀▀▀▀ ▀ ▀▀ ▀ ▀ ▀▀▀\\n\"));var n;return Promise.resolve(t)}},{\"core-js/modules/web.dom-collections.iterator.js\":137}],141:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.dosDirect=void 0;const r=e(\"../../../protocol/messages-queue\");n.dosDirect=async function(e,t){const n=new r.MessagesQueue;let s=n.handler.bind(n);const i={postMessage:(e,t)=>{s(e,t)}},o=e=>{const n=e.data;\"ws-sync-sleep\"===(null==n?void 0:n.name)&&n.props.sessionId===t&&postMessage({name:\"wc-sync-sleep\",props:n.props},\"*\")},a={sessionId:t,sendMessageToServer:(e,t)=>{i.messageHandler({data:{name:e,props:t}})},initMessageHandler:e=>{s=e,n.sendTo(s)},exit:()=>{\"undefined\"!=typeof window&&window.removeEventListener(\"message\",o)}};return a.module=i,\"undefined\"!=typeof window&&window.addEventListener(\"message\",o,{passive:!0}),await e.instantiate(i),i.callMain([t]),a}},{\"../../../protocol/messages-queue\":150}],142:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.dosWorker=void 0;const r=e(\"../../../protocol/messages-queue\");n.dosWorker=async function(e,t,n){const s=new r.MessagesQueue;let i=s.handler.bind(s);const o=new Worker(e);o.onerror=e=>{i(\"ws-err\",{type:e.type,filename:e.filename,message:e.message})},o.onmessage=e=>{const t=e.data;void 0!==(null==t?void 0:t.name)&&i(t.name,t.props)},await t.instantiate({});const a={sessionId:n,sendMessageToServer:(e,t)=>{o.postMessage({name:e,props:t})},initMessageHandler:e=>{i=e,s.sendTo(i)},exit:()=>{o.terminate()}};try{a.sendMessageToServer(\"wc-install\",{module:t.wasmModule,sessionId:n})}catch(e){a.sendMessageToServer(\"wc-install\",{sessionId:n})}return a}},{\"../../../protocol/messages-queue\":150}],143:[function(e,t,n){(function(t){(function(){\"use strict\";var r=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,\"__esModule\",{value:!0}),n.NetworkType=void 0;const s=r(e(\"./impl/emulators-impl\"));!function(e){e[e.NETWORK_DOSBOX_IPX=0]=\"NETWORK_DOSBOX_IPX\"}(n.NetworkType||(n.NetworkType={})),\"undefined\"!=typeof window&&(window.emulators=s.default),void 0!==t&&(t.emulators=s.default)}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./impl/emulators-impl\":146}],144:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(n,\"__esModule\",{value:!0}),n.httpRequest=void 0,n.httpRequest=function(e,t){return new Promise(((n,r)=>{new s(e,{...t,success:n,fail:e=>{r(new Error(e))}})}))};class s{constructor(e,t){if(r(this,\"resource\",void 0),r(this,\"options\",void 0),r(this,\"xhr\",null),r(this,\"total\",0),r(this,\"loaded\",0),this.resource=e,this.options=t,this.options.method=t.method||\"GET\",\"GET\"!==this.options.method)throw new Error(\"Method \"+this.options.method+\" is not supported\");this.makeHttpRequest()}makeHttpRequest(){let e,t;this.xhr=new XMLHttpRequest,this.xhr.open(this.options.method||\"GET\",this.resource,!0),\"POST\"===this.options.method&&this.xhr.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"),this.xhr.overrideMimeType(\"text/plain; charset=x-user-defined\"),\"function\"==typeof(e=this.xhr).addEventListener&&e.addEventListener(\"progress\",(e=>{if(this.total=e.total,this.loaded=e.loaded,this.options.progress)return this.options.progress(e.total,e.loaded)})),\"function\"==typeof(t=this.xhr).addEventListener&&t.addEventListener(\"error\",(()=>{if(this.options.fail)return this.options.fail(\"Unalbe to download '\"+this.resource+\"', code: \"+this.xhr.status),delete this.options.fail})),this.xhr.onreadystatechange=()=>this.onReadyStateChange(),this.options.responseType&&(this.xhr.responseType=this.options.responseType),this.xhr.send(this.options.data)}onReadyStateChange(){const e=this.xhr;if(4===e.readyState)if(200===e.status){if(this.options.success){const t=Math.max(this.total,this.loaded);return void 0!==this.options.progress&&this.options.progress(t,t),this.options.success(e.response)}}else if(this.options.fail)return this.options.fail(\"Unable to download '\"+this.resource+\"', code: \"+e.status),delete this.options.fail}}},{}],145:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(\"core-js/modules/web.dom-collections.iterator.js\"),Object.defineProperty(n,\"__esModule\",{value:!0}),n.CommandInterfaceEventsImpl=void 0;n.CommandInterfaceEventsImpl=class{constructor(){var e=this;r(this,\"onStdoutConsumers\",[]),r(this,\"delayedStdout\",[]),r(this,\"onFrameSizeConsumers\",[]),r(this,\"onFrameConsumers\",[]),r(this,\"onSoundPushConsumers\",[]),r(this,\"onExitConsumers\",[]),r(this,\"onMessageConsumers\",[]),r(this,\"delayedMessages\",[]),r(this,\"onNetworkConnectedConsumers\",[]),r(this,\"onNetworkDisconnectedConsumers\",[]),r(this,\"onStdout\",(e=>{if(this.onStdoutConsumers.push(e),1===this.onStdoutConsumers.length){for(const e of this.delayedStdout)this.fireStdout(e);this.delayedStdout=[]}})),r(this,\"onFrameSize\",(e=>{this.onFrameSizeConsumers.push(e)})),r(this,\"onFrame\",(e=>{this.onFrameConsumers.push(e)})),r(this,\"onSoundPush\",(e=>{this.onSoundPushConsumers.push(e)})),r(this,\"onExit\",(e=>{this.onExitConsumers.push(e)})),r(this,\"onMessage\",(e=>{if(this.onMessageConsumers.push(e),1===this.onMessageConsumers.length){for(const t of this.delayedMessages)e(t.msgType,...t.args);this.delayedMessages=[]}})),r(this,\"fireStdout\",(e=>{if(0!==this.onStdoutConsumers.length)for(const t of this.onStdoutConsumers)t(e);else this.delayedStdout.push(e)})),r(this,\"fireFrameSize\",((e,t)=>{for(const n of this.onFrameSizeConsumers)n(e,t)})),r(this,\"fireFrame\",((e,t)=>{for(const n of this.onFrameConsumers)n(e,t)})),r(this,\"fireSoundPush\",(e=>{for(const t of this.onSoundPushConsumers)t(e)})),r(this,\"fireExit\",(()=>{for(const e of this.onExitConsumers)e();this.onStdoutConsumers=[],this.onFrameSizeConsumers=[],this.onFrameConsumers=[],this.onSoundPushConsumers=[],this.onExitConsumers=[],this.onMessageConsumers=[]})),r(this,\"fireMessage\",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),s=1;s<n;s++)r[s-1]=arguments[s];if(0!==e.onMessageConsumers.length)for(const n of e.onMessageConsumers)n(t,...r);else e.delayedMessages.push({msgType:t,args:r})})),r(this,\"fireNetworkConnected\",((e,t,n)=>{for(const r of this.onNetworkConnectedConsumers)r(e,t,n)})),r(this,\"fireNetworkDisconnected\",(e=>{for(const t of this.onNetworkDisconnectedConsumers)t(e)}))}onNetworkConnected(e){this.onNetworkConnectedConsumers.push(e)}onNetworkDisconnected(e){this.onNetworkDisconnectedConsumers.push(e)}}},{\"core-js/modules/web.dom-collections.iterator.js\":137}],146:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,\"__esModule\",{value:!0});const i=e(\"../build\"),o=e(\"./modules\"),a=s(e(\"../dos/bundle/dos-bundle\")),l=e(\"../dos/dosbox/ts/direct\"),c=e(\"../dos/dosbox/ts/worker\"),u=s(e(\"../janus/janus-impl\")),f=e(\"../protocol/protocol\");const d=new class{constructor(){r(this,\"pathPrefix\",\"\"),r(this,\"version\",i.Build.version),r(this,\"wdosboxJs\",\"wdosbox.js\"),r(this,\"wasmModulesPromise\",void 0)}async dosBundle(){const e=await this.wasmModules(),t=await e.libzip();return new a.default(t)}async dosboxNode(e,t){return this.dosboxDirect(e,t)}async dosboxDirect(e,t){const n=await this.wasmModules(),r=await n.dosbox(),s=await(0,l.dosDirect)(r,\"session-\"+Date.now());return this.backend(e,s,t)}async dosboxWorker(e,t){const n=await this.wasmModules(),r=await n.dosbox(),s=await(0,c.dosWorker)(this.pathPrefix+this.wdosboxJs,r,\"session-\"+Date.now());return this.backend(e,s,t)}async janus(e){return(0,u.default)(e)}async backend(e,t,n){return new Promise(((r,s)=>{const i=new f.CommandInterfaceOverTransportLayer(Array.isArray(e)?e:[e],t,(e=>{null!==e?s(e):setTimeout((()=>r(i)),4)}),n||{})}))}wasmModules(){if(void 0!==this.wasmModulesPromise)return this.wasmModulesPromise;return this.wasmModulesPromise=(async()=>new o.WasmModulesImpl(this.pathPrefix,this.wdosboxJs))(),this.wasmModulesPromise}async dosDirect(e){return this.dosboxDirect(e)}async dosWorker(e){return this.dosboxWorker(e)}};n.default=d},{\"../build\":138,\"../dos/bundle/dos-bundle\":139,\"../dos/dosbox/ts/direct\":141,\"../dos/dosbox/ts/worker\":142,\"../janus/janus-impl\":148,\"../protocol/protocol\":151,\"./modules\":147}],147:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(\"core-js/modules/es.typed-array.of.js\"),e(\"core-js/modules/es.typed-array.uint8-array.js\"),e(\"core-js/modules/es.typed-array.set.js\"),e(\"core-js/modules/es.typed-array.sort.js\"),e(\"core-js/modules/web.dom-collections.iterator.js\"),Object.defineProperty(n,\"__esModule\",{value:!0}),n.loadWasmModule=n.WasmModulesImpl=n.host=void 0;const s=e(\"../http\");n.host=new class{constructor(){if(r(this,\"wasmSupported\",!1),r(this,\"globals\",void 0),this.globals=\"undefined\"==typeof window?{}:window,this.globals.exports||(this.globals.exports={}),this.globals.compiled||(this.globals.compiled={}),\"object\"==typeof WebAssembly&&\"function\"==typeof WebAssembly.instantiate&&\"function\"==typeof WebAssembly.compile){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));e instanceof WebAssembly.Module&&(this.wasmSupported=new WebAssembly.Instance(e)instanceof WebAssembly.Instance)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,t){const n=65535&e,r=65535&t;return n*r+((e>>>16)*r+n*(t>>>16)<<16)|0}),Math.imul=Math.imul,Math.fround||(Math.fround=function(e){return e}),Math.fround=Math.fround,Math.clz32||(Math.clz32=function(e){e>>>=0;for(let t=0;t<32;t++)if(e&1<<31-t)return t;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc}};function i(t,r,i){return\"undefined\"==typeof XMLHttpRequest?function(t,r,s){if(void 0!==n.host.globals.compiled[r])return n.host.globals.compiled[r];const i=e(t),a=Promise.resolve(new o(i));r&&(n.host.globals.compiled[r]=a);return a}(t,r):function(e,t,r){if(void 0!==n.host.globals.compiled[t])return n.host.globals.compiled[t];async function i(){const i=e.lastIndexOf(\"/\"),o=e.indexOf(\"w\",i),l=o===i+1&&o>=0;if(!n.host.wasmSupported||!l)throw new Error(\"Starting from js-dos 6.22.60 js environment is not supported\");const c=e.substr(0,e.lastIndexOf(\".js\"))+\".wasm\",u=(0,s.httpRequest)(c,{responseType:\"arraybuffer\",progress:(t,n)=>{r(\"Resolving DosBox (\"+e+\")\",t,n)}}),f=(0,s.httpRequest)(e,{progress:(e,t)=>{r(\"Resolving DosBox\",e,t)}}),[d,p]=await Promise.all([u,f]),h=await WebAssembly.compile(d),y=(e,t)=>{e.env=e.env||{},WebAssembly.instantiate(h,e).then((e=>t(e,h)))};return eval.call(window,p),new a(h,n.host.globals.exports[t],y)}const o=i();t&&(n.host.globals.compiled[t]=o);return o}(t,r,i)}n.WasmModulesImpl=class{constructor(e,t){r(this,\"pathPrefix\",void 0),r(this,\"wdosboxJs\",void 0),r(this,\"libzipPromise\",void 0),r(this,\"dosboxPromise\",void 0),r(this,\"wasmSupported\",!1),e.length>0&&\"/\"!==e[e.length-1]&&(e+=\"/\"),this.pathPrefix=e,this.wdosboxJs=t}libzip(){return void 0!==this.libzipPromise||(this.libzipPromise=this.loadModule(this.pathPrefix+\"wlibzip.js\",\"WLIBZIP\")),this.libzipPromise}dosbox(){return void 0!==this.dosboxPromise||(this.dosboxPromise=this.loadModule(this.pathPrefix+this.wdosboxJs,\"WDOSBOX\")),this.dosboxPromise}loadModule(e,t){return i(e,t,(()=>{}))}},n.loadWasmModule=i;class o{constructor(e){r(this,\"emModule\",void 0),this.emModule=e}instantiate(e){return new Promise((t=>{e.onRuntimeInitialized=()=>{t()},new this.emModule(e)}))}}class a{constructor(e,t,n){r(this,\"wasmModule\",void 0),r(this,\"module\",void 0),r(this,\"instantiateWasm\",void 0),this.wasmModule=e,this.module=t,this.instantiateWasm=n}instantiate(e){return new Promise((t=>{e.instantiateWasm=this.instantiateWasm,e.onRuntimeInitialized=()=>{t()},new this.module(e)}))}}},{\"../http\":144,\"core-js/modules/es.typed-array.of.js\":132,\"core-js/modules/es.typed-array.set.js\":133,\"core-js/modules/es.typed-array.sort.js\":134,\"core-js/modules/es.typed-array.uint8-array.js\":135,\"core-js/modules/web.dom-collections.iterator.js\":137}],148:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(\"core-js/modules/web.dom-collections.iterator.js\"),e(\"core-js/modules/es.typed-array.uint8-array.js\"),e(\"core-js/modules/es.typed-array.set.js\"),e(\"core-js/modules/es.typed-array.sort.js\"),Object.defineProperty(n,\"__esModule\",{value:!0});const s=e(\"../impl/ci-impl\");function i(e,t){let n=\"\";const r=s=>{const i=s.indexOf(\"\\n\");if(-1===i)n+=s;else{const o=n+s.substr(0,i);n=\"\";try{e(function(e){const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return(new TextDecoder).decode(n)}(o))}catch(e){t(e)}r(s.substr(i+1))}};return r}class o{constructor(e,t){r(this,\"live\",!0),r(this,\"startedAt\",Date.now()),r(this,\"janus\",void 0),r(this,\"eventsImpl\",void 0),r(this,\"exitPromise\",void 0),r(this,\"exitResolveFn\",(()=>{})),r(this,\"configPromise\",void 0),r(this,\"configResolveFn\",(()=>{})),r(this,\"opaqueId\",void 0),r(this,\"handle\",void 0),r(this,\"handlePromise\",void 0),r(this,\"handleResolveFn\",(()=>{})),r(this,\"keyMatrix\",{}),r(this,\"frameWidth\",0),r(this,\"frameHeight\",0),r(this,\"eventQueue\",\"\"),r(this,\"eventIntervalId\",-1),r(this,\"rttIntervalId\",-1),r(this,\"logIntervalId\",-1),r(this,\"logColor\",\"not set\"),r(this,\"logWhiteMs\",0),r(this,\"logRedMs\",0),r(this,\"logYellowMs\",0),r(this,\"onDataMessage\",(e=>{if(e.startsWith(\"config=\"))this.configResolveFn(JSON.parse(e.substr(\"config=\".length)));else if(e.startsWith(\"frame=\")){const[t,n]=e.substr(\"frame=\".length).split(\"x\");this.frameWidth=Number.parseInt(t,10)||0,this.frameHeight=Number.parseInt(n,10)||0}else if(e.startsWith(\"rtt=\")){var t;const[n,r,s]=e.substr(\"rtt=\".length).split(\" \"),i=Number.parseInt(r,10),o=Number.parseInt(s,10),a=Date.now(),l=(null===(t=this.handle)||void 0===t?void 0:t.getBitrate())||\"0 kbits/sec\",c=Number.parseInt(l.split(\" \")[0],10);this.sendPipeMessage(\"rtt-data\",Date.now(),i,o,a,c),n===this.opaqueId&&this.eventsImpl.fireStdout(\"rtt-data=\"+(a-i)+\" \"+c)}else if(e.startsWith(\"log-visual-\"))switch(e){case\"log-visual-white\":this.eventsImpl.fireStdout(\"yellow-frame:\"+(Date.now()-this.logYellowMs));break;case\"log-visual-red\":this.eventsImpl.fireStdout(\"white-frame:\"+(Date.now()-this.logWhiteMs));break;case\"log-visual-yellow\":this.eventsImpl.fireStdout(\"red-frame:\"+(Date.now()-this.logRedMs))}else if(e.startsWith(\"log-command-\"))switch(e){case\"log-command-white\":this.eventsImpl.fireStdout(\"yellow-pipe:\"+(Date.now()-this.logYellowMs));break;case\"log-command-red\":this.eventsImpl.fireStdout(\"white-pipe:\"+(Date.now()-this.logWhiteMs));break;case\"log-command-yellow\":this.eventsImpl.fireStdout(\"red-pipe:\"+(Date.now()-this.logRedMs))}else this.eventsImpl.fireStdout(e)})),r(this,\"onJanusMessage\",((e,t,n)=>{null!=n&&e.createAnswer({jsep:n,media:{audioSend:!1,videoSend:!1,data:!0},success:t=>{this.fireMessage(\"started\"),e.send({message:{request:\"start\"},jsep:t})},error:this.onError})})),r(this,\"onError\",(e=>{this.fireMessage(\"error\",e)})),this.eventsImpl=new s.CommandInterfaceEventsImpl,this.janus=e,this.opaqueId=t,this.exitPromise=new Promise((e=>{this.exitResolveFn=e})),this.configPromise=new Promise((e=>{this.configResolveFn=e})),this.handlePromise=new Promise(((e,t)=>{this.handleResolveFn=n=>{this.handle=n,this.live?(setTimeout((()=>{this.live&&n.data({text:\"pipe \"+this.opaqueId+\" config\"})}),1e3),this.config().then((()=>{this.live&&(this.eventIntervalId=setInterval((()=>{this.sendEventsData(n)}),8),this.rttIntervalId=setInterval((()=>{this.sendPipeMessage(\"rtt\",Date.now())}),1e3))})),e(n)):t(new Error(\"exit() was called\"))}})),this.attach()}fireMessage(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.eventsImpl.fireMessage(e,...n)}attach(){let e;this.janus.attach({plugin:\"janus.plugin.streaming\",opaqueId:this.opaqueId,error:this.onError,success:t=>{e=t,this.fireMessage(\"attached\"),t.send({message:{request:\"watch\",id:1}})},onmessage:(t,n)=>{this.onJanusMessage(e,t,n)},onremotestream:e=>{this.fireMessage(\"onremotestream\",e)},ondataopen:()=>this.handleResolveFn(e),ondata:i(this.onDataMessage,this.onError)})}onDestroyed(){this.fireMessage(\"destroyed\"),this.exitResolveFn()}async config(){return this.configPromise}width(){return this.frameWidth}height(){return this.frameHeight}soundFrequency(){return 44100}screenshot(){return Promise.reject(new Error(\"Not supported\"))}simulateKeyPress(){const e=Date.now()-this.startedAt;for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.forEach((t=>this.addKey(t,!0,e))),n.forEach((t=>this.addKey(t,!1,e+16)))}sendKeyEvent(e,t){this.addKey(e,t,Date.now()-this.startedAt)}addKey(e,t,n){if(!0===this.keyMatrix[e]!==t&&(this.keyMatrix[e]=t,this.sendPipeMessage(\"k\"+(t?\"down\":\"up\"),e,n),-1!==this.logIntervalId&&t))switch(this.logColor){case\"white\":this.logWhiteMs=Date.now();break;case\"red\":this.logRedMs=Date.now();break;case\"yellow\":this.logYellowMs=Date.now()}}sendMouseMotion(e,t){this.sendPipeMessage(\"mmove\",e,t,Date.now()-this.startedAt)}sendMouseRelativeMotion(e,t){throw new Error(\"not implemented\")}sendMouseButton(e,t){this.sendPipeMessage(\"m\"+(t?\"down\":\"up\"),e,Date.now()-this.startedAt)}sendMouseSync(){this.sendPipeMessage(\"msync\",Date.now()-this.startedAt)}logVisual(e){this.sendPipeMessage(\"log-visual-on\");const t=document.createElement(\"canvas\"),n=t.getContext(\"2d\");t.width=1,t.height=1,this.logIntervalId=setInterval((async()=>{var t;const r=Date.now();null==n||n.drawImage(e,0,0,1,1,0,0,1,1);const s=null==n||null===(t=n.getImageData(0,0,1,1))||void 0===t?void 0:t.data,i=Date.now()-r;let o=\"not set\";if(s[0]>200&&s[1]>200&&s[2]>200?o=\"white\":s[0]>200&&s[1]<200&&s[2]<200?o=\"red\":s[0]>200&&s[1]>200&&s[2]<200&&(o=\"yellow\"),o!==this.logColor){switch(o){case\"white\":this.eventsImpl.fireStdout(\"yellow-stream:\"+(Date.now()-this.logYellowMs-i));break;case\"red\":this.eventsImpl.fireStdout(\"white-stream:\"+(Date.now()-this.logWhiteMs-i));break;case\"yellow\":this.eventsImpl.fireStdout(\"red-stream:\"+(Date.now()-this.logRedMs-i))}this.logColor=o}}),16)}sendPipeMessage(){this.eventQueue+=\"pipe \"+this.opaqueId;for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(const e of t)this.eventQueue+=\" \"+e;this.eventQueue+=\"\\n\"}async sendEventsData(e){0!==this.eventQueue.length&&(e.data({text:this.eventQueue}),this.eventQueue=\"\")}persist(){return Promise.reject(new Error(\"Not supported\"))}pause(){console.warn(\"pause/resume is not implemented\")}resume(){}mute(){console.warn(\"mute/unmute is not implemented\")}unmute(){}exit(){return this.live=!1,clearInterval(this.logIntervalId),this.logIntervalId=-1,clearInterval(this.eventIntervalId),this.eventIntervalId=-1,clearInterval(this.rttIntervalId),this.rttIntervalId=-1,this.janus.destroy(),this.exitPromise}events(){return this.eventsImpl}networkConnect(e,t,n){return Promise.reject(\"Not supported\")}networkDisconnect(e){return Promise.reject(\"Not supported\")}}n.default=function(e,t){const n=t||window.Janus;return void 0===n?Promise.reject(new Error(\"Janus is not defined, you should load janus.js before this\")):n.isWebrtcSupported()?new Promise(((t,r)=>{let s=null;const i={error:e=>{null===s?r(e):s.onError(e)},destroyed:()=>{null!==s&&s.onDestroyed()}},a={server:e,success:()=>{s=new o(l,\"js-dos-\"+n.randomString(12)),t(s)},error:i.error,destroyed:i.destroyed,destroyOnUnload:!0},l=new n(a)})):Promise.reject(new Error(\"WebRTC not supported\"))}},{\"../impl/ci-impl\":145,\"core-js/modules/es.typed-array.set.js\":133,\"core-js/modules/es.typed-array.sort.js\":134,\"core-js/modules/es.typed-array.uint8-array.js\":135,\"core-js/modules/web.dom-collections.iterator.js\":137}],149:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(\"core-js/modules/es.typed-array.uint8-array.js\"),e(\"core-js/modules/es.typed-array.set.js\"),e(\"core-js/modules/es.typed-array.sort.js\"),e(\"core-js/modules/es.string.replace.js\"),Object.defineProperty(n,\"__esModule\",{value:!0});n.default=class{constructor(e,t){r(this,\"module\",void 0),r(this,\"home\",void 0),this.module=e,this.home=t,this.module.callMain([]),this.chdirToHome()}zipFromFs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;this.chdirToHome();const t=this.module._zip_from_fs(e);if(0===t)return Promise.reject(new Error(\"Can't create zip, see more info in logs\"));const n=this.module.HEAPU32[t/4],r=this.module.HEAPU8.slice(t+4,t+4+n);return this.module._free(t),Promise.resolve(r)}zipToFs(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"/\";t=this.normalizeFilename(t);const n=this.normalizeFilename(t).split(\"/\");this.createPath(n,0,n.length),this.chdir(t);const r=new Uint8Array(e),s=this.module._malloc(r.length);this.module.HEAPU8.set(r,s);const i=this.module._zip_to_fs(s,r.length);return this.module._free(s),this.chdirToHome(),0===i?Promise.resolve():Promise.reject(new Error(\"Can't extract zip, retcode \"+i+\", see more info in logs\"))}writeFile(e,t){e=this.normalizeFilename(e),t instanceof ArrayBuffer&&(t=new Uint8Array(t));const n=e.split(\"/\");if(0===n.length)throw new Error(\"Can't create file '\"+e+\"', because it's not valid file path\");const r=n[n.length-1].trim();if(0===r.length)throw new Error(\"Can't create file '\"+e+\"', because file name is empty\");const s=this.createPath(n,0,n.length-1);this.module.FS.writeFile(s+\"/\"+r,t)}async readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"utf8\";return e=this.normalizeFilename(e),this.module.FS.readFile(e,{encoding:t})}exists(e){e=this.normalizeFilename(e);try{return this.module.FS.lookupPath(e),!0}catch(e){return!1}}destroy(){try{this.module._libzip_destroy()}catch(e){return e}}normalizeFilename(e){for(e=e.replace(new RegExp(\"^[a-zA-z]+:\"),\"\").replace(new RegExp(\"\\\\\\\\\",\"g\"),\"/\");\"/\"===e[0];)e=e.substr(1);return e}createPath(e,t,n){let r=\".\";for(let s=t;s<n;++s){const t=e[s].trim();0!==t.length&&(this.module.FS.createPath(r,t,!0,!0),r=r+\"/\"+t)}return r}chdirToHome(){this.module.FS.chdir(this.home)}chdir(e){this.module.FS.chdir(this.home+\"/\"+e)}}},{\"core-js/modules/es.string.replace.js\":130,\"core-js/modules/es.typed-array.set.js\":133,\"core-js/modules/es.typed-array.sort.js\":134,\"core-js/modules/es.typed-array.uint8-array.js\":135}],150:[function(e,t,n){\"use strict\";e(\"core-js/modules/web.dom-collections.iterator.js\"),Object.defineProperty(n,\"__esModule\",{value:!0}),n.MessagesQueue=void 0;n.MessagesQueue=class{constructor(){var e,t,n;n=[],(t=\"messages\")in(e=this)?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}handler(e,t){this.messages.push({name:e,props:t})}sendTo(e){for(const t of this.messages)e(t.name,t.props);this.messages=[]}}},{\"core-js/modules/web.dom-collections.iterator.js\":137}],151:[function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e(\"core-js/modules/es.typed-array.uint8-array.js\"),e(\"core-js/modules/es.typed-array.set.js\"),e(\"core-js/modules/es.typed-array.sort.js\"),e(\"core-js/modules/web.dom-collections.iterator.js\"),e(\"core-js/modules/es.typed-array.float32-array.js\"),e(\"core-js/modules/es.typed-array.uint8-clamped-array.js\"),Object.defineProperty(n,\"__esModule\",{value:!0}),n.CommandInterfaceOverTransportLayer=void 0;const s=e(\"../impl/ci-impl\");n.CommandInterfaceOverTransportLayer=class{constructor(e,t,n,i){r(this,\"startedAt\",Date.now()),r(this,\"frameWidth\",0),r(this,\"frameHeight\",0),r(this,\"rgb\",null),r(this,\"rgba\",null),r(this,\"freq\",0),r(this,\"bundles\",void 0),r(this,\"transport\",void 0),r(this,\"ready\",void 0),r(this,\"persistPromise\",void 0),r(this,\"persistResolve\",void 0),r(this,\"exitPromise\",void 0),r(this,\"exitResolve\",void 0),r(this,\"eventsImpl\",new s.CommandInterfaceEventsImpl),r(this,\"keyMatrix\",{}),r(this,\"configPromise\",void 0),r(this,\"configResolve\",(()=>{})),r(this,\"panicMessages\",[]),r(this,\"connectPromise\",null),r(this,\"connectResolve\",(()=>{})),r(this,\"connectReject\",(()=>{})),r(this,\"disconnectPromise\",null),r(this,\"disconnectResolve\",(()=>{})),r(this,\"sharedMemory\",void 0),r(this,\"directSound\",void 0),r(this,\"options\",void 0),this.options=i,this.bundles=e,this.transport=t,this.ready=n,this.configPromise=new Promise((e=>this.configResolve=e)),this.transport.initMessageHandler(this.onServerMessage.bind(this))}sendClientMessage(e,t){(t=t||{}).sessionId=t.sessionId||this.transport.sessionId,this.transport.sendMessageToServer(e,t)}onServerMessage(e,t){if(!(void 0===e||e.length<3||\"w\"!==e[0]||\"s\"!==e[1]||\"-\"!==e[2])&&void 0!==t&&t.sessionId===this.transport.sessionId)switch(e){case\"ws-ready\":this.sharedMemory=t.sharedMemory,this.sendClientMessage(\"wc-run\",{bundles:this.bundles}),delete this.bundles;break;case\"ws-server-ready\":this.panicMessages.length>0?(void 0!==this.transport.exit&&this.transport.exit(),this.ready(new Error(JSON.stringify(this.panicMessages)))):this.ready(null),delete this.ready;break;case\"ws-frame-set-size\":this.onFrameSize(t.width,t.height);break;case\"ws-update-lines\":this.onFrameLines(t.lines,t.rgba);break;case\"ws-exit\":this.onExit();break;case\"ws-log\":this.onLog(t.tag,t.message);break;case\"ws-warn\":this.onWarn(t.tag,t.message);break;case\"ws-err\":this.onErr(t.tag,t.message);break;case\"ws-stdout\":this.onStdout(t.message);break;case\"ws-persist\":this.onPersist(t.bundle);break;case\"ws-sound-init\":this.onSoundInit(t.freq,t.directSound);break;case\"ws-sound-push\":this.onSoundPush(t.samples);break;case\"ws-config\":this.onConfig(JSON.parse(t.content));break;case\"ws-sync-sleep\":this.sendClientMessage(\"wc-sync-sleep\",t);break;case\"ws-connected\":this.connectResolve(),this.connectPromise=null,this.connectResolve=()=>{},this.connectReject=()=>{},this.eventsImpl.fireNetworkConnected(t.networkType,t.address,t.port);break;case\"ws-disconnected\":null!==this.connectPromise?(this.connectReject(),this.connectPromise=null,this.connectResolve=()=>{},this.connectReject=()=>{}):(this.disconnectResolve(),this.disconnectPromise=null,this.disconnectResolve=()=>{}),this.eventsImpl.fireNetworkDisconnected(t.networkType);break;case\"ws-extract-progress\":this.options.onExtractProgress&&this.options.onExtractProgress(t.index,t.file,t.extracted,t.count);break;default:console.log(\"Unknown server message (ws):\",e)}}onConfig(e){this.configResolve(e)}onFrameSize(e,t){this.frameWidth===e&&this.frameHeight===t||(this.frameWidth=e,this.frameHeight=t,void 0===this.sharedMemory&&(this.rgb=new Uint8Array(e*t*3)),this.eventsImpl.fireFrameSize(e,t))}onFrameLines(e,t){if(void 0!==this.sharedMemory)this.rgba=new Uint8Array(this.sharedMemory,t,this.frameWidth*this.frameHeight*4);else for(const t of e)this.rgb.set(t.heapu8,t.start*this.frameWidth*3);this.eventsImpl.fireFrame(this.rgb,this.rgba)}onSoundInit(e,t){if(this.freq=e,this.directSound=t,void 0!==this.directSound)for(let e=0;e<this.directSound.ringSize;++e)this.directSound.buffer[e]=new Float32Array(this.directSound.buffer[e])}onSoundPush(e){this.eventsImpl.fireSoundPush(e)}onLog(e,t){this.eventsImpl.fireMessage(\"log\",\"[\"+e+\"]\"+t)}onWarn(e,t){this.eventsImpl.fireMessage(\"warn\",\"[\"+e+\"]\"+t)}onErr(e,t){\"panic\"===e&&(this.panicMessages.push(t),console.error(\"[\"+e+\"]\"+t)),this.eventsImpl.fireMessage(\"error\",\"[\"+e+\"]\"+t)}onStdout(e){this.eventsImpl.fireStdout(e)}config(){return this.configPromise}width(){return this.frameWidth}height(){return this.frameHeight}soundFrequency(){return this.freq}screenshot(){if(null!==this.rgb||null!==this.rgba){const e=new Uint8ClampedArray(this.frameWidth*this.frameHeight*4),t=null!==this.rgb?this.rgb:this.rgba;let n=0,r=0;for(;r<e.length;)e[r++]=t[n++],e[r++]=t[n++],e[r++]=t[n++],e[r++]=255,t.length===e.length&&n++;return Promise.resolve(new ImageData(e,this.frameWidth,this.frameHeight))}return Promise.reject(new Error(\"No frame received\"))}simulateKeyPress(){const e=Date.now()-this.startedAt;for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.forEach((t=>this.addKey(t,!0,e))),n.forEach((t=>this.addKey(t,!1,e+16)))}sendKeyEvent(e,t){this.addKey(e,t,Date.now()-this.startedAt)}addKey(e,t,n){!0===this.keyMatrix[e]!==t&&(this.keyMatrix[e]=t,this.sendClientMessage(\"wc-add-key\",{key:e,pressed:t,timeMs:n}))}sendMouseMotion(e,t){this.sendClientMessage(\"wc-mouse-move\",{x:e,y:t,relative:!1,timeMs:Date.now()-this.startedAt})}sendMouseRelativeMotion(e,t){this.sendClientMessage(\"wc-mouse-move\",{x:e,y:t,relative:!0,timeMs:Date.now()-this.startedAt})}sendMouseButton(e,t){this.sendClientMessage(\"wc-mouse-button\",{button:e,pressed:t,timeMs:Date.now()-this.startedAt})}sendMouseSync(){this.sendClientMessage(\"wc-mouse-sync\",{timeMs:Date.now()-this.startedAt})}persist(){if(void 0!==this.persistPromise)return this.persistPromise;const e=new Promise((e=>this.persistResolve=e));return this.persistPromise=e,this.sendClientMessage(\"wc-pack-fs-to-bundle\"),e}onPersist(e){this.persistResolve&&(this.persistResolve(e),delete this.persistPromise,delete this.persistResolve)}pause(){this.sendClientMessage(\"wc-pause\")}resume(){this.sendClientMessage(\"wc-resume\")}mute(){this.sendClientMessage(\"wc-mute\")}unmute(){this.sendClientMessage(\"wc-unmute\")}exit(){return void 0!==this.exitPromise||(this.exitPromise=new Promise((e=>this.exitResolve=e)),this.exitPromise.then((()=>{this.events().fireExit()})),this.resume(),this.sendClientMessage(\"wc-exit\")),this.exitPromise}onExit(){void 0!==this.transport.exit&&this.transport.exit(),this.exitResolve&&(this.exitResolve(),delete this.exitPromise,delete this.exitResolve)}events(){return this.eventsImpl}networkConnect(e,t,n){return null!==this.connectPromise||null!==this.disconnectPromise?Promise.reject(new Error(\"Already prefoming connection or disconnection...\")):(this.connectPromise=new Promise(((r,s)=>{t.startsWith(\"wss://\")||t.startsWith(\"ws://\")||(t=(\"http:\"===window.location.protocol?\"ws://\":\"wss://\")+t),this.connectResolve=r,this.connectReject=s,this.sendClientMessage(\"wc-connect\",{networkType:e,address:t,port:n})})),this.connectPromise)}networkDisconnect(e){return null!==this.connectPromise||null!==this.disconnectPromise?Promise.reject(new Error(\"Already prefoming connection or disconnection...\")):(this.disconnectPromise=new Promise((t=>{this.disconnectResolve=t,this.sendClientMessage(\"wc-disconnect\",{networkType:e})})),this.disconnectPromise)}}},{\"../impl/ci-impl\":145,\"core-js/modules/es.typed-array.float32-array.js\":131,\"core-js/modules/es.typed-array.set.js\":133,\"core-js/modules/es.typed-array.sort.js\":134,\"core-js/modules/es.typed-array.uint8-array.js\":135,\"core-js/modules/es.typed-array.uint8-clamped-array.js\":136,\"core-js/modules/web.dom-collections.iterator.js\":137}]},{},[143]);\n\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw $TypeError('Incorrect invocation');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","// eslint-disable-next-line es-x/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es-x/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw $TypeError(tryToString(argument) + ' is not iterable');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar $Array = Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = $Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es-x/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es-x/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es-x/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es-x/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","var $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.23.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.23.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw $RangeError('Wrong length or index');\n return length;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar enforceInternalState = InternalStateModule.enforce;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor;\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor != NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* eslint-disable no-new -- required for testing */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/define-iterator');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float32', function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;\n\n// `%TypedArray%.of` method\n// https://tc39.es/ecma262/#sec-%typedarray%.of\nexportTypedArrayStaticMethod('of', function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = new (aTypedArrayConstructor(this))(length);\n while (length > index) result[index] = arguments[index++];\n return result;\n}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8ClampedArray` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","// # DosBundle\n// Is a complete bundle that contains everything needed to start dosbox server\n\nimport { DosConfig, createDosConfig, toDosboxConf } from \"./dos-conf\";\nimport LibZip from \"../../libzip/libzip\";\n\nimport { httpRequest } from \"../../http\";\n\nimport { WasmModule } from \"../../impl/modules\";\n\n// ### DosArchiveSource\nexport interface DosArchiveSource {\n // source (archive) to download and extract via `extractAll`\n\n // **url** where archive is located\n url: string;\n\n // **path**\n path: string;\n\n // **type**\n type?: \"zip\";\n // archive type, now only Zip is supported\n}\n\nexport default class DosBundle {\n public config: DosConfig;\n public sources: DosArchiveSource[];\n\n private libzipWasm: WasmModule;\n\n constructor(libzipWasm: WasmModule) {\n this.config = createDosConfig();\n this.sources = [];\n this.libzipWasm = libzipWasm;\n }\n\n autoexec(...lines: string[]): DosBundle {\n this.config.autoexec.options.script.value = lines.join(\"\\n\");\n return this;\n }\n\n cycles(cycles: string): DosBundle {\n this.config.cpu.options.cycles.value = cycles;\n return this;\n }\n\n // ### extract\n extract(url: string, path = \"/\", type: \"zip\" = \"zip\"): DosBundle {\n // simplified version of extractAll, works only for one archive. It calls extractAll inside.\n return this.extractAll([{ url, path, type }]);\n }\n\n // ### extractAll\n extractAll(sources: DosArchiveSource[]): DosBundle {\n // eslint-disable-next-line max-len\n // download given [`sources`](https://js-dos.com/6.22/docs/api/generate.html?page=jsdos-bundle#dosfs-dosarchivesource)\n // and extract them\n this.sources.push(...sources);\n return this;\n }\n\n async toUint8Array(overwriteConfig = false): Promise<Uint8Array> {\n const module = {};\n await this.libzipWasm.instantiate(module);\n const libzip = new LibZip(module, \"/home/web_user\");\n const conf = await toDosboxConf(this.config);\n\n const promises = [];\n for (const source of this.sources) {\n if (source.type !== \"zip\") {\n throw new Error(\"Only Zip is supported\");\n }\n\n const resource = httpRequest(source.url, {\n responseType: \"arraybuffer\",\n }).then((buffer: string | ArrayBuffer) => {\n return {\n source,\n data: new Uint8Array(buffer as ArrayBuffer),\n };\n });\n\n promises.push(resource);\n }\n\n if (!overwriteConfig) {\n await libzip.writeFile(\".jsdos/dosbox.conf\", conf);\n await libzip.writeFile(\".jsdos/readme.txt\", readmeTxt);\n await libzip.writeFile(\".jsdos/jsdos.json\", JSON.stringify(this.config, null, 2));\n }\n\n const resources = await Promise.all(promises);\n for (const resource of resources) {\n libzip.zipToFs(resource.data, resource.source.path);\n }\n\n if (overwriteConfig) {\n await libzip.writeFile(\".jsdos/dosbox.conf\", conf);\n await libzip.writeFile(\".jsdos/readme.txt\", readmeTxt);\n await libzip.writeFile(\".jsdos/jsdos.json\", JSON.stringify(this.config, null, 2));\n }\n\n const bundle = await libzip.zipFromFs();\n libzip.destroy();\n\n return bundle;\n }\n}\n\n\nconst readmeTxt = `\nPlease visit our website:\n\n _ __\n (_)____ ____/ /___ _____ _________ ____ ___\n / / ___/_____/ __ / __ \\\\/ ___// ___/ __ \\\\/ __ \\`__ \\\\\n / (__ )_____/ /_/ / /_/ (__ )/ /__/ /_/ / / / / / /\n __/ /____/ \\\\__,_/\\\\____/____(_)___/\\\\____/_/ /_/ /_/\n /___/\n`;\n","// # jsdos config\n// is a builder that create dosbox.conf for your\n\nexport type DosConfigValue = string | number | boolean;\n\nexport interface DosConfigOption {\n name: string,\n description: string,\n value: DosConfigValue,\n allowedValues: DosConfigValue[],\n}\n\nexport type DosCategoryOptions = { [name: string]: DosConfigOption };\n\nexport interface DosConfigCategory {\n name: string,\n description: string,\n options: DosCategoryOptions,\n}\n\nexport class OutputCategory implements DosConfigCategory {\n name = \"sdl\";\n // eslint-disable-next-line max-len\n description = \"This section contains all of the low level system settings for how DOSBox interacts with your real hardware. You can define what resolutions are emulated, how DOSBox should treat errors or listen to your keyboard and mouse. You can often achieve a fair level of optimization by working with these setting, though for the most part leaving them at their default settings will create the best experience. These settings are passed on to the SDL Library which handles low level things like input and thread priority.\";\n options = {\n autolock: {\n name: \"autolock\",\n description: \"Mouse will automatically lock, if you click on the screen.\",\n value: false,\n allowedValues: [true, false],\n },\n };\n}\n\nexport class DosboxCategory implements DosConfigCategory {\n name = \"dosbox\";\n // eslint-disable-next-line max-len\n description = \"The [dosbox] section contains various settings that do not pertain to any other section (e.g. setting the language used in DOSBox help texts, where to store screen captures, etc.)\";\n options = {\n machine: {\n name: \"machine\",\n description: \"The type of machine tries to emulate.\",\n value: \"svga_s3\",\n // eslint-disable-next-line max-len\n allowedValues: [\"hercules\", \"cga\", \"tandy\", \"pcjr\", \"ega\", \"vgaonly\", \"svga_s3\", \"svga_et3000\", \"svga_et4000\", \"svga_paradise\", \"vesa_nolfb\", \"vesa_oldvbe\"],\n },\n };\n}\n\nexport class CpuCategory implements DosConfigCategory {\n name = \"cpu\";\n // eslint-disable-next-line max-len\n description = \"The CPU section controls how DOSBox tries to emulate the CPU, how fast the emulation should be, and to adjust it. DOSBox offers 4 different methods of CPU emulation.\";\n options = {\n core: {\n name: \"core\",\n description: \"CPU Core used in emulation. auto will switch to dynamic if available and appropriate.\",\n value: \"auto\",\n allowedValues: [\"auto\", \"normal\", \"simple\"],\n },\n cputype: {\n name: \"cputype\",\n description: \"CPU Type used in emulation. auto is the fastest choice.\",\n value: \"auto\",\n allowedValues: [\"auto\", \"386\", \"386_slow\", \"486_slow\", \"pentium_slow\", \"386_prefetch\"],\n },\n cycles: {\n name: \"cycles\",\n // eslint-disable-next-line max-len\n description: `Amount of instructions DOSBox tries to emulate each millisecond. Setting this value too high results in sound dropouts and lags.\nCycles can be set in 3 ways:\n'auto' tries to guess what a game needs.\n It usually works, but can fail for certain games.\n'fixed #number' will set a fixed amount of cycles. This is what you usually need if 'auto' fails.\n (Example: fixed 4000).\n'max' will allocate as much cycles as your computer is able to handle.\n`,\n value: \"auto\",\n allowedValues: [\"auto\", \"fixed\", \"max\"],\n },\n };\n}\n\nexport class MixerCategory implements DosConfigCategory {\n name = \"mixer\";\n description = \"Here you can define the quality of emulated audio.\";\n options = {\n rate: {\n name: \"rate\",\n description: \"Frequency rate of sound\",\n value: 44100,\n allowedValues: [],\n },\n nosound: {\n name: \"nosound\",\n description: \"Enable silent mode, sound is still emulated though.\",\n value: false,\n allowedValues: [true, false],\n },\n };\n}\n\nexport class AutoexecCategory implements DosConfigCategory {\n name = \"autoexec\";\n description = \"Lines in this section will be run at startup\";\n options = {\n script: {\n name: \"lines\",\n description: \"Use \\\\n to separate lines\",\n value: \"\",\n allowedValues: [],\n },\n };\n}\n\nexport interface DosConfig {\n output: OutputCategory,\n dosbox: DosboxCategory,\n cpu: CpuCategory,\n mixer: MixerCategory,\n autoexec: AutoexecCategory,\n}\n\nexport function createDosConfig(): DosConfig {\n return {\n output: new OutputCategory(),\n dosbox: new DosboxCategory(),\n cpu: new CpuCategory(),\n mixer: new MixerCategory(),\n autoexec: new AutoexecCategory(),\n };\n}\n\nfunction validateCategory(category: DosConfigCategory, valid: DosConfigCategory): Promise<void> {\n const categoryName = valid.name === \"sdl\" ? \"output\" : valid.name;\n return new Promise<void>((resolve, reject) => {\n if (!category) {\n reject(new Error(\"Category '\" + categoryName + \"' is missed\"));\n return;\n }\n\n if (category.name !== valid.name) {\n reject(new Error(\"Incorrect category name '\" + category.name + \"' should be '\" +\n valid.name + \"'\"));\n return;\n }\n\n for (const key of Object.keys(category.options)) {\n const next = category.options[key];\n const validOption = valid.options[key];\n if (validOption === undefined) {\n reject(new Error(\"Unknown option '\" + (next.name || key) + \"' in '\" + category.name + \"'\"));\n return;\n }\n\n if (validOption.allowedValues.length > 0) {\n const value = next.value;\n const allowedValue = validOption.allowedValues.find((v) => v === value);\n\n if (categoryName === \"cpu\" &&\n next.name === \"cycles\" &&\n (value + \"\").startsWith(\"fixed \")) {\n const num = Number.parseInt((value as string).substr(\"fixed \".length), 10);\n if (isNaN(num)) {\n reject(new Error(\"Fixed value should conatain number\"));\n return;\n }\n } else if (allowedValue === undefined) {\n reject(new Error(\"Incorrect value '\" + value + \"' (\" + (typeof value) + \") for '\" + category.name +\n \".\" + (next.name || key) + \"' allowed is \" + JSON.stringify(validOption.allowedValues)));\n return;\n }\n }\n }\n\n for (const key of Object.keys(valid.options)) {\n if (!(key in category.options)) {\n reject(new Error(\"Option '\" + key + \"' is missed in '\" + categoryName + \"'\"));\n return;\n }\n }\n\n resolve();\n });\n}\n\nasync function validateConfig(config: DosConfig): Promise<any> {\n const valid = createDosConfig();\n for (const category of Object.keys(valid)) {\n await validateCategory((config as any)[category], (valid as any)[category]);\n }\n}\n\nasync function normalizeCategory(category: DosConfigCategory, valid: DosConfigCategory) {\n if (category === undefined) {\n return;\n }\n\n for (const key of Object.keys(category.options || {})) {\n const option = category.options[key];\n if (typeof option === \"string\" ||\n typeof option === \"number\" ||\n Array.isArray(option)) {\n const validCategory = valid.options[key];\n if (!validCategory) {\n continue;\n }\n\n const value: any = option;\n category.options[key] = { ...validCategory };\n category.options[key].value = value;\n }\n }\n}\n\nasync function normalizeConfig(config: DosConfig): Promise<any> {\n const valid = createDosConfig();\n for (const category of Object.keys(valid)) {\n await normalizeCategory((config as any)[category], (valid as any)[category]);\n }\n}\n\nexport async function toDosboxConf(config: DosConfig): Promise<string> {\n await normalizeConfig(config);\n await validateConfig(config);\n\n const content =\n writeCategory(config.output) +\n writeOutputDefaults() +\n writeCategory(config.dosbox) +\n writeDosboxDefaults() +\n writeCategory(config.cpu) +\n writeCpuDefaults() +\n writeCategory(config.mixer) +\n writeMixerDefaults() +\n writeOtherDefaults() +\n writeAutoexec(config.autoexec);\n\n\n return Promise.resolve(content);\n}\n\nfunction writeCategory(section: DosConfigCategory): string {\n let body = \"\";\n\n body += `[${section.name}]\\n`;\n for (const key of Object.keys(section.options).sort()) {\n const next = section.options[key];\n body += `${next.name}=${next.value}\\n`;\n }\n\n return body;\n}\n\nfunction writeAutoexec(section: AutoexecCategory): string {\n return `[autoexec]\necho off\nmount c .\nc:\n\ntype jsdos~1/readme.txt\necho on\n\n${section.options.script.value}\n\n# Generated using https://js-dos.com\n# █▀▀▀▀▀█ █ ▄▄▄▀▀█ █▀▀▀▀▀█\n# █ ███ █ ██▄ █ ▀ ▄ █ ███ █\n# █ ▀▀▀ █ ▄██ ▀ ▀▀█ █ ▀▀▀ █\n# ▀▀▀▀▀▀▀ ▀ █▄▀▄▀ █ ▀▀▀▀▀▀▀\n# █▀▄▄█▀▀▄▄ ▀ ▀█▄▄▄▄ ▀▄█▀█▀\n# █▀ ▀ ▀▀▄ █▀ ▄ ▄▀▀▀▄ █▀█▄\n# ▄ ▄▄ █▀▀▄ ▄▀▄▀▀█ ▀▀▄▀▀█▀\n# ▄▀▀█▀▀ █▀█▀█▀▀▄ ▀██▀█▄\n# ▀▀▀ ▀ ▀ █▄█ ▀█▄▄█▀▀▀█▀▀\n# █▀▀▀▀▀█ ▄▄▄ ▄ ▄ █ ▀ █▄▄▄▄\n# █ ███ █ ▀█▀▀▄▀▀▄████▀▀█▄█\n# █ ▀▀▀ █ ▄▀▀█▀█▀▄ ▀▀▄▄█▄█\n# ▀▀▀▀▀▀▀ ▀ ▀▀ ▀ ▀ ▀▀▀\n`;\n}\n\nfunction writeOutputDefaults() {\n return `\nfullscreen=false\nfulldouble=false\nfullresolution=original\nwindowresolution=original\noutput=surface\nsensitivity=100\nwaitonerror=true\npriority=higher,normal\nmapperfile=mapper-jsdos.map\nusescancodes=true\nvsync=false\n`;\n}\n\nfunction writeDosboxDefaults() {\n return `\nlanguage=\ncaptures=capture\nmemsize=16\n`;\n}\n\nfunction writeCpuDefaults() {\n return `\ncycleup=10\ncycledown=20\n`;\n}\n\nfunction writeMixerDefaults() {\n return `\nblocksize=1024\nprebuffer=20\n`;\n}\n\nfunction writeOtherDefaults() {\n /* eslint-disable max-len */\n return `\n[render]\n# frameskip: How many frames DOSBox skips before drawing one.\n# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.\n# scaler: Scaler used to enlarge/enhance low resolution modes.\n# If 'forced' is appended, then the scaler will be used even if the result might not be desired.\n# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.\n\nframeskip=0\naspect=false\nscaler=none\n\n[midi]\n# mpu401: Type of MPU-401 to emulate.\n# Possible values: intelligent, uart, none.\n# mididevice: Device that will receive the MIDI data from MPU-401.\n# Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.\n# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.\n# See the README/Manual for more details.\n\nmpu401=intelligent\nmididevice=default\nmidiconfig=\n\n[sblaster]\n# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.\n# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.\n# sbbase: The IO address of the soundblaster.\n# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.\n# irq: The IRQ number of the soundblaster.\n# Possible values: 7, 5, 3, 9, 10, 11, 12.\n# dma: The DMA number of the soundblaster.\n# Possible values: 1, 5, 0, 3, 6, 7.\n# hdma: The High DMA number of the soundblaster.\n# Possible values: 1, 5, 0, 3, 6, 7.\n# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.\n# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.\n# Possible values: auto, cms, opl2, dualopl2, opl3, none.\n# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).\n# Possible values: default, compat, fast.\n# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).\n# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.\n\nsbtype=sb16\nsbbase=220\nirq=7\ndma=1\nhdma=5\nsbmixer=true\noplmode=auto\noplemu=default\noplrate=44100\n\n[gus]\n# gus: Enable the Gravis Ultrasound emulation.\n# gusrate: Sample rate of Ultrasound emulation.\n# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.\n# gusbase: The IO base address of the Gravis Ultrasound.\n# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.\n# gusirq: The IRQ number of the Gravis Ultrasound.\n# Possible values: 5, 3, 7, 9, 10, 11, 12.\n# gusdma: The DMA channel of the Gravis Ultrasound.\n# Possible values: 3, 0, 1, 5, 6, 7.\n# ultradir: Path to Ultrasound directory. In this directory\n# there should be a MIDI directory that contains\n# the patch files for GUS playback. Patch sets used\n# with Timidity should work fine.\n\ngus=false\ngusrate=44100\ngusbase=240\ngusirq=5\ngusdma=3\nultradir=C:\\\\ULTRASND\n\n[speaker]\n# pcspeaker: Enable PC-Speaker emulation.\n# pcrate: Sample rate of the PC-Speaker sound generation.\n# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.\n# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.\n# Possible values: auto, on, off.\n# tandyrate: Sample rate of the Tandy 3-Voice generation.\n# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.\n# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).\n\npcspeaker=true\npcrate=44100\ntandy=auto\ntandyrate=44100\ndisney=true\n\n[joystick]\n# joysticktype: Type of joystick to emulate: auto (default), none,\n# 2axis (supports two joysticks),\n# 4axis (supports one joystick, first joystick used),\n# 4axis_2 (supports one joystick, second joystick used),\n# fcs (Thrustmaster), ch (CH Flightstick).\n# none disables joystick emulation.\n# auto chooses emulation depending on real joystick(s).\n# (Remember to reset dosbox's mapperfile if you saved it earlier)\n# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.\n# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).\n# autofire: continuously fires as long as you keep the button pressed.\n# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.\n# buttonwrap: enable button wrapping at the number of emulated buttons.\n\njoysticktype=auto\ntimed=true\nautofire=false\nswap34=false\nbuttonwrap=false\n\n[serial]\n# serial1: set type of device connected to com port.\n# Can be disabled, dummy, modem, nullmodem, directserial.\n# Additional parameters must be in the same line in the form of\n# parameter:value. Parameter for all types is irq (optional).\n# for directserial: realport (required), rxdelay (optional).\n# (realport:COM1 realport:ttyS0).\n# for modem: listenport (optional).\n# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,\n# transparent, port, inhsocket (all optional).\n# Example: serial1=modem listenport:5000\n# Possible values: dummy, disabled, modem, nullmodem, directserial.\n# serial2: see serial1\n# Possible values: dummy, disabled, modem, nullmodem, directserial.\n# serial3: see serial1\n# Possible values: dummy, disabled, modem, nullmodem, directserial.\n# serial4: see serial1\n# Possible values: dummy, disabled, modem, nullmodem, directserial.\n\nserial1=dummy\nserial2=dummy\nserial3=disabled\nserial4=disabled\n\n[dos]\n# xms: Enable XMS support.\n# ems: Enable EMS support.\n# umb: Enable UMB support.\n# keyboardlayout: Language code of the keyboard layout (or none).\n\nxms=true\nems=true\numb=true\nkeyboardlayout=auto\n\n[ipx]\n# ipx: Enable ipx over UDP/IP emulation.\n\nipx=true\n`;\n\n /* eslint-enable max-len */\n}\n","import { WasmModule } from \"../../../impl/modules\";\nimport { TransportLayer, MessageHandler, ClientMessage, ServerMessage } from \"../../../protocol/protocol\";\nimport { MessagesQueue } from \"../../../protocol/messages-queue\";\n\nexport async function dosDirect(wasmModule: WasmModule, sessionId: string): Promise<TransportLayer> {\n const messagesQueue = new MessagesQueue();\n let handler: MessageHandler = messagesQueue.handler.bind(messagesQueue);\n\n const module: any = {};\n\n module.postMessage = (name: ServerMessage, props: {[key: string]: any}) => {\n handler(name, props);\n };\n\n const sleepHandler = (e: MessageEvent) => {\n const data = e.data;\n if (data?.name === \"ws-sync-sleep\" && data.props.sessionId === sessionId) {\n postMessage({ name: \"wc-sync-sleep\", props: data.props }, \"*\");\n }\n };\n\n const transportLayer: TransportLayer = {\n sessionId,\n sendMessageToServer: (name: ClientMessage, props?: {[key: string]: any}) => {\n module.messageHandler({ data: { name, props } });\n },\n initMessageHandler: (newHandler: MessageHandler) => {\n handler = newHandler;\n messagesQueue.sendTo(handler);\n },\n exit: () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"message\", sleepHandler);\n }\n },\n };\n\n (transportLayer as any).module = module;\n\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"message\", sleepHandler, { passive: true });\n }\n\n await wasmModule.instantiate(module);\n module.callMain([sessionId]);\n\n return transportLayer;\n}\n","import { WasmModule } from \"../../../impl/modules\";\nimport { TransportLayer, MessageHandler, ClientMessage } from \"../../../protocol/protocol\";\nimport { MessagesQueue } from \"../../../protocol/messages-queue\";\n\nexport async function dosWorker(workerUrl: string,\n wasmModule: WasmModule,\n sessionId: string): Promise<TransportLayer> {\n const messagesQueue = new MessagesQueue();\n let handler: MessageHandler = messagesQueue.handler.bind(messagesQueue);\n\n const worker = new Worker(workerUrl);\n worker.onerror = (e) => {\n handler(\"ws-err\", { type: e.type, filename: e.filename, message: e.message });\n };\n worker.onmessage = (e) => {\n const data = e.data;\n if (data?.name !== undefined) {\n handler(data.name, data.props);\n }\n };\n\n await wasmModule.instantiate({});\n\n const transportLayer: TransportLayer = {\n sessionId,\n sendMessageToServer: (name: ClientMessage, props?: {[key: string]: any}) => {\n worker.postMessage({ name, props });\n },\n initMessageHandler: (newHandler: MessageHandler) => {\n handler = newHandler;\n messagesQueue.sendTo(handler);\n },\n exit: () => {\n worker.terminate();\n },\n };\n\n try {\n transportLayer.sendMessageToServer(\"wc-install\", {\n module: (wasmModule as any).wasmModule,\n sessionId,\n });\n } catch (e) {\n transportLayer.sendMessageToServer(\"wc-install\", { sessionId });\n }\n\n return transportLayer;\n}\n","import DosBundle from \"./dos/bundle/dos-bundle\";\nimport emulatorsImpl from \"./impl/emulators-impl\";\n\nimport { DosConfig } from \"./dos/bundle/dos-conf\";\nimport { TransportLayer } from \"./protocol/protocol\";\n\n/* eslint-disable no-unused-vars */\nexport enum NetworkType {\n NETWORK_DOSBOX_IPX = 0,\n}\n/* eslint-enable no-unused-vars */\n\nexport interface BackendOptions {\n onExtractProgress?: (bundleIndex: number, file: string, extracted: number, total: number) => void;\n}\n\nexport interface Emulators {\n // * pathPrefix - by default emulators will load wasm modules relatively from current path,\n // you should specify path prefix if you want to load them from different place\n pathPrefix: string;\n\n // * version - version of emulators build\n version: string;\n\n // * wdosboxJs - a file name to load\n wdosboxJs: string;\n\n // * dosBundle - create empty DosBundle\n dosBundle: () => Promise<DosBundle>;\n\n // * dosboxNode - createDOSBOX Node emulator backend\n dosboxNode: (bundle: Uint8Array | Uint8Array[], options?: BackendOptions) => Promise<CommandInterface>;\n\n // * dosboxDirect - create DOSBOX Direct emulator backend\n dosboxDirect: (bundle: Uint8Array | Uint8Array[], options?: BackendOptions) => Promise<CommandInterface>;\n\n // * dosboxWorker - create DOSBOX Worker emulator backend\n dosboxWorker: (bundle: Uint8Array | Uint8Array[], options?: BackendOptions) => Promise<CommandInterface>;\n\n // * janus - create janus backend for given url\n janus: (restUrl: string) => Promise<CommandInterface>;\n\n // * backend - create abstract emulation backend by given TransportLayer\n backend: (bundle: Uint8Array | Uint8Array[], transportLayer: TransportLayer,\n options?: BackendOptions) => Promise<CommandInterface>;\n}\n\nexport interface DirectSound {\n ringSize: number,\n bufferSize: number,\n buffer: Float32Array[],\n}\n\nexport interface CommandInterface {\n // * get bundle config\n config: () => Promise<DosConfig>;\n\n // * current render buffer width\n height: () => number;\n\n // * current render buffer height\n width: () => number;\n\n // * sound frequency\n soundFrequency: () => number;\n\n // * `screenshot()` - get screnshot of canvas as ImageData\n screenshot: () => Promise<ImageData>;\n\n // * `pause()` - pause emulation (also mute all sounds)\n pause: () => void;\n\n // * `resume()` - resume emulation (also unmute all sounds)\n resume: () => void;\n\n // * `mute()` - mute all sounds\n mute: () => void;\n\n // * `unmute()` - unmute all sounds\n unmute: () => void;\n\n // * `exit()` - exit from runtime\n exit: () => Promise<void>;\n\n // * `simulateKeyPress(...keyCodes)` - allows to simulate key press **AND** release event for key code\n // see `sendKeyPress` to find meaning of keyCode. Key combination is supported when more than 1 keyCode is set.\n simulateKeyPress: (...keyCodes: number[]) => void;\n\n // * `sendKeyEvent(keyCode, pressed)` - sends single key (press or release) event to backend\n sendKeyEvent: (keyCode: number, pressed: boolean) => void;\n\n // * `sendMouseMotion` - sends mouse motion event to backend, position is in range [0, 1]\n sendMouseMotion: (x: number, y: number) => void;\n\n // * `sendRelativeMotion` - sends mouse motion event to backend, position is absolute diff of position\n sendMouseRelativeMotion: (x: number, y: number) => void;\n\n // * `simulateMouseButton` - sends mouse button event (press or release) to backend\n sendMouseButton: (button: number, pressed: boolean) => void;\n\n // * `sendMouseSync` - sends mouse sync event\n sendMouseSync: () => void;\n\n // dump **changed** FS as Uint8Array <zip archive>\n persist(): Promise<Uint8Array>;\n\n // events\n events(): CommandInterfaceEvents;\n\n networkConnect(networkType: NetworkType, address: string, port: number): Promise<void>;\n\n networkDisconnect(networkType: NetworkType): Promise<void>;\n\n sharedMemory?: SharedArrayBuffer;\n\n directSound?: DirectSound;\n}\n\nexport type MessageType = \"log\" | \"warn\" | \"error\" | string;\n\nexport interface CommandInterfaceEvents {\n onStdout: (consumer: (message: string) => void) => void;\n onFrameSize: (consumer: (width: number, height: number) => void) => void;\n onFrame: (consumer: (rgb: Uint8Array | null, rgba: Uint8Array | null) => void) => void;\n onSoundPush: (consumer: (samples: Float32Array) => void) => void;\n onExit: (consumer: () => void) => void;\n\n onMessage: (consumer: (msgType: MessageType, ...args: any[]) => void) => void;\n\n onNetworkConnected: (consumer: (networkType: NetworkType, address: string, port: number) => void) => void;\n onNetworkDisconnected: (consumer: (networkType: NetworkType) => void) => void;\n}\n\nif (typeof window !== \"undefined\") {\n (window as any).emulators = emulatorsImpl;\n} if (typeof global !== \"undefined\") {\n (global as any).emulators = emulatorsImpl;\n}\n","export interface XhrOptions {\n method?: string;\n progress?: (total: number, loaded: number) => void;\n data?: string;\n responseType?: XMLHttpRequestResponseType;\n}\n\nexport const httpRequest = XhrRequest;\n\n// # XhrRequest\n// `XhrRequest` is small wrapper over XMLHttpRequest, that provides some\n// handy methods\nfunction XhrRequest(url: string, options: XhrOptions): Promise<string | ArrayBuffer> {\n return new Promise<string | ArrayBuffer>((resolve, reject) => {\n new Xhr(url, {\n ...options,\n success: resolve,\n fail: (message: string) => {\n reject(new Error(message));\n },\n });\n });\n}\n\n// private implementation\ninterface XhrOptionsInternal extends XhrOptions {\n success?: (response: any) => void;\n fail?: (message: string) => void;\n}\n// * `success` - callback when resource is downloaded\n// * `fail` - fail callback\n\n\n// Class Xhr does not have any public methods\nclass Xhr {\n private resource: string;\n private options: XhrOptionsInternal;\n private xhr: XMLHttpRequest | null = null;\n private total = 0;\n private loaded = 0;\n\n constructor(url: string, options: XhrOptionsInternal) {\n this.resource = url;\n this.options = options;\n this.options.method = options.method || \"GET\";\n\n if (this.options.method !== \"GET\") {\n throw new Error(\"Method \" + this.options.method + \" is not supported\");\n }\n\n this.makeHttpRequest();\n }\n\n private makeHttpRequest() {\n this.xhr = new XMLHttpRequest();\n this.xhr.open(this.options.method || \"GET\", this.resource, true);\n if (this.options.method === \"POST\") {\n this.xhr.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n }\n this.xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n let progressListner;\n if (typeof (progressListner = this.xhr).addEventListener === \"function\") {\n progressListner.addEventListener(\"progress\", (evt) => {\n this.total = evt.total;\n this.loaded = evt.loaded;\n if (this.options.progress) {\n return this.options.progress(evt.total, evt.loaded);\n }\n });\n }\n\n let errorListener;\n if (typeof (errorListener = this.xhr).addEventListener === \"function\") {\n errorListener.addEventListener(\"error\", () => {\n if (this.options.fail) {\n this.options.fail(\"Unalbe to download '\" + this.resource +\n \"', code: \" + (this.xhr as XMLHttpRequest).status);\n return delete this.options.fail;\n }\n });\n }\n this.xhr.onreadystatechange = () => {\n return this.onReadyStateChange();\n };\n if (this.options.responseType) {\n this.xhr.responseType = this.options.responseType;\n }\n this.xhr.send(this.options.data);\n }\n\n private onReadyStateChange() {\n const xhr = (this.xhr as XMLHttpRequest);\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n if (this.options.success) {\n const total = Math.max(this.total, this.loaded);\n if (this.options.progress !== undefined) {\n this.options.progress(total, total);\n }\n\n return this.options.success(xhr.response);\n }\n } else if (this.options.fail) {\n this.options.fail(\"Unable to download '\" + this.resource + \"', code: \" + xhr.status);\n return delete this.options.fail;\n }\n }\n }\n}\n\n","/* eslint-disable no-invalid-this */\n\nimport { CommandInterfaceEvents, MessageType, NetworkType } from \"../emulators\";\n\nexport class CommandInterfaceEventsImpl implements CommandInterfaceEvents {\n private onStdoutConsumers: ((message: string) => void)[] = [];\n private delayedStdout: string[] = [];\n\n private onFrameSizeConsumers: ((width: number, height: number) => void)[] = [];\n private onFrameConsumers: ((rgb: Uint8Array | null, rgba: Uint8Array | null) => void)[] = [];\n private onSoundPushConsumers: ((samples: Float32Array) => void)[] = [];\n private onExitConsumers: (() => void)[] = [];\n\n private onMessageConsumers: ((msgType: MessageType, ...args: any[]) => void)[] = [];\n private delayedMessages: {msgType: MessageType, args: any[]}[] = [];\n\n private onNetworkConnectedConsumers: ((networkType: NetworkType, address: string, port: number) => void)[] = [];\n private onNetworkDisconnectedConsumers: ((networkType: NetworkType) => void)[] = [];\n\n onStdout = (consumer: (message: string) => void) => {\n this.onStdoutConsumers.push(consumer);\n\n if (this.onStdoutConsumers.length === 1) {\n for (const next of this.delayedStdout) {\n this.fireStdout(next);\n }\n this.delayedStdout = [];\n }\n };\n\n onFrameSize = (consumer: (width: number, height: number) => void) => {\n this.onFrameSizeConsumers.push(consumer);\n };\n\n onFrame = (consumer: (rgb: Uint8Array | null, rgba: Uint8Array | null) => void) => {\n this.onFrameConsumers.push(consumer);\n };\n\n onSoundPush = (consumer: (samples: Float32Array) => void) => {\n this.onSoundPushConsumers.push(consumer);\n };\n\n onExit = (consumer: () => void) => {\n this.onExitConsumers.push(consumer);\n };\n\n onMessage = (consumer: (msgType: MessageType, ...args: any[]) => void) => {\n this.onMessageConsumers.push(consumer);\n\n if (this.onMessageConsumers.length === 1) {\n for (const next of this.delayedMessages) {\n consumer(next.msgType, ...next.args);\n }\n this.delayedMessages = [];\n }\n };\n\n onNetworkConnected(consumer: (networkType: NetworkType, address: string, port: number) => void) {\n this.onNetworkConnectedConsumers.push(consumer);\n }\n\n onNetworkDisconnected(consumer: (networkType: NetworkType) => void) {\n this.onNetworkDisconnectedConsumers.push(consumer);\n }\n\n fireStdout = (message: string) => {\n if (this.onStdoutConsumers.length === 0) {\n this.delayedStdout.push(message);\n return;\n }\n\n for (const next of this.onStdoutConsumers) {\n next(message);\n }\n };\n\n fireFrameSize = (width: number, height: number) => {\n for (const next of this.onFrameSizeConsumers) {\n next(width, height);\n }\n };\n\n fireFrame = (rgb: Uint8Array | null, rgba: Uint8Array | null) => {\n for (const next of this.onFrameConsumers) {\n next(rgb, rgba);\n }\n };\n\n fireSoundPush = (samples: Float32Array) => {\n for (const next of this.onSoundPushConsumers) {\n next(samples);\n }\n };\n\n fireExit = () => {\n for (const next of this.onExitConsumers) {\n next();\n }\n\n this.onStdoutConsumers = [];\n this.onFrameSizeConsumers = [];\n this.onFrameConsumers = [];\n this.onSoundPushConsumers = [];\n this.onExitConsumers = [];\n this.onMessageConsumers = [];\n };\n\n fireMessage = (msgType: MessageType, ...args: any[]) => {\n if (this.onMessageConsumers.length === 0) {\n this.delayedMessages.push({ msgType, args });\n return;\n }\n\n for (const next of this.onMessageConsumers) {\n next(msgType, ...args);\n }\n };\n\n fireNetworkConnected = (networkType: NetworkType, address: string, port: number) => {\n for (const next of this.onNetworkConnectedConsumers) {\n next(networkType, address, port);\n }\n };\n\n fireNetworkDisconnected = (networkType: NetworkType) => {\n for (const next of this.onNetworkDisconnectedConsumers) {\n next(networkType);\n }\n };\n}\n","import { Build } from \"../build\";\nimport { Emulators, CommandInterface, BackendOptions } from \"../emulators\";\n\nimport { IWasmModules, WasmModulesImpl } from \"./modules\";\n\nimport DosBundle from \"../dos/bundle/dos-bundle\";\nimport { dosDirect } from \"../dos/dosbox/ts/direct\";\nimport { dosWorker } from \"../dos/dosbox/ts/worker\";\nimport Janus from \"../janus/janus-impl\";\n\nimport { TransportLayer, CommandInterfaceOverTransportLayer } from \"../protocol/protocol\";\n\nclass EmulatorsImpl implements Emulators {\n pathPrefix = \"\";\n version = Build.version;\n wdosboxJs = \"wdosbox.js\";\n\n private wasmModulesPromise?: Promise<IWasmModules>;\n\n async dosBundle(): Promise<DosBundle> {\n const modules = await this.wasmModules();\n const libzipWasm = await modules.libzip();\n return new DosBundle(libzipWasm);\n }\n\n async dosboxNode(bundle: Uint8Array | Uint8Array[], options?: BackendOptions): Promise<CommandInterface> {\n return this.dosboxDirect(bundle, options);\n }\n\n async dosboxDirect(bundle: Uint8Array | Uint8Array[], options?: BackendOptions): Promise<CommandInterface> {\n const modules = await this.wasmModules();\n const dosboxWasm = await modules.dosbox();\n const transportLayer = await dosDirect(dosboxWasm, \"session-\" + Date.now());\n return this.backend(bundle, transportLayer, options);\n }\n\n async dosboxWorker(bundle: Uint8Array | Uint8Array[], options?: BackendOptions): Promise<CommandInterface> {\n const modules = await this.wasmModules();\n const dosboxWasm = await modules.dosbox();\n const transportLayer = await dosWorker(this.pathPrefix + this.wdosboxJs, dosboxWasm, \"session-\" + Date.now());\n return this.backend(bundle, transportLayer, options);\n }\n\n async janus(restUrl: string): Promise<CommandInterface> {\n // eslint-disable-next-line new-cap\n return Janus(restUrl);\n }\n\n async backend(bundle: Uint8Array | Uint8Array[], transportLayer: TransportLayer,\n options?: BackendOptions): Promise<CommandInterface> {\n return new Promise<CommandInterface>((resolve, reject) => {\n const ci = new CommandInterfaceOverTransportLayer(\n Array.isArray(bundle) ? bundle : [bundle],\n transportLayer,\n (err) => {\n if (err !== null) {\n reject(err);\n } else {\n // can be called from ctor, without timeout can be undefined\n setTimeout(() => resolve(ci), 4);\n }\n },\n options || {},\n );\n });\n }\n\n wasmModules(): Promise<IWasmModules> {\n if (this.wasmModulesPromise !== undefined) {\n return this.wasmModulesPromise;\n }\n\n const make = async () => {\n return new WasmModulesImpl(this.pathPrefix, this.wdosboxJs);\n };\n\n this.wasmModulesPromise = make();\n return this.wasmModulesPromise;\n }\n\n async dosDirect(bundle: Uint8Array | Uint8Array[]): Promise<CommandInterface> {\n return this.dosboxDirect(bundle);\n }\n\n async dosWorker(bundle: Uint8Array | Uint8Array[]): Promise<CommandInterface> {\n return this.dosboxWorker(bundle);\n }\n}\n\nconst emulators = new EmulatorsImpl();\n\nexport default emulators;\n","import { httpRequest } from \"../http\";\n\nexport interface WasmModule {\n instantiate: (module?: any) => Promise<any>;\n}\n\nexport interface IWasmModules {\n libzip: () => Promise<WasmModule>;\n dosbox: () => Promise<WasmModule>;\n}\n\ninterface Globals {\n exports: {[moduleName: string]: any},\n compiled: {[moduleName: string]: Promise<WasmModule>},\n}\n\nclass Host {\n public wasmSupported = false;\n public globals: Globals;\n constructor() {\n this.globals = typeof window === \"undefined\" ? {} : window as any;\n if (!this.globals.exports) {\n this.globals.exports = {};\n }\n if (!this.globals.compiled) {\n this.globals.compiled = {};\n }\n\n // ### WebAssembly\n // Host able to detect is WebAssembly supported or not,\n // this information is stored in `Host.wasmSupported` variable\n if (typeof WebAssembly === \"object\" &&\n typeof WebAssembly.instantiate === \"function\" &&\n typeof WebAssembly.compile === \"function\") {\n const wmodule = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00));\n if (wmodule instanceof WebAssembly.Module) {\n this.wasmSupported = new WebAssembly.Instance(wmodule) instanceof WebAssembly.Instance;\n }\n }\n\n // Polyfill for old contains implementations for:\n // `Math.imul`, `Math.fround`, `Math.clz32`, `Math.trunc`\n (function polyfill() {\n if (!Math.imul || Math.imul(0xffffffff, 5) !== -5) {\n Math.imul = function imul(a: any, b: any) {\n const ah = a >>> 16;\n const al = a & 0xffff;\n const bh = b >>> 16;\n const bl = b & 0xffff;\n return (al * bl + ((ah * bl + al * bh) << 16)) | 0;\n };\n }\n Math.imul = Math.imul;\n\n if (!Math.fround) {\n Math.fround = function(x) {\n return x;\n };\n }\n Math.fround = Math.fround;\n\n if (!Math.clz32) {\n Math.clz32 = function(x) {\n x = x >>> 0;\n for (let i = 0; i < 32; i++) {\n if (x & (1 << (31 - i))) {\n return i;\n }\n }\n return 32;\n };\n }\n Math.clz32 = Math.clz32;\n\n if (!Math.trunc) {\n Math.trunc = function(x) {\n return x < 0 ? Math.ceil(x) : Math.floor(x);\n };\n }\n Math.trunc = Math.trunc;\n })();\n }\n}\n\nexport const host = new Host();\n\nexport class WasmModulesImpl implements IWasmModules {\n private pathPrefix: string;\n private wdosboxJs: string;\n\n private libzipPromise?: Promise<WasmModule>;\n private dosboxPromise?: Promise<WasmModule>;\n\n public wasmSupported = false;\n\n constructor(pathPrefix: string,\n wdosboxJs: string) {\n if (pathPrefix.length > 0 && pathPrefix[pathPrefix.length - 1] !== \"/\") {\n pathPrefix += \"/\";\n }\n\n this.pathPrefix = pathPrefix;\n this.wdosboxJs = wdosboxJs;\n }\n\n libzip() {\n if (this.libzipPromise !== undefined) {\n return this.libzipPromise;\n }\n\n this.libzipPromise = this.loadModule(this.pathPrefix + \"wlibzip.js\", \"WLIBZIP\");\n return this.libzipPromise;\n }\n\n dosbox() {\n if (this.dosboxPromise !== undefined) {\n return this.dosboxPromise;\n }\n\n this.dosboxPromise = this.loadModule(this.pathPrefix + this.wdosboxJs, \"WDOSBOX\");\n\n return this.dosboxPromise;\n }\n\n private loadModule(url: string,\n moduleName: string) {\n // eslint-disable-next-line\n return loadWasmModule(url, moduleName, () => {});\n }\n}\n\nexport function loadWasmModule(url: string,\n moduleName: string,\n onprogress: (stage: string, total: number, loaded: number) => void,\n): Promise<WasmModule> {\n if (typeof XMLHttpRequest === \"undefined\") {\n return loadWasmModuleNode(url, moduleName, onprogress);\n } else {\n return loadWasmModuleBrowser(url, moduleName, onprogress);\n }\n}\n\nfunction loadWasmModuleNode(url: string,\n moduleName: string,\n // eslint-disable-next-line\n onprogress: (stage: string, total: number, loaded: number) => void) {\n if (host.globals.compiled[moduleName] !== undefined) {\n return host.globals.compiled[moduleName];\n }\n\n const emModule = require(url);\n const compiledModulePromise = Promise.resolve(new CompiledNodeModule(emModule));\n if (moduleName) {\n host.globals.compiled[moduleName] = compiledModulePromise;\n }\n\n return compiledModulePromise;\n}\n\nfunction loadWasmModuleBrowser(url: string,\n moduleName: string,\n onprogress: (stage: string, total: number, loaded: number) => void) {\n if (host.globals.compiled[moduleName] !== undefined) {\n return host.globals.compiled[moduleName];\n }\n\n async function load() {\n const fromIndex = url.lastIndexOf(\"/\");\n const wIndex = url.indexOf(\"w\", fromIndex);\n const isWasmUrl = wIndex === fromIndex + 1 && wIndex >= 0;\n\n if (!host.wasmSupported || !isWasmUrl) {\n throw new Error(\"Starting from js-dos 6.22.60 js environment is not supported\");\n }\n\n const wasmUrl = url.substr(0, url.lastIndexOf(\".js\")) + \".wasm\";\n const binaryPromise = httpRequest(wasmUrl, {\n responseType: \"arraybuffer\",\n progress: (total, loaded) => {\n onprogress(\"Resolving DosBox (\" + url + \")\", total, loaded);\n },\n });\n const scriptPromise = httpRequest(url, {\n progress: (total, loaded) => {\n onprogress(\"Resolving DosBox\", total, loaded);\n },\n });\n\n const [binary, script] = await Promise.all([binaryPromise, scriptPromise]);\n const wasmModule = await WebAssembly.compile(binary as ArrayBuffer);\n const instantiateWasm = (info: any, receiveInstance: any) => {\n info.env = info.env || {};\n WebAssembly.instantiate(wasmModule, info)\n .then((instance) => receiveInstance(instance, wasmModule));\n return; // no-return\n };\n\n eval.call(window, script as string);\n\n return new CompiledBrowserModule(wasmModule,\n host.globals.exports[moduleName],\n instantiateWasm);\n }\n\n const promise = load();\n\n if (moduleName) {\n host.globals.compiled[moduleName] = promise;\n }\n\n return promise;\n}\n\nclass CompiledNodeModule implements WasmModule {\n private emModule: any;\n constructor(emModule: any) {\n this.emModule = emModule;\n }\n\n instantiate(initialModule: any): Promise<void> {\n return new Promise<void>((resolve) => {\n initialModule.onRuntimeInitialized = () => {\n resolve();\n };\n\n // eslint-disable-next-line new-cap\n new this.emModule(initialModule);\n });\n }\n}\n\nclass CompiledBrowserModule implements WasmModule {\n public wasmModule: WebAssembly.Module;\n private module: any;\n private instantiateWasm: any;\n\n constructor(wasmModule: WebAssembly.Module, module: any, instantiateWasm: any) {\n this.wasmModule = wasmModule;\n this.module = module;\n this.instantiateWasm = instantiateWasm;\n }\n\n instantiate(initialModule: any): Promise<void> {\n return new Promise<void>((resolve) => {\n initialModule.instantiateWasm = this.instantiateWasm;\n initialModule.onRuntimeInitialized = () => {\n resolve();\n };\n // eslint-disable-next-line new-cap\n new this.module(initialModule);\n });\n }\n}\n","// This file is no longer used, should be removed\n\n/* eslint-disable no-invalid-this, max-len, prefer-promise-reject-errors */\n\nimport { CommandInterface, NetworkType } from \"../emulators\";\nimport { CommandInterfaceEventsImpl } from \"../impl/ci-impl\";\n\nimport { JanusJS } from \"./janus\";\nimport { DosConfig } from \"../dos/bundle/dos-conf\";\n\nexport type JanusMessageType = \"error\" | \"attached\" | \"started\" |\n \"onremotestream\" | \"destroyed\";\n\nfunction dataAssembler(onMessage: (data: string) => void,\n onError: (message: any) => void) {\n let acc = \"\";\n\n const assemble = (data: string) => {\n const splitIndex = data.indexOf(\"\\n\");\n if (splitIndex === -1) {\n acc += data;\n } else {\n const payload = acc + data.substr(0, splitIndex);\n acc = \"\";\n\n try {\n onMessage(utf8Decode(payload));\n } catch (e) {\n onError(e);\n }\n\n assemble(data.substr(splitIndex + 1));\n }\n };\n\n return assemble;\n}\n\nexport interface JanusCommandInterface extends CommandInterface {\n logVisual: (video: HTMLVideoElement) => void;\n}\n\ntype LogColor = \"white\" | \"red\" | \"yellow\" | \"not set\";\n\nclass JanusBackendImpl implements JanusCommandInterface {\n private live = true;\n private startedAt = Date.now();\n\n private janus: JanusJS.Janus;\n private eventsImpl: CommandInterfaceEventsImpl;\n\n private exitPromise: Promise<void>;\n private exitResolveFn: () => void = () => {/**/};\n\n private configPromise: Promise<DosConfig>;\n private configResolveFn: (dosConfig: DosConfig) => void = () => {/**/};\n\n private opaqueId: string;\n private handle?: JanusJS.PluginHandle;\n private handlePromise: Promise<JanusJS.PluginHandle>;\n private handleResolveFn: (handle: JanusJS.PluginHandle) => void = () => {/**/};\n\n private keyMatrix: { [keyCode: number]: boolean } = {};\n\n private frameWidth = 0;\n private frameHeight = 0;\n\n private eventQueue = \"\";\n private eventIntervalId = -1;\n private rttIntervalId = -1;\n\n private logIntervalId = -1;\n private logColor: LogColor = \"not set\";\n private logWhiteMs = 0;\n private logRedMs = 0;\n private logYellowMs = 0;\n\n constructor(janus: JanusJS.Janus, opaqueId: string) {\n this.eventsImpl = new CommandInterfaceEventsImpl();\n this.janus = janus;\n this.opaqueId = opaqueId;\n\n this.exitPromise = new Promise<void>((resolve) => {\n this.exitResolveFn = resolve;\n });\n\n this.configPromise = new Promise<DosConfig>((resolve) => {\n this.configResolveFn = resolve;\n });\n\n this.handlePromise = new Promise<JanusJS.PluginHandle>((resolve, reject) => {\n this.handleResolveFn = (handle: JanusJS.PluginHandle) => {\n this.handle = handle;\n\n if (!this.live) {\n reject(new Error(\"exit() was called\"));\n return;\n }\n\n // workaround for sending immediately after init\n setTimeout(() => {\n if (!this.live) {\n return;\n }\n\n handle.data({ text: \"pipe \" + this.opaqueId + \" config\" });\n }, 1000);\n\n this.config().then(() => {\n if (!this.live) {\n return;\n }\n\n // start events exchange\n this.eventIntervalId = setInterval(() => {\n this.sendEventsData(handle);\n }, 8) as any;\n\n\n // start rtt check\n this.rttIntervalId = setInterval(() => {\n this.sendPipeMessage(\"rtt\", Date.now());\n }, 1000) as any;\n });\n\n resolve(handle);\n };\n });\n this.attach();\n }\n\n private fireMessage(type: JanusMessageType, ...args: any[]) {\n this.eventsImpl.fireMessage(type, ...args);\n }\n\n private attach() {\n let handleRef: JanusJS.PluginHandle;\n this.janus.attach({\n plugin: \"janus.plugin.streaming\",\n opaqueId: this.opaqueId,\n error: this.onError,\n success: (handle) => {\n handleRef = handle;\n this.fireMessage(\"attached\");\n handle.send({\n message: {\n request: \"watch\",\n id: 1,\n },\n });\n },\n onmessage: (message: JanusJS.Message, jsep?: JanusJS.JSEP) => {\n this.onJanusMessage(handleRef, message, jsep);\n },\n onremotestream: (stream: MediaStream) => {\n this.fireMessage(\"onremotestream\", stream);\n },\n ondataopen: () => this.handleResolveFn(handleRef),\n ondata: dataAssembler(this.onDataMessage, this.onError),\n });\n }\n\n private onDataMessage = (data: string) => {\n if (data.startsWith(\"config=\")) {\n this.configResolveFn(JSON.parse(data.substr(\"config=\".length)));\n } else if (data.startsWith(\"frame=\")) {\n const [width, height] = data.substr(\"frame=\".length).split(\"x\");\n this.frameWidth = Number.parseInt(width, 10) || 0;\n this.frameHeight = Number.parseInt(height, 10) || 0;\n } else if (data.startsWith(\"rtt=\")) {\n const [opaqueId, sentAtStr, receivedAtStr] = data.substr(\"rtt=\".length).split(\" \");\n const sentAt = Number.parseInt(sentAtStr, 10);\n const receivedAt = Number.parseInt(receivedAtStr, 10);\n const returnedAt = Date.now();\n const bitrateStr = this.handle?.getBitrate() as any || \"0 kbits/sec\";\n const bitrate = Number.parseInt(bitrateStr.split(\" \")[0], 10);\n this.sendPipeMessage(\"rtt-data\", Date.now(), sentAt, receivedAt, returnedAt, bitrate);\n if (opaqueId === this.opaqueId) {\n this.eventsImpl.fireStdout(\"rtt-data=\" + (returnedAt - sentAt) + \" \" + bitrate);\n }\n } else if (data.startsWith(\"log-visual-\")) {\n switch (data) {\n case \"log-visual-white\": this.eventsImpl.fireStdout(\"yellow-frame:\" + (Date.now() - this.logYellowMs)); break;\n case \"log-visual-red\": this.eventsImpl.fireStdout(\"white-frame:\" + (Date.now() - this.logWhiteMs)); break;\n case \"log-visual-yellow\": this.eventsImpl.fireStdout(\"red-frame:\" + (Date.now() - this.logRedMs)); break;\n }\n } else if (data.startsWith(\"log-command-\")) {\n switch (data) {\n case \"log-command-white\": this.eventsImpl.fireStdout(\"yellow-pipe:\" + (Date.now() - this.logYellowMs)); break;\n case \"log-command-red\": this.eventsImpl.fireStdout(\"white-pipe:\" + (Date.now() - this.logWhiteMs)); break;\n case \"log-command-yellow\": this.eventsImpl.fireStdout(\"red-pipe:\" + (Date.now() - this.logRedMs)); break;\n }\n } else {\n this.eventsImpl.fireStdout(data);\n }\n };\n\n private onJanusMessage = (handle: JanusJS.PluginHandle, message: JanusJS.Message, jsep?: JanusJS.JSEP) => {\n if (jsep !== undefined && jsep !== null) {\n handle.createAnswer({\n jsep,\n media: {\n audioSend: false,\n videoSend: false,\n data: true,\n },\n success: (jsep: any) => {\n this.fireMessage(\"started\");\n handle.send({\n message: {\n request: \"start\",\n },\n jsep,\n });\n },\n error: this.onError,\n });\n }\n };\n\n onError = (error: any) => {\n this.fireMessage(\"error\", error);\n };\n\n onDestroyed() {\n this.fireMessage(\"destroyed\");\n this.exitResolveFn();\n }\n\n async config(): Promise<DosConfig> {\n return this.configPromise;\n }\n\n width(): number {\n return this.frameWidth;\n }\n\n height(): number {\n return this.frameHeight;\n }\n\n soundFrequency(): number {\n return 44100;\n }\n\n screenshot() {\n return Promise.reject(new Error(\"Not supported\"));\n }\n\n simulateKeyPress(...keyCodes: number[]) {\n const timeMs = Date.now() - this.startedAt;\n keyCodes.forEach((keyCode) => this.addKey(keyCode, true, timeMs));\n keyCodes.forEach((keyCode) => this.addKey(keyCode, false, timeMs + 16));\n }\n\n sendKeyEvent(keyCode: number, pressed: boolean) {\n this.addKey(keyCode, pressed, Date.now() - this.startedAt);\n }\n\n addKey(keyCode: number, pressed: boolean, timeMs: number) {\n const keyPressed = this.keyMatrix[keyCode] === true;\n if (keyPressed === pressed) {\n return;\n }\n this.keyMatrix[keyCode] = pressed;\n this.sendPipeMessage(\"k\" + (pressed ? \"down\" : \"up\"), keyCode, timeMs);\n\n if (this.logIntervalId !== -1 && pressed) {\n switch (this.logColor) {\n case \"white\": this.logWhiteMs = Date.now(); break;\n case \"red\": this.logRedMs = Date.now(); break;\n case \"yellow\": this.logYellowMs = Date.now(); break;\n }\n }\n }\n\n sendMouseMotion(x: number, y: number) {\n this.sendPipeMessage(\"mmove\", x, y, Date.now() - this.startedAt);\n }\n\n sendMouseRelativeMotion(x: number, y: number) {\n throw new Error(\"not implemented\");\n }\n\n sendMouseButton(button: number, pressed: boolean) {\n this.sendPipeMessage(\"m\" + (pressed ? \"down\" : \"up\"), button, Date.now() - this.startedAt);\n }\n\n sendMouseSync() {\n this.sendPipeMessage(\"msync\", Date.now() - this.startedAt);\n }\n\n logVisual(video: HTMLVideoElement) {\n this.sendPipeMessage(\"log-visual-on\");\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = 1;\n canvas.height = 1;\n\n this.logIntervalId = setInterval(async () => {\n const startedAt = Date.now();\n ctx?.drawImage(video, 0, 0, 1, 1, 0, 0, 1, 1);\n const imageData = ctx?.getImageData(0, 0, 1, 1)?.data as Uint8ClampedArray;\n const captureTime = Date.now() - startedAt;\n\n let newColor: LogColor = \"not set\";\n if (imageData[0] > 200 && imageData[1] > 200 && imageData[2] > 200) {\n newColor = \"white\";\n } else if (imageData[0] > 200 && imageData[1] < 200 && imageData[2] < 200) {\n newColor = \"red\";\n } else if (imageData[0] > 200 && imageData[1] > 200 && imageData[2] < 200) {\n newColor = \"yellow\";\n }\n\n if (newColor !== this.logColor) {\n switch (newColor) {\n case \"white\": this.eventsImpl.fireStdout(\"yellow-stream:\" + (Date.now() - this.logYellowMs - captureTime)); break;\n case \"red\": this.eventsImpl.fireStdout(\"white-stream:\" + (Date.now() - this.logWhiteMs - captureTime)); break;\n case \"yellow\": this.eventsImpl.fireStdout(\"red-stream:\" + (Date.now() - this.logRedMs - captureTime)); break;\n }\n this.logColor = newColor;\n }\n }, 16) as any;\n }\n\n private sendPipeMessage(...parts: any[]) {\n this.eventQueue += \"pipe \" + this.opaqueId;\n for (const part of parts) {\n this.eventQueue += \" \" + part;\n }\n this.eventQueue += \"\\n\";\n }\n\n private async sendEventsData(handle: JanusJS.PluginHandle) {\n if (this.eventQueue.length === 0) {\n return;\n }\n handle.data({ text: this.eventQueue });\n this.eventQueue = \"\";\n }\n\n persist(): Promise<Uint8Array> {\n return Promise.reject(new Error(\"Not supported\"));\n }\n\n pause() {\n // eslint-disable-next-line\n console.warn(\"pause/resume is not implemented\");\n }\n\n resume() {\n //\n }\n\n mute() {\n // eslint-disable-next-line\n console.warn(\"mute/unmute is not implemented\");\n }\n\n unmute() {\n //\n }\n\n exit() {\n this.live = false;\n clearInterval(this.logIntervalId);\n this.logIntervalId = -1;\n clearInterval(this.eventIntervalId);\n this.eventIntervalId = -1;\n clearInterval(this.rttIntervalId);\n this.rttIntervalId = -1;\n this.janus.destroy();\n return this.exitPromise;\n }\n\n events() {\n return this.eventsImpl;\n }\n\n networkConnect(networkType: NetworkType, ip: string, port: number): Promise<void> {\n return Promise.reject(\"Not supported\");\n }\n\n networkDisconnect(networkType: NetworkType): Promise<void> {\n return Promise.reject(\"Not supported\");\n }\n}\n\nexport default function JanusBackend(restUrl: string, janus?: any): Promise<CommandInterface> {\n const Janus = janus || (window as any).Janus;\n if (Janus === undefined) {\n return Promise.reject(new Error(\"Janus is not defined, you should load janus.js before this\"));\n }\n\n if (!Janus.isWebrtcSupported()) {\n return Promise.reject(new Error(\"WebRTC not supported\"));\n }\n\n return new Promise<CommandInterface>((resolve, reject) => {\n let backend: JanusBackendImpl | null = null;\n const handlers = {\n error: (error: any) => {\n if (backend === null) {\n reject(error);\n } else {\n backend.onError(error);\n }\n },\n destroyed: () => {\n if (backend !== null) {\n backend.onDestroyed();\n }\n },\n };\n\n const options: JanusJS.ConstructorOptions = {\n server: restUrl,\n success: () => {\n backend = new JanusBackendImpl(janusImpl, \"js-dos-\" + Janus.randomString(12));\n resolve(backend);\n },\n error: handlers.error,\n destroyed: handlers.destroyed,\n destroyOnUnload: true,\n };\n\n const janusImpl = new Janus(options) as JanusJS.Janus;\n });\n}\n\nfunction utf8Decode(base64Text: string) {\n const binary = atob(base64Text);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < bytes.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return new TextDecoder().decode(bytes);\n}\n","export default class LibZip {\n public module: any;\n private home: string;\n\n constructor(module: any, home: string) {\n this.module = module;\n this.home = home;\n this.module.callMain([]);\n this.chdirToHome();\n }\n\n zipFromFs(changedAfterMs = -1): Promise<Uint8Array> {\n this.chdirToHome();\n\n const ptr = this.module._zip_from_fs(changedAfterMs);\n if (ptr === 0) {\n return Promise.reject(new Error(\"Can't create zip, see more info in logs\"));\n }\n\n const length = this.module.HEAPU32[ptr / 4];\n const memory: Uint8Array = this.module.HEAPU8;\n const archive = memory.slice(ptr + 4, ptr + 4 + length);\n this.module._free(ptr);\n return Promise.resolve(archive);\n }\n\n zipToFs(zipArchive: Uint8Array, path = \"/\"): Promise<void> {\n path = this.normalizeFilename(path);\n const pathParts = this.normalizeFilename(path).split(\"/\");\n this.createPath(pathParts, 0, pathParts.length);\n this.chdir(path);\n\n const bytes = new Uint8Array(zipArchive);\n const buffer = this.module._malloc(bytes.length);\n this.module.HEAPU8.set(bytes, buffer);\n const retcode = this.module._zip_to_fs(buffer, bytes.length);\n this.module._free(buffer);\n\n this.chdirToHome();\n\n if (retcode === 0) {\n return Promise.resolve();\n } else {\n return Promise.reject(new Error(\"Can't extract zip, retcode \" +\n retcode + \", see more info in logs\"));\n }\n }\n\n // ### writeFile\n writeFile(file: string, body: ArrayBuffer | Uint8Array | string) {\n // Allow to create file in FS, it will be created relatively cwd\n // All directories will be created\n //\n // windows style path are also valid, but **drive letter is ignored**\n // if you pass only filename, then file will be writed in cwd\n //\n // body can be string or ArrayBuffer or Uint8Array\n file = this.normalizeFilename(file);\n\n if (body instanceof ArrayBuffer) {\n body = new Uint8Array(body);\n }\n\n const parts = file.split(\"/\");\n\n if (parts.length === 0) {\n throw new Error(\"Can't create file '\" + file + \"', because it's not valid file path\");\n }\n\n const filename = parts[parts.length - 1].trim();\n\n if (filename.length === 0) {\n throw new Error(\"Can't create file '\" + file + \"', because file name is empty\");\n }\n\n /* i < parts.length - 1, because last part is file name */\n const path = this.createPath(parts, 0, parts.length - 1);\n this.module.FS.writeFile(path + \"/\" + filename, body);\n }\n\n async readFile(file: string, encoding: \"binary\" | \"utf8\" = \"utf8\"): Promise<string|Uint8Array> {\n file = this.normalizeFilename(file);\n return this.module.FS.readFile(file, { encoding });\n }\n\n\n exists(file: string): boolean {\n file = this.normalizeFilename(file);\n try {\n this.module.FS.lookupPath(file);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n\n destroy(): any {\n try {\n this.module._libzip_destroy();\n } catch (e) {\n return e;\n }\n }\n\n private normalizeFilename(file: string): string {\n file = file.replace(new RegExp(\"^[a-zA-z]+:\"), \"\").replace(new RegExp(\"\\\\\\\\\", \"g\"), \"/\");\n while (file[0] === \"/\") {\n file = file.substr(1);\n }\n return file;\n }\n\n private createPath(parts: string[], begin: number, end: number) {\n let path = \".\";\n for (let i = begin; i < end; ++i) {\n const part = parts[i].trim();\n if (part.length === 0) {\n continue;\n }\n\n this.module.FS.createPath(path, part, true, true);\n path = path + \"/\" + part;\n }\n\n return path;\n }\n\n private chdirToHome() {\n this.module.FS.chdir(this.home);\n }\n\n private chdir(path: string) {\n this.module.FS.chdir(this.home + \"/\" + path);\n }\n}\n","import { ServerMessage, MessageHandler } from \"./protocol\";\n\ninterface DelayedMessage {\n name: ServerMessage,\n props: {[key: string]: any},\n}\n\nexport class MessagesQueue {\n private messages: DelayedMessage[] = [];\n public handler(name: ServerMessage, props: {[key: string]: any}) {\n this.messages.push({ name, props });\n }\n public sendTo(handler: MessageHandler) {\n for (const next of this.messages) {\n handler(next.name, next.props);\n }\n\n this.messages = [];\n }\n}\n","import { DosConfig } from \"../dos/bundle/dos-conf\";\nimport { DirectSound, CommandInterface, NetworkType, BackendOptions } from \"../emulators\";\nimport { CommandInterfaceEventsImpl } from \"../impl/ci-impl\";\n\nexport type ClientMessage =\n \"wc-install\" |\n \"wc-run\" |\n \"wc-pack-fs-to-bundle\" |\n \"wc-add-key\" |\n \"wc-mouse-move\" |\n \"wc-mouse-button\" |\n \"wc-mouse-sync\" |\n \"wc-exit\" |\n \"wc-sync-sleep\" |\n \"wc-pause\" |\n \"wc-resume\" |\n \"wc-mute\" |\n \"wc-unmute\" |\n \"wc-connect\" |\n \"wc-disconnect\";\n\nexport type ServerMessage =\n \"ws-extract-progress\" |\n \"ws-ready\" |\n \"ws-server-ready\" |\n \"ws-frame-set-size\" |\n \"ws-update-lines\" |\n \"ws-log\" |\n \"ws-warn\" |\n \"ws-err\" |\n \"ws-stdout\" |\n \"ws-exit\" |\n \"ws-persist\" |\n \"ws-sound-init\" |\n \"ws-sound-push\" |\n \"ws-config\" |\n \"ws-sync-sleep\" |\n \"ws-connected\" |\n \"ws-disconnected\";\n\nexport type MessageHandler = (name: ServerMessage, props: { [key: string]: any }) => void;\n\nexport interface TransportLayer {\n sessionId: string;\n sendMessageToServer(name: ClientMessage, props?: { [key: string]: any }): void;\n initMessageHandler(handler: MessageHandler): void;\n exit?: () => void;\n}\n\nexport interface FrameLine {\n start: number;\n heapu8: Uint8Array;\n}\n\nexport class CommandInterfaceOverTransportLayer implements CommandInterface {\n private startedAt = Date.now();\n private frameWidth = 0;\n private frameHeight = 0;\n private rgb: Uint8Array | null = null;\n private rgba: Uint8Array | null = null;\n private freq = 0;\n\n private bundles?: Uint8Array[];\n private transport: TransportLayer;\n private ready: (err: Error | null) => void;\n\n private persistPromise?: Promise<Uint8Array>;\n private persistResolve?: (bundle: Uint8Array) => void;\n\n private exitPromise?: Promise<void>;\n private exitResolve?: () => void;\n\n private eventsImpl = new CommandInterfaceEventsImpl();\n\n private keyMatrix: { [keyCode: number]: boolean } = {};\n\n private configPromise: Promise<DosConfig>;\n private configResolve: (config: DosConfig) => void = () => {/**/};\n private panicMessages: string[] = [];\n\n private connectPromise: Promise<void> | null = null;\n private connectResolve: () => void = () => {/**/};\n private connectReject: () => void = () => {/**/};\n\n private disconnectPromise: Promise<void> | null = null;\n private disconnectResolve: () => void = () => {/**/};\n\n public sharedMemory?: SharedArrayBuffer;\n public directSound?: DirectSound;\n public options: BackendOptions;\n\n constructor(bundles: Uint8Array[],\n transport: TransportLayer,\n ready: (err: Error | null) => void,\n options: BackendOptions) {\n this.options = options;\n this.bundles = bundles;\n this.transport = transport;\n this.ready = ready;\n this.configPromise = new Promise<DosConfig>((resolve) => this.configResolve = resolve);\n this.transport.initMessageHandler(this.onServerMessage.bind(this));\n }\n\n private sendClientMessage(name: ClientMessage, props?: { [key: string]: any }) {\n props = props || {};\n props.sessionId = props.sessionId || this.transport.sessionId;\n this.transport.sendMessageToServer(name, props);\n }\n\n private onServerMessage(name: ServerMessage, props: { [key: string]: any }) {\n if (name === undefined || name.length < 3 ||\n name[0] !== \"w\" || name[1] !== \"s\" || name[2] !== \"-\") {\n return;\n }\n\n if (props === undefined || props.sessionId !== this.transport.sessionId) {\n return;\n }\n\n switch (name) {\n case \"ws-ready\": {\n this.sharedMemory = props.sharedMemory;\n this.sendClientMessage(\"wc-run\", {\n bundles: this.bundles,\n });\n delete this.bundles;\n } break;\n case \"ws-server-ready\": {\n if (this.panicMessages.length > 0) {\n if (this.transport.exit !== undefined) {\n this.transport.exit();\n }\n this.ready(new Error(JSON.stringify(this.panicMessages)));\n } else {\n this.ready(null);\n }\n delete (this as any).ready;\n } break;\n case \"ws-frame-set-size\": {\n this.onFrameSize(props.width, props.height);\n } break;\n case \"ws-update-lines\": {\n this.onFrameLines(props.lines, props.rgba);\n } break;\n case \"ws-exit\": {\n this.onExit();\n } break;\n case \"ws-log\": {\n // eslint-disable-next-line\n this.onLog(props.tag, props.message);\n } break;\n case \"ws-warn\": {\n // eslint-disable-next-line\n this.onWarn(props.tag, props.message);\n } break;\n case \"ws-err\": {\n // eslint-disable-next-line\n this.onErr(props.tag, props.message);\n } break;\n case \"ws-stdout\": {\n this.onStdout(props.message);\n } break;\n case \"ws-persist\": {\n this.onPersist(props.bundle);\n } break;\n case \"ws-sound-init\": {\n this.onSoundInit(props.freq, props.directSound);\n } break;\n case \"ws-sound-push\": {\n this.onSoundPush(props.samples);\n } break;\n case \"ws-config\": {\n this.onConfig(JSON.parse(props.content));\n } break;\n case \"ws-sync-sleep\": {\n this.sendClientMessage(\"wc-sync-sleep\", props);\n } break;\n case \"ws-connected\": {\n this.connectResolve();\n this.connectPromise = null;\n this.connectResolve = () => {/**/};\n this.connectReject = () => {/**/};\n this.eventsImpl.fireNetworkConnected(props.networkType, props.address, props.port);\n } break;\n case \"ws-disconnected\": {\n if (this.connectPromise !== null) {\n this.connectReject();\n this.connectPromise = null;\n this.connectResolve = () => {/**/};\n this.connectReject = () => {/**/};\n } else {\n this.disconnectResolve();\n this.disconnectPromise = null;\n this.disconnectResolve = () => {/**/};\n }\n this.eventsImpl.fireNetworkDisconnected(props.networkType);\n } break;\n case \"ws-extract-progress\": {\n if (this.options.onExtractProgress) {\n this.options.onExtractProgress(props.index, props.file, props.extracted, props.count);\n }\n } break;\n default: {\n // eslint-disable-next-line\n console.log(\"Unknown server message (ws):\", name);\n } break;\n }\n }\n\n private onConfig(config: DosConfig) {\n this.configResolve(config);\n }\n\n private onFrameSize(width: number, height: number) {\n if (this.frameWidth === width && this.frameHeight === height) {\n return;\n }\n\n this.frameWidth = width;\n this.frameHeight = height;\n if (this.sharedMemory === undefined) {\n this.rgb = new Uint8Array(width * height * 3);\n }\n this.eventsImpl.fireFrameSize(width, height);\n }\n\n private onFrameLines(lines: FrameLine[], rgbaPtr: number) {\n if (this.sharedMemory !== undefined) {\n this.rgba = new Uint8Array(\n this.sharedMemory, rgbaPtr,\n this.frameWidth * this.frameHeight * 4,\n );\n } else {\n for (const line of (lines as FrameLine[])) {\n (this.rgb as Uint8Array).set(line.heapu8, line.start * this.frameWidth * 3);\n }\n }\n\n this.eventsImpl.fireFrame(this.rgb, this.rgba);\n }\n\n private onSoundInit(freq: number, directSound: DirectSound | undefined) {\n this.freq = freq;\n this.directSound = directSound;\n if (this.directSound !== undefined) {\n for (let i = 0; i < this.directSound.ringSize; ++i) {\n this.directSound.buffer[i] = new Float32Array(this.directSound.buffer[i]);\n }\n }\n }\n\n private onSoundPush(samples: Float32Array) {\n this.eventsImpl.fireSoundPush(samples);\n }\n\n private onLog(tag: string, message: string) {\n this.eventsImpl.fireMessage(\"log\", \"[\" + tag + \"]\" + message);\n }\n\n private onWarn(tag: string, message: string) {\n this.eventsImpl.fireMessage(\"warn\", \"[\" + tag + \"]\" + message);\n }\n\n private onErr(tag: string, message: string) {\n if (tag === \"panic\") {\n this.panicMessages.push(message);\n console.error(\"[\" + tag + \"]\" + message);\n }\n this.eventsImpl.fireMessage(\"error\", \"[\" + tag + \"]\" + message);\n }\n\n private onStdout(message: string) {\n this.eventsImpl.fireStdout(message);\n }\n\n public config() {\n return this.configPromise;\n }\n\n public width() {\n return this.frameWidth;\n }\n\n public height() {\n return this.frameHeight;\n }\n\n public soundFrequency() {\n return this.freq;\n }\n\n public screenshot(): Promise<ImageData> {\n if (this.rgb !== null || this.rgba !== null) {\n const rgba = new Uint8ClampedArray(this.frameWidth * this.frameHeight * 4);\n const frame = (this.rgb !== null ? this.rgb : this.rgba) as Uint8Array;\n\n let frameOffset = 0;\n let rgbaOffset = 0;\n\n while (rgbaOffset < rgba.length) {\n rgba[rgbaOffset++] = frame[frameOffset++];\n rgba[rgbaOffset++] = frame[frameOffset++];\n rgba[rgbaOffset++] = frame[frameOffset++];\n rgba[rgbaOffset++] = 255;\n\n if (frame.length === rgba.length) {\n frameOffset++;\n }\n }\n\n return Promise.resolve(new ImageData(rgba, this.frameWidth, this.frameHeight));\n } else {\n return Promise.reject(new Error(\"No frame received\"));\n }\n }\n\n public simulateKeyPress(...keyCodes: number[]) {\n const timeMs = Date.now() - this.startedAt;\n keyCodes.forEach((keyCode) => this.addKey(keyCode, true, timeMs));\n keyCodes.forEach((keyCode) => this.addKey(keyCode, false, timeMs + 16));\n }\n\n public sendKeyEvent(keyCode: number, pressed: boolean) {\n this.addKey(keyCode, pressed, Date.now() - this.startedAt);\n }\n\n // public for test\n public addKey(keyCode: number, pressed: boolean, timeMs: number) {\n const keyPressed = this.keyMatrix[keyCode] === true;\n if (keyPressed === pressed) {\n return;\n }\n this.keyMatrix[keyCode] = pressed;\n this.sendClientMessage(\"wc-add-key\", { key: keyCode, pressed, timeMs });\n }\n\n public sendMouseMotion(x: number, y: number) {\n this.sendClientMessage(\"wc-mouse-move\", { x, y, relative: false, timeMs: Date.now() - this.startedAt });\n }\n\n public sendMouseRelativeMotion(x: number, y: number) {\n this.sendClientMessage(\"wc-mouse-move\", { x, y, relative: true, timeMs: Date.now() - this.startedAt });\n }\n\n public sendMouseButton(button: number, pressed: boolean) {\n this.sendClientMessage(\"wc-mouse-button\", { button, pressed, timeMs: Date.now() - this.startedAt });\n }\n\n public sendMouseSync() {\n this.sendClientMessage(\"wc-mouse-sync\", { timeMs: Date.now() - this.startedAt });\n }\n\n\n public persist(): Promise<Uint8Array> {\n if (this.persistPromise !== undefined) {\n return this.persistPromise;\n }\n\n\n const persistPromise = new Promise<Uint8Array>((resolve) => this.persistResolve = resolve);\n this.persistPromise = persistPromise;\n\n this.sendClientMessage(\"wc-pack-fs-to-bundle\");\n\n return persistPromise;\n }\n\n private onPersist(bundle: Uint8Array) {\n if (this.persistResolve) {\n this.persistResolve(bundle);\n delete this.persistPromise;\n delete this.persistResolve;\n }\n }\n\n public pause() {\n this.sendClientMessage(\"wc-pause\");\n }\n\n public resume() {\n this.sendClientMessage(\"wc-resume\");\n }\n\n public mute() {\n this.sendClientMessage(\"wc-mute\");\n }\n\n public unmute() {\n this.sendClientMessage(\"wc-unmute\");\n }\n\n public exit(): Promise<void> {\n if (this.exitPromise !== undefined) {\n return this.exitPromise;\n }\n this.exitPromise = new Promise<void>((resolve) => this.exitResolve = resolve);\n this.exitPromise.then(() => {\n this.events().fireExit();\n });\n\n this.resume();\n this.sendClientMessage(\"wc-exit\");\n\n return this.exitPromise;\n }\n\n private onExit() {\n if (this.transport.exit !== undefined) {\n this.transport.exit();\n }\n if (this.exitResolve) {\n this.exitResolve();\n delete this.exitPromise;\n delete this.exitResolve;\n }\n }\n\n public events() {\n return this.eventsImpl;\n }\n\n public networkConnect(networkType: NetworkType, address: string, port: number): Promise<void> {\n if (this.connectPromise !== null || this.disconnectPromise !== null) {\n return Promise.reject(new Error(\"Already prefoming connection or disconnection...\"));\n }\n\n this.connectPromise = new Promise<void>((resolve, reject) => {\n if (!address.startsWith(\"wss://\") && !address.startsWith(\"ws://\")) {\n address = (window.location.protocol === \"http:\" ? \"ws://\" : \"wss://\") + address;\n }\n\n this.connectResolve = resolve;\n this.connectReject = reject;\n this.sendClientMessage(\"wc-connect\", {\n networkType,\n address,\n port,\n });\n });\n return this.connectPromise;\n }\n\n public networkDisconnect(networkType: NetworkType): Promise<void> {\n if (this.connectPromise !== null || this.disconnectPromise !== null) {\n return Promise.reject(new Error(\"Already prefoming connection or disconnection...\"));\n }\n\n this.disconnectPromise = new Promise<void>((resolve) => {\n this.disconnectResolve = resolve;\n\n this.sendClientMessage(\"wc-disconnect\", {\n networkType,\n });\n });\n return this.disconnectPromise;\n }\n}\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).zip={})}(this,(function(e){\"use strict\";const t=-2,n=-3,i=-5,r=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],a=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],s=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],o=[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],c=[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,112,112],l=[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],d=[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],u=15;function f(){let e,t,r,a,s,f;function h(e,t,o,c,l,d,h,_,w,p,b){let g,y,x,m,k,v,A,R,U,E,S,z,D,T,F;E=0,k=o;do{r[e[t+E]]++,E++,k--}while(0!==k);if(r[0]==o)return h[0]=-1,_[0]=0,0;for(R=_[0],v=1;v<=u&&0===r[v];v++);for(A=v,R<v&&(R=v),k=u;0!==k&&0===r[k];k--);for(x=k,R>k&&(R=k),_[0]=R,T=1<<v;v<k;v++,T<<=1)if((T-=r[v])<0)return n;if((T-=r[k])<0)return n;for(r[k]+=T,f[1]=v=0,E=1,D=2;0!=--k;)f[D]=v+=r[E],D++,E++;k=0,E=0;do{0!==(v=e[t+E])&&(b[f[v]++]=k),E++}while(++k<o);for(o=f[x],f[0]=k=0,E=0,m=-1,z=-R,s[0]=0,S=0,F=0;A<=x;A++)for(g=r[A];0!=g--;){for(;A>z+R;){if(m++,z+=R,F=x-z,F=F>R?R:F,(y=1<<(v=A-z))>g+1&&(y-=g+1,D=A,v<F))for(;++v<F&&!((y<<=1)<=r[++D]);)y-=r[D];if(F=1<<v,p[0]+F>1440)return n;s[m]=S=p[0],p[0]+=F,0!==m?(f[m]=k,a[0]=v,a[1]=R,v=k>>>z-R,a[2]=S-s[m-1]-v,w.set(a,3*(s[m-1]+v))):h[0]=S}for(a[1]=A-z,E>=o?a[0]=192:b[E]<c?(a[0]=b[E]<256?0:96,a[2]=b[E++]):(a[0]=d[b[E]-c]+16+64,a[2]=l[b[E++]-c]),y=1<<A-z,v=k>>>z;v<F;v+=y)w.set(a,3*(S+v));for(v=1<<A-1;0!=(k&v);v>>>=1)k^=v;for(k^=v,U=(1<<z)-1;(k&U)!=f[m];)m--,z-=R,U=(1<<z)-1}return 0!==T&&1!=x?i:0}function _(n){let i;for(e||(e=[],t=[],r=new Int32Array(16),a=[],s=new Int32Array(u),f=new Int32Array(16)),t.length<n&&(t=[]),i=0;i<n;i++)t[i]=0;for(i=0;i<16;i++)r[i]=0;for(i=0;i<3;i++)a[i]=0;s.set(r.subarray(0,u),0),f.set(r.subarray(0,16),0)}this.inflate_trees_bits=function(r,a,s,o,c){let l;return _(19),e[0]=0,l=h(r,0,19,19,null,null,s,a,o,e,t),l==n?c.msg=\"oversubscribed dynamic bit lengths tree\":l!=i&&0!==a[0]||(c.msg=\"incomplete dynamic bit lengths tree\",l=n),l},this.inflate_trees_dynamic=function(r,a,s,u,f,w,p,b,g){let y;return _(288),e[0]=0,y=h(s,0,r,257,o,c,w,u,b,e,t),0!=y||0===u[0]?(y==n?g.msg=\"oversubscribed literal/length tree\":-4!=y&&(g.msg=\"incomplete literal/length tree\",y=n),y):(_(288),y=h(s,r,a,0,l,d,p,f,b,e,t),0!=y||0===f[0]&&r>257?(y==n?g.msg=\"oversubscribed distance tree\":y==i?(g.msg=\"incomplete distance tree\",y=n):-4!=y&&(g.msg=\"empty distance tree with lengths\",y=n),y):0)}}f.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=a,i[0]=s,0};function h(){const e=this;let i,a,s,o,c=0,l=0,d=0,u=0,f=0,h=0,_=0,w=0,p=0,b=0;function g(e,t,i,a,s,o,c,l){let d,u,f,h,_,w,p,b,g,y,x,m,k,v,A,R;p=l.next_in_index,b=l.avail_in,_=c.bitb,w=c.bitk,g=c.write,y=g<c.read?c.read-g-1:c.end-g,x=r[e],m=r[t];do{for(;w<20;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(d=_&x,u=i,f=a,R=3*(f+d),0!==(h=u[R]))for(;;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15,k=u[R+2]+(_&r[h]),_>>=h,w-=h;w<15;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;for(d=_&m,u=s,f=o,R=3*(f+d),h=u[R];;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15;w<h;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(v=u[R+2]+(_&r[h]),_>>=h,w-=h,y-=k,g>=v)A=g-v,g-A>0&&2>g-A?(c.window[g++]=c.window[A++],c.window[g++]=c.window[A++],k-=2):(c.window.set(c.window.subarray(A,A+2),g),g+=2,A+=2,k-=2);else{A=g-v;do{A+=c.end}while(A<0);if(h=c.end-A,k>h){if(k-=h,g-A>0&&h>g-A)do{c.window[g++]=c.window[A++]}while(0!=--h);else c.window.set(c.window.subarray(A,A+h),g),g+=h,A+=h,h=0;A=0}}if(g-A>0&&k>g-A)do{c.window[g++]=c.window[A++]}while(0!=--k);else c.window.set(c.window.subarray(A,A+k),g),g+=k,A+=k,k=0;break}if(0!=(64&h))return l.msg=\"invalid distance code\",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n;d+=u[R+2],d+=_&r[h],R=3*(f+d),h=u[R]}break}if(0!=(64&h))return 0!=(32&h)?(k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,1):(l.msg=\"invalid literal/length code\",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n);if(d+=u[R+2],d+=_&r[h],R=3*(f+d),0===(h=u[R])){_>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--;break}}else _>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--}while(y>=258&&b>=10);return k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,0}e.init=function(e,t,n,r,c,l){i=0,_=e,w=t,s=n,p=r,o=c,b=l,a=null},e.proc=function(e,y,x){let m,k,v,A,R,U,E,S=0,z=0,D=0;for(D=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R;;)switch(i){case 0:if(U>=258&&A>=10&&(e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,x=g(_,w,s,p,o,b,e,y),D=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R,0!=x)){i=1==x?7:9;break}d=_,a=s,l=p,i=1;case 1:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>>=a[k+1],z-=a[k+1],v=a[k],0===v){u=a[k+2],i=6;break}if(0!=(16&v)){f=15&v,c=a[k+2],i=2;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}if(0!=(32&v)){i=7;break}return i=9,y.msg=\"invalid literal/length code\",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 2:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}c+=S&r[m],S>>=m,z-=m,d=w,a=o,l=b,i=3;case 3:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>=a[k+1],z-=a[k+1],v=a[k],0!=(16&v)){f=15&v,h=a[k+2],i=4;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}return i=9,y.msg=\"invalid distance code\",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 4:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}h+=S&r[m],S>>=m,z-=m,i=5;case 5:for(E=R-h;E<0;)E+=e.end;for(;0!==c;){if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);e.window[R++]=e.window[E++],U--,E==e.end&&(E=0),c--}i=0;break;case 6:if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,e.window[R++]=u,U--,i=0;break;case 7:if(z>7&&(z-=8,A++,D--),e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,e.read!=e.write)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);i=8;case 8:return x=1,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 9:return x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);default:return x=t,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x)}},e.free=function(){}}const _=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function w(e,a){const s=this;let o,c=0,l=0,d=0,u=0;const w=[0],p=[0],b=new h;let g=0,y=new Int32Array(4320);const x=new f;s.bitk=0,s.bitb=0,s.window=new Uint8Array(a),s.end=a,s.read=0,s.write=0,s.reset=function(e,t){t&&(t[0]=0),6==c&&b.free(e),c=0,s.bitk=0,s.bitb=0,s.read=s.write=0},s.reset(e,null),s.inflate_flush=function(e,t){let n,r,a;return r=e.next_out_index,a=s.read,n=(a<=s.write?s.write:s.end)-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n,a==s.end&&(a=0,s.write==s.end&&(s.write=0),n=s.write-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n),e.next_out_index=r,s.read=a,t},s.proc=function(e,i){let a,h,m,k,v,A,R,U;for(k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A;;){let E,S,z,D,T,F,C,O;switch(c){case 0:for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}switch(a=7&h,g=1&a,a>>>1){case 0:h>>>=3,m-=3,a=7&m,h>>>=a,m-=a,c=1;break;case 1:E=[],S=[],z=[[]],D=[[]],f.inflate_trees_fixed(E,S,z,D),b.init(E[0],S[0],z[0],0,D[0],0),h>>>=3,m-=3,c=6;break;case 2:h>>>=3,m-=3,c=3;break;case 3:return h>>>=3,m-=3,c=9,e.msg=\"invalid block type\",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}break;case 1:for(;m<32;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if((~h>>>16&65535)!=(65535&h))return c=9,e.msg=\"invalid stored block lengths\",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=65535&h,h=m=0,c=0!==l?2:0!==g?7:0;break;case 2:if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(0===R&&(A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R&&(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R)))return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(i=0,a=l,a>v&&(a=v),a>R&&(a=R),s.window.set(e.read_buf(k,a),A),k+=a,v-=a,A+=a,R-=a,0!=(l-=a))break;c=0!==g?7:0;break;case 3:for(;m<14;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(d=a=16383&h,(31&a)>29||(a>>5&31)>29)return c=9,e.msg=\"too many length or distance symbols\",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(a=258+(31&a)+(a>>5&31),!o||o.length<a)o=[];else for(U=0;U<a;U++)o[U]=0;h>>>=14,m-=14,u=0,c=4;case 4:for(;u<4+(d>>>10);){for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}o[_[u++]]=7&h,h>>>=3,m-=3}for(;u<19;)o[_[u++]]=0;if(w[0]=7,a=x.inflate_trees_bits(o,w,p,y,e),0!=a)return(i=a)==n&&(o=null,c=9),s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);u=0,c=5;case 5:for(;a=d,!(u>=258+(31&a)+(a>>5&31));){let t,l;for(a=w[0];m<a;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(a=y[3*(p[0]+(h&r[a]))+1],l=y[3*(p[0]+(h&r[a]))+2],l<16)h>>>=a,m-=a,o[u++]=l;else{for(U=18==l?7:l-14,t=18==l?11:3;m<a+U;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(h>>>=a,m-=a,t+=h&r[U],h>>>=U,m-=U,U=u,a=d,U+t>258+(31&a)+(a>>5&31)||16==l&&U<1)return o=null,c=9,e.msg=\"invalid bit length repeat\",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=16==l?o[U-1]:0;do{o[U++]=l}while(0!=--t);u=U}}if(p[0]=-1,T=[],F=[],C=[],O=[],T[0]=9,F[0]=6,a=d,a=x.inflate_trees_dynamic(257+(31&a),1+(a>>5&31),o,T,F,C,O,y,e),0!=a)return a==n&&(o=null,c=9),i=a,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);b.init(T[0],F[0],y,C[0],y,O[0]),c=6;case 6:if(s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,1!=(i=b.proc(s,e,i)))return s.inflate_flush(e,i);if(i=0,b.free(e),k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A,0===g){c=0;break}c=7;case 7:if(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,s.read!=s.write)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);c=8;case 8:return i=1,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);case 9:return i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);default:return i=t,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}}},s.free=function(e){s.reset(e,null),s.window=null,y=null},s.set_dictionary=function(e,t,n){s.window.set(e.subarray(t,t+n),0),s.read=s.write=n},s.sync_point=function(){return 1==c?1:0}}const p=13,b=[0,0,255,255];function g(){const e=this;function r(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):t}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(t){return e.blocks&&e.blocks.free(t),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),t):(e.wbits=i,n.istate.blocks=new w(n,1<<i),r(n),0)},e.inflate=function(e,r){let a,s;if(!e||!e.istate||!e.next_in)return t;const o=e.istate;for(r=4==r?i:0,a=i;;)switch(o.mode){case 0:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,8!=(15&(o.method=e.read_byte(e.next_in_index++)))){o.mode=p,e.msg=\"unknown compression method\",o.marker=5;break}if(8+(o.method>>4)>o.wbits){o.mode=p,e.msg=\"invalid window size\",o.marker=5;break}o.mode=1;case 1:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,s=255&e.read_byte(e.next_in_index++),((o.method<<8)+s)%31!=0){o.mode=p,e.msg=\"incorrect header check\",o.marker=5;break}if(0==(32&s)){o.mode=7;break}o.mode=2;case 2:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,o.mode=3;case 3:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,o.mode=4;case 4:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,o.mode=5;case 5:return 0===e.avail_in?a:(a=r,e.avail_in--,e.total_in++,o.need+=255&e.read_byte(e.next_in_index++),o.mode=6,2);case 6:return o.mode=p,e.msg=\"need dictionary\",o.marker=0,t;case 7:if(a=o.blocks.proc(e,a),a==n){o.mode=p,o.marker=0;break}if(0==a&&(a=r),1!=a)return a;a=r,o.blocks.reset(e,o.was),o.mode=12;case 12:return 1;case p:return n;default:return t}},e.inflateSetDictionary=function(e,n,i){let r=0,a=i;if(!e||!e.istate||6!=e.istate.mode)return t;const s=e.istate;return a>=1<<s.wbits&&(a=(1<<s.wbits)-1,r=i-a),s.blocks.set_dictionary(n,r,a),s.mode=7,0},e.inflateSync=function(e){let a,s,o,c,l;if(!e||!e.istate)return t;const d=e.istate;if(d.mode!=p&&(d.mode=p,d.marker=0),0===(a=e.avail_in))return i;for(s=e.next_in_index,o=d.marker;0!==a&&o<4;)e.read_byte(s)==b[o]?o++:o=0!==e.read_byte(s)?0:4-o,s++,a--;return e.total_in+=s-e.next_in_index,e.next_in_index=s,e.avail_in=a,d.marker=o,4!=o?n:(c=e.total_in,l=e.total_out,r(e),e.total_in=c,e.total_out=l,d.mode=7,0)},e.inflateSyncPoint=function(e){return e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():t}}function y(){}y.prototype={inflateInit:function(e){const t=this;return t.istate=new g,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const n=this;return n.istate?n.istate.inflate(n,e):t},inflateEnd:function(){const e=this;if(!e.istate)return t;const n=e.istate.inflateEnd(e);return e.istate=null,n},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):t},inflateSetDictionary:function(e,n){const i=this;return i.istate?i.istate.inflateSetDictionary(i,e,n):t},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};const x={chunkSize:524288,maxWorkers:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},m=Object.assign({},x);function k(e){if(void 0!==e.chunkSize&&(m.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(m.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(m.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(m.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(m.Deflate=e.Deflate),void 0!==e.Inflate&&(m.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error(\"workerScripts.deflate must be an array\");m.workerScripts||(m.workerScripts={}),m.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error(\"workerScripts.inflate must be an array\");m.workerScripts||(m.workerScripts={}),m.workerScripts.inflate=e.workerScripts.inflate}}}const v=\"Abort error\";function A(e,t){if(e&&e.aborted)throw t.flush(),new Error(v)}async function R(e,t){return t.length&&await e.writeUint8Array(t),t.length}const U=\"HTTP error \",E=\"HTTP Range not supported\",S=\"text/plain\",z=\"Content-Length\",D=\"Accept-Ranges\",T=\"HEAD\",F=\"GET\",C=\"bytes\";class O{constructor(){this.size=0}init(){this.initialized=!0}}class I extends O{}class W extends O{writeUint8Array(e){this.size+=e.length}}class M extends I{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((i,r)=>{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=()=>r(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class H extends I{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest){const e=await B(T,this.url,this.options);if(this.size=Number(e.headers.get(z)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(D)!=C)throw new Error(E);void 0===this.size&&await L(this,this.options)}else await L(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await B(F,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:\"bytes=\"+e+\"-\"+(e+t-1)}));if(206!=n.status)throw new Error(E);return new Uint8Array(await n.arrayBuffer())}return this.data||await L(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function L(e,t){const n=await B(F,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function B(e,t,n,i){i=Object.assign({},n.headers,i);const r=await fetch(t,Object.assign({},n,{method:e,headers:i}));if(r.status<400)return r;throw new Error(U+(r.statusText||r.status))}class N extends I{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>j(T,this.url,(n=>{this.size=Number(n.getResponseHeader(z)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(D)==C?e():t(new Error(E)):void 0===this.size?P(this,this.url).then((()=>e())).catch(t):e()}),t)));await P(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await P(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>j(F,this.url,(e=>n(new Uint8Array(e.response))),i,[[\"Range\",\"bytes=\"+e+\"-\"+(e+t-1)]])))).status)throw new Error(E)}}function P(e,t){return new Promise(((n,i)=>j(F,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function j(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener(\"load\",(()=>{a.status<400?n(a):i(U+(a.statusText||a.status))}),!1),a.addEventListener(\"error\",i,!1),a.open(e,t),r.forEach((e=>a.setRequestHeader(e[0],e[1]))),a.responseType=\"arraybuffer\",a.send(),a}class q extends I{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new N(e,t):this.reader=new H(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function V(e){if(\"undefined\"!=typeof document){const t=document.createElement(\"a\");return t.href=e,\"http:\"==t.protocol||\"https:\"==t.protocol}return/^https?:\\/\\//i.test(e)}const G=4294967295,Z=33639248,K=101075792,X=\"\\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \".split(\"\");const Y=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;Y[e]=t}class J{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n<i;n++)t=t>>>8^Y[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Q={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Q.getPartial(n);return 32===i?e.concat(t):Q._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+Q.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Q.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r<e.length;r++)i.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Q.getPartial(r);return i.push(Q.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},$={bytes:{fromBits(e){const t=Q.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r<t;r++)0==(3&r)&&(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3==(3&n)&&(t.push(i),i=0);return 3&n&&t.push(Q.partial(8*(3&n),i)),t}}},ee={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};ee.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;\"string\"==typeof e&&(e=$.utf8String.toBits(e));const n=t._buffer=Q.concat(t._buffer,e),i=t._length,r=t._length=i+Q.bitLength(e);if(r>9007199254740991)throw new Error(\"Cannot hash more than 2^53 - 1 bits\");const a=new Uint32Array(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);e<=r;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=Q.concat(t,[Q.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,i){return e<=19?t&n|~t&i:e<=39?t^n^i:e<=59?t&n|t&i|n&i:e<=79?t^n^i:void 0},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,n=t._h,i=Array(80);for(let t=0;t<16;t++)i[t]=e[t];let r=n[0],a=n[1],s=n[2],o=n[3],c=n[4];for(let e=0;e<=79;e++){e>=16&&(i[e]=t._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const n=t._S(5,r)+t._f(e,a,s,o)+c+i[e]+t._key[Math.floor(e/20)]|0;c=o,o=s,s=t._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}};const te={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,c=1;if(4!==r&&6!==r&&8!==r)throw new Error(\"invalid aes key size\");for(t._key=[s=e.slice(0),o=[]],a=r;a<4*r+28;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=a<=4||e<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,c,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,l=r[c=r[o=r[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error(\"invalid aes block size\");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,h,_=e[0]^n[0],w=e[t?3:1]^n[1],p=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;e<i;e++)u=s[_>>>24]^o[w>>16&255]^c[p>>8&255]^l[255&b]^n[g],f=s[w>>>24]^o[p>>16&255]^c[b>>8&255]^l[255&_]^n[g+1],h=s[p>>>24]^o[b>>16&255]^c[_>>8&255]^l[255&w]^n[g+2],b=s[b>>>24]^o[_>>16&255]^c[w>>8&255]^l[255&p]^n[g+3],g+=4,_=u,w=f,p=h;for(let e=0;e<4;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],u=_,_=w,w=p,p=b,b=u;return r}}},ne={ctrGladman:class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=Q.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return Q.clamp(t,r)}}},ie={hmacSha1:class{constructor(e){const t=this,n=t._hash=ee.sha1,i=[[],[]],r=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>r&&(e=n.hash(e));for(let t=0;t<r;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}}},re=\"Invalid pasword\",ae=16,se={name:\"PBKDF2\"},oe=Object.assign({hash:{name:\"HMAC\"}},se),ce=Object.assign({iterations:1e3,hash:{name:\"SHA-1\"}},se),le=[\"deriveBits\"],de=[8,12,16],ue=[16,24,32],fe=10,he=[0,0,0,0],_e=$.bytes,we=te.aes,pe=ne.ctrGladman,be=ie.hmacSha1;class ge{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=ve(e,0,de[t.strength]+2);await async function(e,t,n){await me(e,n,ve(t,0,de[e.strength]));const i=ve(t,de[e.strength]),r=e.keys.passwordVerification;if(r[0]!=i[0]||r[1]!=i[1])throw new Error(re)}(t,n,t.password),t.password=null,t.aesCtrGladman=new pe(new we(t.keys.key),Array.from(he)),t.hmac=new be(t.keys.authentication),e=ve(e,de[t.strength]+2)}return xe(t,e,new Uint8Array(e.length-fe-(e.length-fe)%ae),0,fe,!0)}flush(){const e=this,t=e.pendingInput,n=ve(t,0,t.length-fe),i=ve(t,t.length-fe);let r=new Uint8Array(0);if(n.length){const t=_e.toBits(n);e.hmac.update(t);const i=e.aesCtrGladman.update(t);r=_e.fromBits(i)}let a=!0;if(e.signed){const t=ve(_e.fromBits(e.hmac.digest()),0,fe);for(let e=0;e<fe;e++)t[e]!=i[e]&&(a=!1)}return{valid:a,data:r}}}class ye{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(de[e.strength]));return await me(e,t,n),ke(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new pe(new we(t.keys.key),Array.from(he)),t.hmac=new be(t.keys.authentication));const i=new Uint8Array(n.length+e.length-e.length%ae);return i.set(n,0),xe(t,e,i,n.length,0)}flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(_e.toBits(e.pendingInput));e.hmac.update(n),t=_e.fromBits(n)}const n=ve(_e.fromBits(e.hmac.digest()),0,fe);return{data:ke(t,n),signature:n}}}function xe(e,t,n,i,r,a){const s=t.length-r;let o;for(e.pendingInput.length&&(t=ke(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%ae)),o=0;o<=s-ae;o+=ae){const r=_e.toBits(ve(t,o,o+ae));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(_e.fromBits(s),o+i)}return e.pendingInput=ve(t,o),n}async function me(e,t,n){const i=(new TextEncoder).encode(t),r=await crypto.subtle.importKey(\"raw\",i,oe,!1,le),a=await crypto.subtle.deriveBits(Object.assign({salt:n},ce),r,8*(2*ue[e.strength]+2)),s=new Uint8Array(a);e.keys={key:_e.toBits(ve(s,0,ue[e.strength])),authentication:_e.toBits(ve(s,ue[e.strength],2*ue[e.strength])),passwordVerification:ve(s,2*ue[e.strength])}}function ke(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ve(e,t,n){return e.subarray(t,n)}const Ae=12;class Re{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ze(this,e)}append(e){const t=this;if(t.password){const n=Ee(t,e.subarray(0,Ae));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(re);e=e.subarray(Ae)}return Ee(t,e)}flush(){return{valid:!0,data:new Uint8Array(0)}}}class Ue{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ze(this,e)}append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(Ae));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(Se(t,r),0),i=Ae}else n=new Uint8Array(e.length),i=0;return n.set(Se(t,e),i),n}flush(){return{data:new Uint8Array(0)}}}function Ee(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Te(e)^t[i],De(e,n[i]);return n}function Se(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Te(e)^t[i],De(e,t[i]);return n}function ze(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new J(e.keys[0]),e.crcKey2=new J(e.keys[2]);for(let n=0;n<t.length;n++)De(e,t.charCodeAt(n))}function De(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Ce(e.keys[1]+Fe(e.keys[0])),e.keys[1]=Ce(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Te(e){const t=2|e.keys[2];return Fe(Math.imul(t,1^t)>>>8)}function Fe(e){return 255&e}function Ce(e){return 4294967295&e}const Oe=\"inflate\",Ie=\"Invalid signature\";class We{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:i,compressed:r,inflate:r&&new e({chunkSize:c}),crc32:i&&new J,zipCrypto:a,decrypt:l&&a?new Re(n,s):new ge(n,i,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=e.decrypt.flush();if(!t.valid)throw new Error(Ie);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(Ie)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class Me{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5,chunkSize:l}),crc32:n&&new J,zipCrypto:a,encrypt:t&&a?new Ue(s,o):new ye(s,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const i=e.encrypt.flush();t=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const He=\"init\",Le=\"append\",Be=\"flush\",Ne=\"message\";let Pe=!0;var je=(e,t,n,i,r,a,s)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:s,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,r(e)}}),a?function(e,t){let n;const i={type:\"module\"};if(!e.interface){if(Pe)try{e.worker=r()}catch(t){Pe=!1,e.worker=r(i)}else e.worker=r(i);e.worker.addEventListener(Ne,o,!1),e.interface={append:e=>a({type:Le,data:e}),flush:()=>a({type:Be})}}return e.interface;function r(t={}){return new Worker(new URL(e.scripts[0],\"undefined\"==typeof document&&\"undefined\"==typeof location?new(require(\"url\").URL)(\"file:\"+__filename).href:\"undefined\"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL(\"zip-no-worker-inflate.min.js\",document.baseURI).href),t)}async function a(i){if(!n){const n=e.options,i=e.scripts.slice(1);await s({scripts:i,type:He,options:n,config:{chunkSize:t.chunkSize}})}return s(i)}function s(t){const i=e.worker,r=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,i.postMessage(t,[t.data])}catch(e){i.postMessage(t)}else i.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return r}function o(t){const i=t.data;if(n){const t=i.error,r=i.type;if(t){const i=new Error(t.message);i.stack=t.stack,n.reject(i),n=null,e.onTaskFinished()}else if(r==He||r==Be||r==Le){const t=i.data;r==Be?(n.resolve({data:new Uint8Array(t),signature:i.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,i):function(e,t){const n=function(e,t,n){return t.codecType.startsWith(\"deflate\")?new Me(e,t,n):t.codecType.startsWith(Oe)?new We(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,i));let qe=[],Ve=[];function Ge(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}const Ze=[\"filename\",\"rawFilename\",\"directory\",\"encrypted\",\"compressedSize\",\"uncompressedSize\",\"lastModDate\",\"rawLastModDate\",\"comment\",\"rawComment\",\"signature\",\"extraField\",\"rawExtraField\",\"bitFlag\",\"extraFieldZip64\",\"extraFieldUnicodePath\",\"extraFieldUnicodeComment\",\"extraFieldAES\",\"filenameUTF8\",\"commentUTF8\",\"offset\",\"zip64\",\"compressionMethod\",\"extraFieldNTFS\",\"lastAccessDate\",\"creationDate\",\"extraFieldExtendedTimestamp\",\"version\",\"versionMadeBy\",\"msDosCompatible\",\"internalFileAttribute\",\"externalFileAttribute\"];class Ke{constructor(e){Ze.forEach((t=>this[t]=e[t]))}}const Xe=\"File format is not recognized\",Ye=\"End of central directory not found\",Je=\"End of Zip64 central directory not found\",Qe=\"End of Zip64 central directory locator not found\",$e=\"Central directory header not found\",et=\"Local file header not found\",tt=\"Zip64 extra field not found\",nt=\"File contains encrypted entry\",it=\"Encryption method not supported\",rt=\"Compression method not supported\",at=\"utf-8\",st=[\"uncompressedSize\",\"compressedSize\",\"offset\"];class ot{constructor(e,t,n){Object.assign(this,{reader:e,config:t,options:n})}async getData(e,t,n={}){const i=this,{reader:r,offset:a,extraFieldAES:s,compressionMethod:o,config:c,bitFlag:l,signature:d,rawLastModDate:u,compressedSize:f}=i,h=i.localDirectory={};r.initialized||await r.init();let _=await xt(r,a,30);const w=yt(_);let p=ut(i,n,\"password\");if(p=p&&p.length&&p,s&&99!=s.originalCompressionMethod)throw new Error(rt);if(0!=o&&8!=o)throw new Error(rt);if(67324752!=bt(w,0))throw new Error(et);ct(h,w,4),_=await xt(r,a,30+h.filenameLength+h.extraFieldLength),h.rawExtraField=_.subarray(30+h.filenameLength),lt(i,h,w,4),t.lastAccessDate=h.lastAccessDate,t.creationDate=h.creationDate;const b=i.encrypted&&h.encrypted,g=b&&!s;if(b){if(!g&&void 0===s.strength)throw new Error(it);if(!p)throw new Error(nt)}const y=await function(e,t,n){const i=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[t.codecType]:[];if(qe.length<n.maxWorkers){const s={};return qe.push(s),je(s,e,t,n,a,i,r)}{const s=qe.find((e=>!e.busy));return s?(Ge(s),je(s,e,t,n,a,i,r)):new Promise((n=>Ve.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}function a(e){if(Ve.length){const[{resolve:t,codecConstructor:i,options:r,webWorker:s,scripts:o}]=Ve.splice(0,1);t(je(e,i,r,n,a,s,o))}else e.worker?(Ge(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{qe=qe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):qe=qe.filter((t=>t!=e))}}(c.Inflate,{codecType:Oe,password:p,zipCrypto:g,encryptionStrength:s&&s.strength,signed:ut(i,n,\"checkSignature\"),passwordVerification:g&&(l.dataDescriptor?u>>>8&255:d>>>24&255),signature:d,compressed:0!=o,encrypted:b,useWebWorkers:ut(i,n,\"useWebWorkers\")},c);e.initialized||await e.init();const x=ut(i,n,\"signal\"),m=a+30+h.filenameLength+h.extraFieldLength;return await async function(e,t,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(c=0,l=0){const d=s.signal;if(c<r){A(d,e);const u=await t.readUint8Array(c+i,Math.min(o,r-c)),f=u.length;A(d,e);const h=await e.append(u);if(A(d,e),l+=await R(n,h),s.onprogress)try{s.onprogress(c+f,r)}catch(e){}return a(c+o,l)}{const t=await e.flush();return l+=await R(n,t.data),{signature:t.signature,length:l}}}()}(y,r,e,m,f,c,{onprogress:n.onprogress,signal:x}),e.getData()}}function ct(e,t,n){const i=e.rawBitFlag=pt(t,n+2),r=1==(1&i),a=bt(t,n+6);Object.assign(e,{encrypted:r,version:pt(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:2048==(2048&i)},rawLastModDate:a,lastModDate:ht(a),filenameLength:pt(t,n+22),extraFieldLength:pt(t,n+24)})}function lt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=yt(new Uint8Array(r));let o=0;try{for(;o<r.length;){const e=pt(s,o),t=pt(s,o+2);a.set(e,{type:e,data:r.slice(o+4,o+4+t)}),o+=4+t}}catch(e){}const c=pt(n,i+4);t.signature=bt(n,i+10),t.uncompressedSize=bt(n,i+18),t.compressedSize=bt(n,i+14);const l=a.get(1);l&&(!function(e,t){t.zip64=!0;const n=yt(e.data);e.values=[];for(let t=0;t<Math.floor(e.data.length/8);t++)e.values.push(gt(n,0+8*t));const i=st.filter((e=>t[e]==G));for(let t=0;t<i.length;t++)e[i[t]]=e.values[t];st.forEach((n=>{if(t[n]==G){if(void 0===e[n])throw new Error(tt);t[n]=e[n]}}))}(l,t),t.extraFieldZip64=l);const d=a.get(28789);d&&(dt(d,\"filename\",\"rawFilename\",t,e),t.extraFieldUnicodePath=d);const u=a.get(25461);u&&(dt(u,\"comment\",\"rawComment\",t,e),t.extraFieldUnicodeComment=u);const f=a.get(39169);f?(!function(e,t,n){const i=yt(e.data);e.vendorVersion=wt(i,0),e.vendorId=wt(i,2);const r=wt(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=pt(i,5)}(f,t,c),t.extraFieldAES=f):t.compressionMethod=c;const h=a.get(10);h&&(!function(e,t){const n=yt(e.data);let i,r=4;try{for(;r<e.data.length&&!i;){const t=pt(n,r),a=pt(n,r+2);1==t&&(i=e.data.slice(r+4,r+4+a)),r+=4+a}}catch(e){}try{if(i&&24==i.length){const n=yt(i),r=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),s=n.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:r,rawLastAccessDate:a,rawCreationDate:s});const o=_t(r),c=_t(a),l={lastModDate:o,lastAccessDate:c,creationDate:_t(s)};Object.assign(e,l),Object.assign(t,l)}}catch(e){}}(h,t),t.extraFieldNTFS=h);const _=a.get(21589);_&&(!function(e,t){const n=yt(e.data),i=wt(n,0),r=[],a=[];1==(1&i)&&(r.push(\"lastModDate\"),a.push(\"rawLastModDate\"));2==(2&i)&&(r.push(\"lastAccessDate\"),a.push(\"rawLastAccessDate\"));4==(4&i)&&(r.push(\"creationDate\"),a.push(\"rawCreationDate\"));let s=1;r.forEach(((i,r)=>{if(e.data.length>=s+4){const o=bt(n,s);t[i]=e[i]=new Date(1e3*o);const c=a[r];e[c]=o}s+=4}))}(_,t),t.extraFieldExtendedTimestamp=_)}function dt(e,t,n,i,r){const a=yt(e.data);e.version=wt(a,0),e.signature=bt(a,1);const s=new J;s.append(r[n]);const o=yt(new Uint8Array(4));o.setUint32(0,s.get(),!0),e[t]=(new TextDecoder).decode(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==bt(o,0),e.valid&&(i[t]=e[t],i[t+\"UTF8\"]=!0)}function ut(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function ft(e,t){return t&&\"cp437\"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t=\"\";for(let n=0;n<e.length;n++)t+=X[e[n]];return t})(e)}function ht(e){const t=(4294901760&e)>>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function _t(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function wt(e,t){return e.getUint8(t)}function pt(e,t){return e.getUint16(t,!0)}function bt(e,t){return e.getUint32(t,!0)}function gt(e,t){return Number(e.getBigUint64(t,!0))}function yt(e){return new DataView(e.buffer)}function xt(e,t,n){return e.readUint8Array(t,n)}k({Inflate:function(e){const t=new y,n=e&&e.chunkSize?Math.floor(2*e.chunkSize):131072,r=new Uint8Array(n);let a=!1;t.inflateInit(),t.next_out=r,this.append=function(e,s){const o=[];let c,l,d=0,u=0,f=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||a||(t.next_in_index=0,a=!0),c=t.inflate(0),a&&c===i){if(0!==t.avail_in)throw new Error(\"inflating: bad input\")}else if(0!==c&&1!==c)throw new Error(\"inflating: \"+t.msg);if((a||1===c)&&t.avail_in===e.length)throw new Error(\"inflating: bad input\");t.next_out_index&&(t.next_out_index===n?o.push(new Uint8Array(r)):o.push(r.slice(0,t.next_out_index))),f+=t.next_out_index,s&&t.next_in_index>0&&t.next_in_index!=d&&(s(t.next_in_index),d=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o.length>1?(l=new Uint8Array(f),o.forEach((function(e){l.set(e,u),u+=e.length}))):l=o[0]||new Uint8Array(0),l}},this.flush=function(){t.inflateEnd()}}}),e.BlobReader=M,e.BlobWriter=class extends W{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}},e.Data64URIReader=class extends I{constructor(e){super(),this.dataURI=e;let t=e.length;for(;\"=\"==e.charAt(t-1);)t--;this.dataStart=e.indexOf(\",\")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),i=4*Math.floor(e/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),a=e-3*Math.floor(i/4);for(let e=a;e<a+t;e++)n[e-a]=r.charCodeAt(e);return n}},e.Data64URIWriter=class extends W{constructor(e){super(),this.data=\"data:\"+(e||\"\")+\";base64,\",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const i=this.pending.length;for(this.pending=\"\",t=0;t<3*Math.floor((i+e.length)/3)-i;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_ABORT=v,e.ERR_BAD_FORMAT=Xe,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=$e,e.ERR_ENCRYPTED=nt,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Qe,e.ERR_EOCDR_NOT_FOUND=Ye,e.ERR_EOCDR_ZIP64_NOT_FOUND=Je,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=tt,e.ERR_HTTP_RANGE=E,e.ERR_INVALID_PASSWORD=re,e.ERR_INVALID_SIGNATURE=Ie,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=et,e.ERR_UNSUPPORTED_COMPRESSION=rt,e.ERR_UNSUPPORTED_ENCRYPTION=it,e.HttpRangeReader=class extends q{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=q,e.Reader=I,e.TextReader=class extends I{constructor(e){super(),this.blobReader=new M(new Blob([e],{type:S}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends W{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:S})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:S})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends I{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends W{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=W,e.ZipReader=class{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:m})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Xe);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(yt(a),0,t);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(t){const r=n-t,s=await xt(e,r,t);for(let e=s.length-i;e>=0;e--)if(s[e]==a[0]&&s[e+1]==a[1]&&s[e+2]==a[2]&&s[e+3]==a[3])return{offset:r+e,buffer:s.slice(e,e+i).buffer}}}(n,101010256,n.size,22,1048560);if(!i)throw new Error(Ye);const r=yt(i);let a=bt(r,12),s=bt(r,16),o=pt(r,8),c=0;if(s==G||65535==o){const e=yt(await xt(n,i.offset-20,20));if(117853008!=bt(e,0))throw new Error(Je);s=gt(e,8);let t=await xt(n,s,56),r=yt(t);const l=i.offset-20-56;if(bt(r,0)!=K&&s!=l){const e=s;s=l,c=s-e,t=await xt(n,s,56),r=yt(t)}if(bt(r,0)!=K)throw new Error(Qe);o=gt(r,24),a=bt(e,4),s-=gt(r,40)}if(s<0||s>=n.size)throw new Error(Xe);let l=0,d=await xt(n,s,n.size-s),u=yt(d);const f=i.offset-a;if(bt(u,l)!=Z&&s!=f){const e=s;s=f,c=s-e,d=await xt(n,s,n.size-s),u=yt(d)}if(s<0||s>=n.size)throw new Error(Xe);const h=[];for(let i=0;i<o;i++){const r=new ot(n,t.config,t.options);if(bt(u,l)!=Z)throw new Error($e);ct(r,u,l+6);const a=Boolean(r.bitFlag.languageEncodingFlag),s=l+46,f=s+r.filenameLength,_=f+r.extraFieldLength,w=pt(u,l+4),p=0==(0&w);Object.assign(r,{versionMadeBy:w,msDosCompatible:p,compressedSize:0,uncompressedSize:0,commentLength:pt(u,l+32),directory:p&&16==(16&wt(u,l+38)),offset:bt(u,l+42)+c,internalFileAttribute:bt(u,l+34),externalFileAttribute:bt(u,l+38),rawFilename:d.subarray(s,f),filenameUTF8:a,commentUTF8:a,rawExtraField:d.subarray(f,_)});const b=_+r.commentLength;r.rawComment=d.subarray(_,b),r.filename=ft(r.rawFilename,r.filenameUTF8?at:ut(t,e,\"filenameEncoding\")),r.comment=ft(r.rawComment,r.commentUTF8?at:ut(t,e,\"commentEncoding\")),!r.directory&&r.filename.endsWith(\"/\")&&(r.directory=!0),lt(r,r,u,l+6);const g=new Ke(r);if(g.getData=(e,t)=>r.getData(e,g,t),h.push(g),l=b,e.onprogress)try{e.onprogress(i+1,o,new Ke(r))}catch(e){}}return h}async close(){}},e.configure=k,e.getMimeType=function(){return\"application/octet-stream\"},Object.defineProperty(e,\"__esModule\",{value:!0})}));\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n",null,"'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es-x/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es-x/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw $RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw $RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nvar safeGetBuiltIn = function (name) {\n if (!DESCRIPTORS) return global[name];\n var descriptor = getOwnPropertyDescriptor(global, name);\n return descriptor && descriptor.value;\n};\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = replace(it, plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = replace(result, percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n push(this.entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(this.entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(this.entries, {\n key: deserialize(shift(entry)),\n value: deserialize(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n setInternalState(this, new URLSearchParamsState(init));\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) splice(entries, index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice-simple');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username != '' || this.password != '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port == '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search == '') {\n this.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash == '') {\n this.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","!function(){var n=function(t,e,s,u){var r;e[0]=0;for(var h=1;h<e.length;h++){var p=e[h++],a=e[h]?(e[0]|=p?1:2,s[e[h++]]):e[++h];3===p?u[0]=a:4===p?u[1]=Object.assign(u[1]||{},a):5===p?(u[1]=u[1]||{})[e[++h]]=a:6===p?u[1][e[++h]]+=a+\"\":p?(r=t.apply(a,n(t,a,s,[\"\",null])),u.push(r),a[0]?e[0]|=2:(e[h-2]=0,e[h]=r)):u.push(a)}return u},t=new Map,e=function(e){var s=t.get(this);return s||(s=new Map,t.set(this,s)),(s=n(this,s.get(e)||(s.set(e,s=function(n){for(var t,e,s=1,u=\"\",r=\"\",h=[0],p=function(n){1===s&&(n||(u=u.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,u):3===s&&(n||u)?(h.push(3,n,u),s=2):2===s&&\"...\"===u&&n?h.push(4,n,0):2===s&&u&&!n?h.push(5,0,!0,u):s>=5&&((u||!n&&5===s)&&(h.push(s,0,u,e),s=6),n&&(h.push(s,n,0,e),s=6)),u=\"\"},a=0;a<n.length;a++){a&&(1===s&&p(),p(a));for(var o=0;o<n[a].length;o++)t=n[a][o],1===s?\"<\"===t?(p(),h=[h],s=3):u+=t:4===s?\"--\"===u&&\">\"===t?(s=1,u=\"\"):u=t+u[0]:r?t===r?r=\"\":u+=t:'\"'===t||\"'\"===t?r=t:\">\"===t?(p(),s=1):s&&(\"=\"===t?(s=5,e=u,u=\"\"):\"/\"===t&&(s<5||\">\"===n[a][o+1])?(p(),3===s&&(h=h[0]),s=h,(h=h[0]).push(2,0,s),s=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),s=2):u+=t),3===s&&\"!--\"===u&&(s=4,h=h[0])}return p(),h}(e)),s),arguments,[])).length>1?s:s[0]};\"undefined\"!=typeof module?module.exports=e:self.htm=e}();\n","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\nmodule.exports = { nanoid, customAlphabet }\n","var n,l,u,t,i,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function p(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return h(l,f,i,o,null)}function h(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function v(n){return n.children}function y(n,l){this.props=n,this.context=l}function d(n,l){if(null==l)return n.__?d(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?d(n):null}function _(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return _(n)}}function k(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!x.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||setTimeout)(x)}function x(){for(var n;x.__r=i.length;)n=i.sort(function(n,l){return n.__v.__b-l.__v.__b}),i=[],n.some(function(n){var l,u,t,i,o,r;n.__d&&(o=(i=(l=n).__v).__e,(r=l.__P)&&(u=[],(t=s({},i)).__v=i.__v+1,I(r,i,t,l.__n,void 0!==r.ownerSVGElement,null!=i.__h?[o]:null,u,null==o?d(i):o,i.__h),T(u,i),i.__e!=o&&_(i)))})}function b(n,l,u,t,i,o,r,c,s,a){var p,y,_,k,x,b,m,A=t&&t.__k||e,C=A.length;for(u.__k=[],p=0;p<l.length;p++)if(null!=(k=u.__k[p]=null==(k=l[p])||\"boolean\"==typeof k?null:\"string\"==typeof k||\"number\"==typeof k||\"bigint\"==typeof k?h(null,k,null,null,k):Array.isArray(k)?h(v,{children:k},null,null,null):k.__b>0?h(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[p])||_&&k.key==_.key&&k.type===_.type)A[p]=void 0;else for(y=0;y<C;y++){if((_=A[y])&&k.key==_.key&&k.type===_.type){A[y]=void 0;break}_=null}I(n,k,_=_||f,i,o,r,c,s,a),x=k.__e,(y=k.ref)&&_.ref!=y&&(m||(m=[]),_.ref&&m.push(_.ref,null,k),m.push(y,k.__c||x,k)),null!=x?(null==b&&(b=x),\"function\"==typeof k.type&&k.__k===_.__k?k.__d=s=g(k,s,n):s=w(n,k,_,A,x,s),\"function\"==typeof u.type&&(u.__d=s)):s&&_.__e==s&&s.parentNode!=n&&(s=d(_))}for(u.__e=b,p=C;p--;)null!=A[p]&&(\"function\"==typeof u.type&&null!=A[p].__e&&A[p].__e==u.__d&&(u.__d=d(t,p+1)),L(A[p],A[p]));if(m)for(p=0;p<m.length;p++)z(m[p],m[++p],m[++p])}function g(n,l,u){for(var t,i=n.__k,o=0;i&&o<i.length;o++)(t=i[o])&&(t.__=n,l=\"function\"==typeof t.type?g(t,l,u):w(u,t,t,i,t.__e,l));return l}function w(n,l,u,t,i,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||i!=o||null==i.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(i),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<t.length;e+=2)if(f==i)break n;n.insertBefore(i,o),r=o}return void 0!==r?r:i.nextSibling}function m(n,l,u,t,i){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||C(n,o,null,u[o],t);for(o in l)i&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||C(n,o,l[o],u[o],t)}function A(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||c.test(l)?u:u+\"px\"}function C(n,l,u,t,i){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||A(n.style,l,\"\");if(u)for(l in u)t&&u[l]===t[l]||A(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t||n.addEventListener(l,o?H:$,o):n.removeEventListener(l,o?H:$,o);else if(\"dangerouslySetInnerHTML\"!==l){if(i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function $(n){this.l[n.type+!1](l.event?l.event(n):n)}function H(n){this.l[n.type+!0](l.event?l.event(n):n)}function I(n,u,t,i,o,r,f,e,c){var a,p,h,d,_,k,x,g,w,m,A,C,$,H=u.type;if(void 0!==u.constructor)return null;null!=t.__h&&(c=t.__h,e=u.__e=t.__e,u.__h=null,r=[e]),(a=l.__b)&&a(u);try{n:if(\"function\"==typeof H){if(g=u.props,w=(a=H.contextType)&&i[a.__c],m=a?w?w.props.value:a.__:i,t.__c?x=(p=u.__c=t.__c).__=p.__E:(\"prototype\"in H&&H.prototype.render?u.__c=p=new H(g,m):(u.__c=p=new y(g,m),p.constructor=H,p.render=M),w&&w.sub(p),p.props=g,p.state||(p.state={}),p.context=m,p.__n=i,h=p.__d=!0,p.__h=[]),null==p.__s&&(p.__s=p.state),null!=H.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=s({},p.__s)),s(p.__s,H.getDerivedStateFromProps(g,p.__s))),d=p.props,_=p.state,h)null==H.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else{if(null==H.getDerivedStateFromProps&&g!==d&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(g,m),!p.__e&&null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(g,p.__s,m)||u.__v===t.__v){p.props=g,p.state=p.__s,u.__v!==t.__v&&(p.__d=!1),p.__v=u,u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u)}),p.__h.length&&f.push(p);break n}null!=p.componentWillUpdate&&p.componentWillUpdate(g,p.__s,m),null!=p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(d,_,k)})}if(p.context=m,p.props=g,p.__v=u,p.__P=n,A=l.__r,C=0,\"prototype\"in H&&H.prototype.render)p.state=p.__s,p.__d=!1,A&&A(u),a=p.render(p.props,p.state,p.context);else do{p.__d=!1,A&&A(u),a=p.render(p.props,p.state,p.context),p.state=p.__s}while(p.__d&&++C<25);p.state=p.__s,null!=p.getChildContext&&(i=s(s({},i),p.getChildContext())),h||null==p.getSnapshotBeforeUpdate||(k=p.getSnapshotBeforeUpdate(d,_)),$=null!=a&&a.type===v&&null==a.key?a.props.children:a,b(n,Array.isArray($)?$:[$],u,t,i,o,r,f,e,c),p.base=u.__e,u.__h=null,p.__h.length&&f.push(p),x&&(p.__E=p.__=null),p.__e=!1}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=j(t.__e,u,t,i,o,r,f,c);(a=l.diffed)&&a(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,t)}}function T(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function j(l,u,t,i,o,r,e,c){var s,p,h,v=t.props,y=u.props,_=u.type,k=0;if(\"svg\"===_&&(o=!0),null!=r)for(;k<r.length;k++)if((s=r[k])&&\"setAttribute\"in s==!!_&&(_?s.localName===_:3===s.nodeType)){l=s,r[k]=null;break}if(null==l){if(null===_)return document.createTextNode(y);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",_):document.createElement(_,y.is&&y),r=null,c=!1}if(null===_)v===y||c&&l.data===y||(l.data=y);else{if(r=r&&n.call(l.childNodes),p=(v=t.props||f).dangerouslySetInnerHTML,h=y.dangerouslySetInnerHTML,!c){if(null!=r)for(v={},k=0;k<l.attributes.length;k++)v[l.attributes[k].name]=l.attributes[k].value;(h||p)&&(h&&(p&&h.__html==p.__html||h.__html===l.innerHTML)||(l.innerHTML=h&&h.__html||\"\"))}if(m(l,y,v,o,c),h)u.__k=[];else if(k=u.props.children,b(l,Array.isArray(k)?k:[k],u,t,i,o&&\"foreignObject\"!==_,r,e,r?r[0]:t.__k&&d(t,0),c),null!=r)for(k=r.length;k--;)null!=r[k]&&a(r[k]);c||(\"value\"in y&&void 0!==(k=y.value)&&(k!==l.value||\"progress\"===_&&!k||\"option\"===_&&k!==v.value)&&C(l,\"value\",k,v.value,!1),\"checked\"in y&&void 0!==(k=y.checked)&&k!==l.checked&&C(l,\"checked\",k,v.checked,!1))}return l}function z(n,u,t){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,t)}}function L(n,u,t){var i,o;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||z(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&L(i[o],u,\"function\"!=typeof n.type);t||null==n.__e||a(n.__e),n.__e=n.__d=void 0}function M(n,l,u){return this.constructor(n,u)}function N(u,t,i){var o,r,e;l.__&&l.__(u,t),r=(o=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],I(t,u=(!o&&i||t).__k=p(v,null,[u]),r||f,f,void 0!==t.ownerSVGElement,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,e,!o&&i?i:r?r.__e:t.firstChild,o),T(e,u)}n=e.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},y.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=s({},this.state),\"function\"==typeof n&&(n=n(s({},u),this.props)),n&&s(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),k(this))},y.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),k(this))},y.prototype.render=v,i=[],x.__r=0,r=0,exports.render=N,exports.hydrate=function n(l,u){N(l,u,n)},exports.createElement=p,exports.h=p,exports.Fragment=v,exports.createRef=function(){return{current:null}},exports.isValidElement=t,exports.Component=y,exports.cloneElement=function(l,u,t){var i,o,r,f=s({},l.props);for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),h(l.type,f,i||l.key,o||l.ref,null)},exports.createContext=function(n,l){var u={__c:l=\"__cC\"+r++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(k)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u},exports.toChildArray=function n(l,u){return u=u||[],null==l||\"boolean\"==typeof l||(Array.isArray(l)?l.some(function(l){n(l,u)}):u.push(l)),u},exports.options=l;\n//# sourceMappingURL=preact.js.map\n","var n,t,r,u,o=require(\"preact\"),i=0,c=[],e=[],f=o.options.__b,a=o.options.__r,v=o.options.diffed,p=o.options.__c,s=o.options.unmount;function l(n,r){o.options.__h&&o.options.__h(t,n,i||r),i=0;var u=t.__H||(t.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({__V:e}),u.__[n]}function x(n){return i=1,m(T,n)}function m(r,u,o){var i=l(n++,2);return i.t=r,i.__c||(i.__=[o?o(u):T(void 0,u),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=t),i.__}function y(r,u){var i=l(n++,4);!o.options.__s&&F(i.__H,u)&&(i.__=r,i.u=u,t.__h.push(i))}function d(t,r){var u=l(n++,7);return F(u.__H,r)?(u.__V=t(),u.u=r,u.__h=t,u.__V):u.__}function _(){for(var n;n=c.shift();)if(n.__P)try{n.__H.__h.forEach(q),n.__H.__h.forEach(A),n.__H.__h=[]}catch(t){n.__H.__h=[],o.options.__e(t,n.__v)}}o.options.__b=function(n){t=null,f&&f(n)},o.options.__r=function(u){a&&a(u),n=0;var o=(t=u.__c).__H;o&&(r===t?(o.__h=[],t.__h=[],o.__.forEach(function(n){n.__V=e,n.u=void 0})):(o.__h.forEach(q),o.__h.forEach(A),o.__h=[])),r=t},o.options.diffed=function(n){v&&v(n);var i=n.__c;i&&i.__H&&(i.__H.__h.length&&(1!==c.push(i)&&u===o.options.requestAnimationFrame||((u=o.options.requestAnimationFrame)||function(n){var t,r=function(){clearTimeout(u),h&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);h&&(t=requestAnimationFrame(r))})(_)),i.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.__V!==e&&(n.__=n.__V),n.u=void 0,n.__V=e})),r=t=null},o.options.__c=function(n,t){t.some(function(n){try{n.__h.forEach(q),n.__h=n.__h.filter(function(n){return!n.__||A(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],o.options.__e(r,n.__v)}}),p&&p(n,t)},o.options.unmount=function(n){s&&s(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{q(n)}catch(n){t=n}}),t&&o.options.__e(t,r.__v))};var h=\"function\"==typeof requestAnimationFrame;function q(n){var r=t,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),t=r}function A(n){var r=t;n.__c=n.__(),t=r}function F(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function T(n,t){return\"function\"==typeof t?t(n):t}exports.useState=x,exports.useReducer=m,exports.useEffect=function(r,u){var i=l(n++,3);!o.options.__s&&F(i.__H,u)&&(i.__=r,i.u=u,t.__H.__h.push(i))},exports.useLayoutEffect=y,exports.useRef=function(n){return i=5,d(function(){return{current:n}},[])},exports.useImperativeHandle=function(n,t,r){i=6,y(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))},exports.useMemo=d,exports.useCallback=function(n,t){return i=8,d(function(){return n},t)},exports.useContext=function(r){var u=t.context[r.__c],o=l(n++,9);return o.c=r,u?(null==o.__&&(o.__=!0,u.sub(t)),u.props.value):r.__},exports.useDebugValue=function(n,t){o.options.useDebugValue&&o.options.useDebugValue(t?t(n):n)},exports.useErrorBoundary=function(r){var u=l(n++,10),o=x();return u.__=r,t.componentDidCatch||(t.componentDidCatch=function(n){u.__&&u.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]};\n//# sourceMappingURL=hooks.js.map\n","import { AwsRegion, awsRegions } from \"../v7/v7-config\";\n\nexport interface LatencyInfo {\n region: string,\n regionLatency: number,\n estimation: {[region: string]: number[]},\n}\n\nconst withTimeout = (fn: () => Promise<void>, region: string, timeoutMs: number) => {\n return new Promise<void>((resolve) => {\n const id = setTimeout(() => {\n console.error(\"Timeout while latency check for \", region);\n resolve();\n }, timeoutMs);\n\n fn().then(() => {\n clearTimeout(id);\n resolve();\n }).catch((e) => {\n console.error(\"Error while latency check for \", region, e);\n clearTimeout(id);\n resolve();\n });\n });\n};\n\nexport async function getAutoRegion(onLatencyUpdate: (region: string) => void): Promise<LatencyInfo> {\n const regions = [...awsRegions];\n const regionLatency: { [region: string]: number[] } = (() => {\n const latency: { [region: string]: number[] } = {};\n for (const { name: value } of awsRegions) {\n latency[value] = [];\n }\n return latency;\n })();\n\n // estimation\n const delayed: Promise<void>[] = [];\n for (const region of regions) {\n const checkOne = async () => {\n const name = region.name;\n\n for (let i = 0; i < 5; ++i) {\n regionLatency[name].push(await getLatencyForRegionWithFetch(region));\n onLatencyUpdate(name + \"#\" + (i+1) + \" (\" + regionLatency[name][0] + \" ms)\");\n }\n };\n\n delayed.push(withTimeout(checkOne, region.name, 15000));\n }\n\n await Promise.all(delayed);\n\n // adding preformance data if can\n try {\n const regionRegExp = /execute-api\\.([^.]+)\\.amazonaws.com\\/dev\\/ok/;\n if (typeof performance !== \"undefined\" && typeof performance.getEntriesByType !== \"undefined\") {\n const resources = performance.getEntriesByType(\"resource\");\n for (const resource of resources) {\n if (resource.name !== undefined && resource.duration !== undefined) {\n const matches = regionRegExp.exec(resource.name);\n if (matches !== null && matches[1] !== undefined) {\n regionLatency[matches[1]].push(Math.round(resource.duration));\n }\n }\n }\n }\n } catch (e) {\n console.error(\"Can't use performance data\", e);\n }\n\n let region = \"eu-central-1\";\n let minLatency = -1;\n let debugInfo = \"\";\n const estimation: {[region: string]: number[]} = {};\n for (const next of Object.keys(regionLatency)) {\n const latency = min(regionLatency[next]);\n if (latency > 0 && (minLatency === -1 || minLatency > latency)) {\n region = next;\n minLatency = latency;\n }\n const sorted = asc(regionLatency[next]);\n estimation[next] = sorted;\n debugInfo += (next + \" \").substring(0, 14) + \": [\" +\n sorted.join(\", \") + \"]\\n\";\n }\n\n console.log(\"Latency estimation:\\n\" + debugInfo);\n console.log(\"Auto region:\", region, \", latency: \" + minLatency);\n\n return {\n region,\n regionLatency: minLatency,\n estimation,\n };\n}\n\nasync function getLatencyForRegionWithFetch(region: AwsRegion) {\n const okUrl = region.ok;\n if (okUrl.indexOf(region.name) === -1) {\n throw new Error(\"okUrl \" + okUrl + \" does not contain region \" + region);\n }\n\n const estimateTime = async () => {\n const startedAt = Date.now();\n\n await fetch(okUrl + \"?time=\" + startedAt, {\n method: \"GET\",\n mode: \"cors\",\n cache: \"no-cache\",\n }).then((r) => r.text());\n\n return Date.now() - startedAt;\n };\n\n return estimateTime();\n}\n\nconst asc = (arr: number[]) => arr.sort((a, b) => a - b);\n\nconst min = (arr: number[]) => {\n if (arr.length === 0) {\n return 0;\n }\n\n return asc(arr)[0];\n};\n","import { getPersonalBundleUrl as impl } from \"../../../v7-services/src/personal\";\nimport { send, postObject } from \"../../xhr\";\n\nimport { personalAcl, personalPut } from \"./v7-config\";\n\ndeclare const zip: any;\n\nexport function getPersonalBundleUrl(namespace: string, id: string, bundleUrl: string): string {\n return impl(namespace, id, bundleUrl, undefined);\n}\n\nexport async function putPersonalBundle(namespace: string,\n id: string,\n bundleUrl: string,\n data: Uint8Array): Promise<void> {\n const isEmpty = await isEmptyArchive(data);\n if (isEmpty) {\n console.warn(\"Ignore empty changes archive\");\n return;\n }\n\n const result = await postObject(personalPut + \"?namespace=\" + namespace + \"&id=\" + id +\n \"&bundleUrl=\" + encodeURIComponent(bundleUrl));\n\n if (!result.success) {\n throw new Error(\"Unable to put personal bundle\");\n }\n\n const payload = JSON.parse(result.payload);\n const headers = payload.signature as { [name: string]: string };\n const url = payload.url as string;\n\n headers[\"x-amz-content-sha256\"] = \"UNSIGNED-PAYLOAD\";\n await send(\"put\",\n url,\n \"text\",\n data.buffer,\n undefined,\n headers);\n\n if (!(await postObject(personalAcl + \"?namespace=\" + namespace + \"&id=\" + id +\n \"&bundleUrl=\" + bundleUrl)).success) {\n throw new Error(\"Can't set ACL to personal bundle\");\n }\n}\n\nasync function isEmptyArchive(data: Uint8Array): Promise<boolean> {\n const zipReader = new zip.ZipReader(new zip.Uint8ArrayReader(data), {\n useWebWorkers: false,\n });\n const entries = await zipReader.getEntries();\n let empty = true;\n for (const next of entries) {\n empty = next.directory === true;\n if (!empty) {\n break;\n }\n }\n zipReader.close();\n return empty;\n}\n","export const endpointBase = \"https://kdhkdsv558.execute-api.eu-central-1.amazonaws.com/dev\";\n\nexport const personalPut = endpointBase + \"/personal/put\";\nexport const personalAcl = endpointBase + \"/personal/acl\";\n\nexport const createTokenEndpoint = endpointBase + \"/token/create\";\nexport const tokeInfoGetEndpoint = endpointBase + \"/token/info/get\";\nexport const addFreeTimeTierEndpoint = endpointBase + \"/token/add/free\";\n\nexport const startIpx = endpointBase + \"/token/ipx/start\";\nexport const stopIpx = endpointBase + \"/token/ipx/stop\";\n\nexport const checkoutCreateTokenEndpoint = endpointBase + \"/checkout/token/create\";\nexport const checkoutEndpoint = \"https://js-dos.com/checkout/index.html\";\n\nexport interface AwsRegion {\n label: string,\n name: string,\n ok: string,\n};\n\nexport const awsRegions: AwsRegion[] = [\n { label: \"US East (N. Virginia)\", name: \"us-east-1\",\n ok: \"https://387k8l2vgf.execute-api.us-east-1.amazonaws.com/dev/ok\" },\n { label: \"US East (Ohio)\", name: \"us-east-2\",\n ok: \"https://q32vlaa5ji.execute-api.us-east-2.amazonaws.com/dev/ok\" },\n { label: \"US West (N. California)\", name: \"us-west-1\",\n ok: \"https://zittdd8vr2.execute-api.us-west-1.amazonaws.com/dev/ok\" },\n { label: \"US West (Oregon)\", name: \"us-west-2\",\n ok: \"https://aw3gj5315i.execute-api.us-west-2.amazonaws.com/dev/ok\" },\n { label: \"Europe (Frankfurt)\", name: \"eu-central-1\",\n ok: \"https://pdxnceto92.execute-api.eu-central-1.amazonaws.com/dev/ok\" },\n { label: \"Europe (Ireland)\", name: \"eu-west-1\",\n ok: \"https://yjm6n35ii4.execute-api.eu-west-1.amazonaws.com/dev/ok\" },\n { label: \"Europe (London)\", name: \"eu-west-2\",\n ok: \"https://u8k6qhll5d.execute-api.eu-west-2.amazonaws.com/dev/ok\" },\n { label: \"Europe (Milan)\", name: \"eu-south-1\",\n ok: \"https://hn4uxbiro0.execute-api.eu-south-1.amazonaws.com/dev/ok\" },\n { label: \"Europe (Paris)\", name: \"eu-west-3\",\n ok: \"https://oce5khcznd.execute-api.eu-west-3.amazonaws.com/dev/ok\" },\n { label: \"Europe (Stockholm)\", name: \"eu-north-1\",\n ok: \"https://f3j2j43580.execute-api.eu-north-1.amazonaws.com/dev/ok\" },\n { label: \"Asia Pacific (Hong Kong)\", name: \"ap-east-1\",\n ok: \"https://2dji6qhipb.execute-api.ap-east-1.amazonaws.com/dev/ok\" },\n { label: \"Asia Pacific (Mumbai)\", name: \"ap-south-1\",\n ok: \"https://0htlj8u1m9.execute-api.ap-south-1.amazonaws.com/dev/ok\" },\n { label: \"Asia Pacific (Osaka)\", name: \"ap-northeast-3\",\n ok: \"https://4z9rh02y37.execute-api.ap-northeast-3.amazonaws.com/dev/ok\" },\n { label: \"Asia Pacific (Seoul)\", name: \"ap-northeast-2\",\n ok: \"https://dv8crqb5j6.execute-api.ap-northeast-2.amazonaws.com/dev/ok\" },\n { label: \"Asia Pacific (Singapore)\", name: \"ap-southeast-1\",\n ok: \"https://e0w35dr520.execute-api.ap-southeast-1.amazonaws.com/dev/ok\" },\n { label: \"Asia Pacific (Sydney)\", name: \"ap-southeast-2\",\n ok: \"https://a2bnpow0ul.execute-api.ap-southeast-2.amazonaws.com/dev/ok\" },\n { label: \"Asia Pacific (Tokyo)\", name: \"ap-northeast-1\",\n ok: \"https://snvzlstk05.execute-api.ap-northeast-1.amazonaws.com/dev/ok\" },\n { label: \"Canada\", name: \"ca-central-1\",\n ok: \"https://wqwl5he8y7.execute-api.ca-central-1.amazonaws.com/dev/ok\" },\n { label: \"Middle East (Bahrain)\", name: \"me-south-1\",\n ok: \"https://g480v58gnk.execute-api.me-south-1.amazonaws.com/dev/ok\" },\n { label: \"South America (São Paulo)\", name: \"sa-east-1\",\n ok: \"https://wvhym3rtc1.execute-api.sa-east-1.amazonaws.com/dev/ok\" },\n { label: \"Africa (Cape Town)\", name: \"af-south-1\",\n ok: \"https://r0atydfi7k.execute-api.af-south-1.amazonaws.com/dev/ok\" },\n];\n","\nimport { html } from \"../dom\";\n\nimport { Icons } from \"../icons\";\nimport { Props } from \"../player-app\";\nimport { Controls } from \"./controls\";\n\nexport function ActionBar(props: Props) {\n if (!props.actionBar) {\n return null;\n }\n\n const addBorder = props.options().noSideBar === true && props.options().noSocialLinks === true;\n return html`\n <div class=\"bg-gray-200 shadow w-10 h-full overflow-hidden flex flex-col items-center\">\n <${SideBarControl} ...${props} />\n <${More} ...${props} />\n <${Controls} column=\"true\" class=\"flex-grow \n ${addBorder ? \"\" : \" border-t-2 border-gray-400\"}\" \n portal=${true} ...${props} />\n </div>\n `;\n}\n\nfunction More(props: Props) {\n if (props.options().noSocialLinks === true || props.options().noSideBar !== true) {\n return null;\n }\n\n function openMore() {\n props.options().windowOpen(\"https://dos.zone/\", \"_blank\");\n }\n\n return html`\n <div class=\"h-5 w-5 my-4 text-pink-400 cursor-pointer\" onClick=${openMore}>\n <${Icons.Plus} class=\"h-5 w-5\" />\n </div>\n `;\n}\n\nfunction SideBarControl(props: Props) {\n if (props.options().noSideBar === true) {\n return null;\n }\n\n function toggleSideBar() {\n if (props.sideBar) {\n props.closeSideBar();\n } else {\n props.openSideBar();\n }\n }\n\n if (props.options().withNetworkingApi !== true) {\n return html`\n <div class=\"h-6 w-6 my-4 text-gray-600 cursor-pointer\" onClick=${toggleSideBar}>\n <${Icons.DotsHorizontal} class=\"h-6 w-6\" />\n </div>\n `;\n } else if (props.ipxConnected) {\n return html`\n <div class=\"h-6 w-6 my-4 text-green-400 cursor-pointer\" onClick=${toggleSideBar}>\n <${Icons.Online} class=\"h-6 w-6\" />\n </div>\n `;\n } else {\n return html`\n <div class=\"h-6 w-6 my-4 relative text-red-800 cursor-pointer\" onClick=${toggleSideBar}>\n <${Icons.Offline} class=\"h-6 w-6\" />\n <span class=\"animate-ping absolute inline-flex top-0 left-0\n h-full w-full rounded-full bg-red-400 opacity-75\"></span>\n </div>\n `;\n }\n}\n","import { html } from \"../dom\";\nimport { Icons } from \"../icons\";\n\nimport { Props } from \"../player-app\";\n\nexport function ActionHide(props: Props & { class: string }) {\n return html`\n <div class=\"filter transition-opacity duration-1000\n bg-gray-200 ${props.class}\n w-5 h-12\n rounded-r-md cursor-pointer\" onClick=${() => props.setActionBar(!props.actionBar)}>\n <div class=\"h-4 w-4 my-4\">\n <${props.actionBar ? Icons.ChevronLeft : Icons.ChevronRight} class=\"h-4 w-4\" />\n </div>\n </div>\n `;\n}\n","import { useEffect, useState } from \"preact/hooks\";\nimport { html } from \"../dom\";\nimport { Icons } from \"../icons\";\n\nimport { Props } from \"../player-app\";\n\nexport function ActionSaveOrExit(props: Props & { class: string }) {\n const onExit = props.options().onExit;\n const [pulse, setPulse] = useState<boolean>(false);\n const [busy, setBusy] = useState<boolean>(false);\n const onExitDefined = typeof onExit === \"function\";\n\n useEffect(() => {\n const preventUnload = props.options().preventUnload;\n\n if (busy || !onExitDefined || preventUnload === false) {\n return;\n }\n\n function onBeforeUnload(event: BeforeUnloadEvent) {\n if (props.player().ciPromise === undefined) {\n return;\n }\n\n const message = onExitDefined ?\n \"Please use close button to save progress before closing!\" :\n \"Please use save button to save progress before closing!\";\n\n setTimeout(() => {\n props.player().layers.notyf.error(message);\n setPulse(true);\n }, 16);\n\n event.preventDefault();\n event.returnValue = message;\n }\n\n window.addEventListener(\"beforeunload\", onBeforeUnload);\n\n return () => {\n window.removeEventListener(\"beforeunload\", onBeforeUnload);\n };\n }, [setPulse, props.player, busy, onExit, onExitDefined]);\n\n async function doSaveOrClose() {\n try {\n setPulse(false);\n setBusy(true);\n\n const dos = props.player();\n dos.layers.notyf.success(\"Saving, please wait...\");\n\n try {\n await dos.layers.save();\n } catch (e: any) {\n console.error(e);\n dos.layers.notyf.error(e.message);\n }\n\n if (onExitDefined) {\n try {\n await props.options().onBeforeExit?.();\n await dos.stop();\n } catch (e: any) {\n console.error(e);\n dos.layers.notyf.error(e.message);\n }\n onExit();\n }\n } finally {\n setBusy(false);\n }\n }\n\n if (busy) {\n return null;\n }\n\n return html`\n <div class=\"${props.class ? props.class : \"\"} flex items-center justify-center \n filter transition-opacity duration-1000\n bg-gray-200 ${pulse ? \" text-red-500 animate-pulse\" : \"\" }\n cursor-pointer\" onClick=${doSaveOrClose}>\n <div class=\"h-6 w-6\">\n <${onExitDefined ? Icons.XCircle : Icons.FloppyDisk} class=\"h-6 w-6\" />\n </div>\n </div>\n `;\n}\n","import { DosInstance } from \"emulators-ui/dist/types/js-dos\";\nimport { useState } from \"preact/hooks\";\nimport { html } from \"../dom\";\nimport { Icons } from \"../icons\";\nimport { Props } from \"../player-app\";\nimport { downloadFile } from \"../dom\";\n\ninterface ClientProps extends Props {\n class?: string\n}\n\nexport function Client(props: ClientProps) {\n const [clientRequested, setClientRequested] = useState<boolean>(false);\n if (props.requestClientId === undefined && props.clientId === null) {\n return null;\n }\n\n if (props.clientId === null) {\n const requestLogin = () => {\n if (props.requestClientId === undefined) {\n return;\n }\n\n setClientRequested(true);\n props.requestClientId(true)\n .then((clientId) => {\n setClientRequested(false);\n props.setClientId(clientId);\n })\n .catch((e) => {\n setClientRequested(false);\n console.error(e);\n });\n };\n\n return html`\n <div class=\"flex flex-row justify-center items-center ${props.class}\">\n <div class=\"h-6 w-6 text-red-800 animate-pulse mr-2\">\n <${Icons.UserCircle} class=\"h-6 w-6\" />\n </div>\n <div class=\"border-2 rounded px-4\n ${clientRequested ? \" text-gray-400 border-gray-400\" : \"text-blue-400 border-blue-400\"} \n cursor-pointer\" onClick=${requestLogin}>\n Login\n </div>\n </div>\n `;\n }\n\n const name = props.clientId.id;\n\n async function onDownload() {\n props.closeSideBar();\n const dos = props.player();\n\n try {\n await downloadChanges(dos);\n } catch (e) {\n dos.layers.notyf.error(\"Unexpected error\");\n console.error(e);\n }\n }\n\n /* TODO: show upload dialog\n async function onUpload() {\n props.closeSideBar();\n const dos = props.player();\n const uploadInput = props.options().uploadInput;\n\n if (uploadInput === undefined) {\n return;\n }\n\n try {\n await uploadChanges(dos, props.requestClientId as ClientIdSupplier, uploadInput);\n } catch (e) {\n dos.layers.notyf.error(\"Unexpected error\");\n console.error(e);\n }\n }\n */\n\n return html`\n <div class=\"flex flex-row justify-center ${props.class}\">\n <div class=\"h-6 w-6 text-green-400 mr-2\">\n <${Icons.UserCircle} class=\"h-6 w-6\" />\n </div>\n <div class=\"flex-shrink overflow-hidden overflow-ellipsis\">${name}</div>\n <div class=\"h-6 w-6 ml-2 cursor-pointer\" onClick=${onDownload}>\n <${Icons.Download} class=\"h-6 w-6\" />\n </div>\n </div>\n `;\n}\n\n\nasync function downloadChanges(dos: DosInstance): Promise<void> {\n if (!dos.ciPromise) {\n return;\n }\n\n const ci = await dos.ciPromise;\n const changes = await ci.persist();\n downloadFile(changes, \"saves.zip\", \"application/zip\");\n}\n\n\n/* TODO: show upload dialog\nasync function uploadChanges(dos: DosPlayer,\n requestClientId: ClientIdSupplier,\n uploadInput: HTMLInputElement): Promise<void> {\n const bundleUrl = dos.bundleUrl;\n const files = uploadInput.files;\n if (bundleUrl === null || files === null || files.length !== 1) {\n return;\n }\n\n const file = files[0];\n\n const data = new Uint8Array(await file.arrayBuffer());\n const clientId = await requestClientId(false);\n if (clientId === null) {\n return;\n }\n\n if (data.length > 5 * 1024 * 1024) {\n dos.layers.notyf.error(\"File is too big\");\n return;\n }\n\n await putPersonalBundle(clientId.namespace, clientId.id, bundleUrl, data);\n dos.layers.notyf.success(\"Uploaded\");\n}\n*/\n","\nimport { useState } from \"preact/hooks\";\nimport { html } from \"../dom\";\nimport { Icons } from \"../icons\";\nimport { Props } from \"../player-app\";\n\ninterface ControlsProps extends Props {\n class?: string,\n column?: boolean,\n portal: boolean,\n};\n\nexport function Controls(props: ControlsProps) {\n function toggleKeyboard() {\n props.toggleKeyboard();\n props.closeSideBar();\n };\n\n function toggleFullscreen() {\n props.toggleFullscreen();\n props.closeSideBar();\n };\n\n function togglePause() {\n props.setPause(!props.pause);\n props.closeSideBar();\n }\n\n function toggleMute() {\n props.setMute(!props.mute);\n props.closeSideBar();\n }\n\n return html`\n <div class=\"flex ${props.column ? \" flex-col\" : \"flex-row\"} justify-evenly ${props.class}\">\n <${MouseControls} ...${props} />\n <${VirtualControls} ...${props} />\n <div class=\"h-6 w-6 ${props.pause ? \" text-red-400 animate-pulse\" : \"font-bold\"} cursor-pointer\"\n onClick=${togglePause}>\n <${props.pause ? Icons.Play : Icons.Pause} class=\"h-6 w-6\" />\n </div>\n <div class=\"h-6 w-6 ${props.mute ? \" text-green-400\" : \"\"} cursor-pointer\" onClick=${toggleMute}>\n <${props.mute ? Icons.VolumeOff : Icons.VolumeUp} class=\"h-6 w-6\" />\n </div>\n <div class=\"h-6 w-6 ${props.keyboard ? \" text-green-400\" : \"\"} cursor-pointer\" onClick=${toggleKeyboard}>\n <${Icons.PencilAlt} class=\"h-6 w-6\" />\n </div>\n <div class=\"h-6 w-6 ${props.fullscreen ? \" text-green-400\" : \"\" } \n ${props.options().noFullscreen===true ? \"hidden\": \"\" } cursor-pointer\" onClick=${toggleFullscreen}>\n <${Icons.ArrowsExpand} class=\"h-6 w-6\" />\n </div>\n </div>\n `;\n}\n\nfunction MouseControls(props: ControlsProps) {\n const [open, setOpen] = useState<boolean>(false);\n\n async function menuClick(e: Event) {\n if ((e.target as HTMLElement).classList.contains(\"sensitivity\")) {\n return;\n }\n\n if (!props.portal) {\n await toggleMouseLock(e);\n } else {\n setOpen(!open);\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n\n async function toggleMouseLock(e: Event) {\n await setMouseLock(e, !props.autolock);\n }\n\n async function setMouseLock(e: Event, newLock: boolean) {\n e.stopPropagation();\n\n await props.setAutolock(newLock);\n if (open) {\n setOpen(false);\n }\n }\n\n return html`\n <div class=\"menu-button h-6 w-6 text-green-400 cursor-pointer\" onClick=${menuClick}>\n <${props.autolock ? Icons.CursorClick : Icons.Cursor} class=\"h-6 w-6\" />\n <div class=\"${props.portal ? \"\" : \"hidden\"} absolute z-50 \n bg-gray-200 -mt-7 h-8 left-10 flex flex-row items-center\n rounded-r-md cursor-pointer\" onClick=${()=> {}}>\n <div class=\"flex flex-row ${open ? \"\" : \"hidden\"}\">\n <div class=\"h-6 w-6 mx-2 \n ${!props.autolock ? \"text-green-400\" : \"text-black\"}\"\n onClick=${(e: Event) => setMouseLock(e, false)}>\n <${Icons.Cursor} class=\"h-6 w-6\" />\n </div>\n <div class=\"h-6 w-6 mx-2 \n ${props.autolock ? \"text-green-400\" : \"text-black\"}\"\n onClick=${(e: Event) => setMouseLock(e, true)}>\n <${Icons.CursorClick} class=\"h-6 w-6\" />\n </div>\n </div>\n </div>\n </div>\n `;\n}\n\nfunction VirtualControls(props: ControlsProps) {\n const [open, setOpen] = useState<boolean>(false);\n\n function toggleVirtualControlsOpen() {\n if (props.portal) {\n setOpen(!open);\n } else {\n props.setMobileControls(!props.mobileControls);\n }\n }\n\n async function eyeOff(e: Event) {\n await props.setMirroredControls(false);\n await props.setMobileControls(false);\n setOpen(false);\n e.stopPropagation();\n }\n\n async function mobile(e: Event) {\n await props.setMobileControls(true);\n await props.setMirroredControls(false);\n setOpen(false);\n e.stopPropagation();\n }\n\n async function mirrored(e: Event) {\n await props.setMirroredControls(true);\n setOpen(false);\n e.stopPropagation();\n }\n\n return html`\n <div class=\"h-6 w-6 text-green-400 cursor-pointer\" onClick=${toggleVirtualControlsOpen}>\n <${props.mirroredControls ? Icons.SwithcHorizontal :\n (props.mobileControls ? Icons.Mobile : Icons.EyeOff)} class=\"h-6 w-6\" />\n <div class=\"${open ? \"\" : \"hidden\"} absolute z-50 bg-gray-200 -mt-7 h-8 left-10 flex flex-row items-center\n rounded-r-md cursor-pointer\" onClick=${()=> {}}>\n <div class=\"h-6 w-6 mx-2 \n ${!props.mobileControls && !props.mirroredControls ? \"text-green-400\" : \"text-black\"}\"\n onClick=${eyeOff}>\n <${Icons.EyeOff} class=\"h-6 w-6\" />\n </div>\n <div class=\"h-6 w-6 mx-2 \n ${!props.mirroredControls && props.mobileControls ? \"text-green-400\" : \"text-black\"}\"\n onClick=${mobile}>\n <${Icons.Mobile} class=\"h-6 w-6\" />\n </div>\n <div class=\"h-6 w-6 mx-2 ${props.mirroredControls ? \"text-green-400\" : \"text-black\"}\"\n onClick=${mirrored}>\n <${Icons.SwithcHorizontal} class=\"h-6 w-6\" />\n </div>\n </div>\n </div>\n `;\n}\n","import { Props } from \"../player-app\";\nimport { html } from \"../dom\";\nimport { Icons } from \"../icons\";\nimport { HorizontalSlider } from \"./horizontal-slider\";\n\nconst minCpu = 100;\nconst maxCpu = 5000;\n\nexport function SideBarCpuControl(props: Props) {\n return html`\n <${HorizontalSlider} minValue=${minCpu} maxValue=${maxCpu}\n maxLabel=\"max\"\n initialValue=${5000} \n onChange=${(v: number) => {/* TODO */}}\n icon=${Icons.VolumeUp}\n registerListner=${() => {}}\n removeListener=${() => {}}\n />\n `;\n}\n","import { JSX } from \"preact\";\nimport { useEffect, useRef, useState } from \"preact/hooks\";\nimport { html } from \"../dom\";\n\nexport interface HorizontalSliderProps {\n class?: string,\n minValue: number,\n maxValue: number,\n maxLabel?: string,\n initialValue: number,\n onChange: (value: number) => void,\n icon: JSX.Element,\n registerListner: (fn: (value: number) => void) => void,\n removeListener: (fn: (value: number) => void) => void,\n};\n\nexport function HorizontalSlider(props: HorizontalSliderProps) {\n const { minValue, maxValue, initialValue, onChange, icon } = props;\n const valueRange = maxValue - minValue;\n const sliderRef = useRef<HTMLDivElement>(null);\n const [value, setValue] = useState(initialValue);\n const [opacity, setOpacity] = useState(0);\n\n useEffect(() => {\n if (sliderRef === null || sliderRef.current === null) {\n return;\n }\n\n let started = false;\n const el = sliderRef.current;\n const calcValue = (ev: PointerEvent) => {\n const boundingRect = el.getBoundingClientRect();\n const rawPercent = (ev.clientX - boundingRect.left) / boundingRect.width;\n const precent = Math.max(Math.min(1, rawPercent), 0);\n return precent * valueRange;\n };\n const onStart = (ev: PointerEvent) => {\n if (ev.target !== el || started) {\n return;\n }\n started = true;\n setOpacity(80);\n\n setValue(calcValue(ev));\n ev.stopPropagation();\n ev.preventDefault();\n };\n const onMove = (ev: PointerEvent) => {\n if (!started) {\n return;\n }\n\n const newValue = calcValue(ev);\n setValue(newValue);\n onChange(newValue);\n ev.stopPropagation();\n ev.preventDefault();\n };\n const onEnd = (ev: PointerEvent) => {\n if (!started) {\n return;\n }\n\n started = false;\n setOpacity(0);\n const newValue = calcValue(ev);\n setValue(newValue);\n onChange(newValue);\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n window.addEventListener(\"pointerdown\", onStart);\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onEnd);\n window.addEventListener(\"pointercancel\", onEnd);\n el.addEventListener(\"pointerup\", onEnd);\n el.addEventListener(\"pointercancel\", onEnd);\n props.registerListner(setValue);\n\n return () => {\n props.removeListener(setValue);\n window.removeEventListener(\"pointerdown\", onStart);\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onEnd);\n window.removeEventListener(\"pointercancel\", onEnd);\n el.removeEventListener(\"pointerup\", onEnd);\n el.removeEventListener(\"pointercancel\", onEnd);\n };\n }, [sliderRef]);\n\n const left = (Math.max(0, Math.min(100, Math.round(value / valueRange * 100)))) + \"%\";\n\n let label = Math.round((minValue + value) * 10) / 10 + \"\";\n if (minValue + value === maxValue && props.maxLabel !== undefined) {\n label = props.maxLabel;\n }\n\n return html`\n <div class=\"h-full flex flex-row py-0 items-center\">\n <div class=\"bg-gray-200 rounded flex items-center justify-center h-6 w-5 lt-4 text-gray-600\">\n <${icon} class=\"h-4 w-4\" />\n </div>\n <div class=\"cursor-pointer flex-grow px-4 py-2\" ref=${sliderRef}>\n <div class=${\"pointer-events-none relative sensitivity rounded-2xl bg-gray-400 h-2 \" +\n \"w-full\" + (props.class ? props.class : \"\")}>\n <div class=\"flex flex-row items-center absolute -mt-3\" style=${{ left }}>\n <div class=\"bg-gray-600 -ml-2 flex-shrink-0 w-6 h-6 rounded-full\"></div>\n <div class=\"bg-green-100 ml-2 py-1 px-2 rounded z-50 ${\"opacity-\" + opacity}\">\n ${label}\n </div>\n </div> \n </div>\n </div>\n </div>\n `;\n}\n","import { html } from \"../dom\";\nimport { Props } from \"../player-app\";\nimport { Icons } from \"../icons\";\n\ninterface RegionProps extends Props {\n class?: string,\n}\n\nexport function Region(props: RegionProps) {\n function resetRegion() {\n if (props.region === null) {\n return;\n }\n\n props.setRegion(null);\n }\n\n let regionAndLatency = props.region;\n if (regionAndLatency !== null && props.latencyInfo !== null) {\n regionAndLatency += \" (\" + props.latencyInfo.regionLatency + \" ms)\";\n }\n\n return html`\n <div class=\"flex flex-row justify-between items-center ${props.class}\">\n <div class=\"text-gray-600\">Region</div>\n <div class=\"px-4 overflow-hidden overflow-ellipsis whitespace-nowrap flex-shrink\">\n ${regionAndLatency || props.estimatingRegion || \"Connecting...\"}\n </div>\n <div class=\"h-6 w-6 ${props.region === null ? \"animate-reverse-spin\" : \"cursor-pointer\"}\" \n onClick=${resetRegion}>\n <${Icons.Refresh} class=\"h-6 w-6\" />\n </div>\n </div>\n `;\n}\n","import { Props } from \"../player-app\";\nimport { html } from \"../dom\";\nimport { Icons } from \"../icons\";\nimport { VerticalSlider } from \"./vertical-slider\";\nimport { HorizontalSlider } from \"./horizontal-slider\";\n\nconst minScale = 0.8;\nconst maxScale = 2.5;\n\nexport function ActionBarScaleControl(props: Props) {\n if (!props.mobileControls && !props.mirroredControls) {\n return null;\n }\n\n return html`\n <${VerticalSlider} minValue=${minScale} maxValue=${maxScale}\n initialValue=${props.player().scaleControls} \n onChange=${(v: number) => props.player().setScaleControls(v)}\n icon=${props.mirroredControls ? Icons.SwithcHorizontal : Icons.Mobile}\n registerListner=${props.player().registerOnScaleChanged}\n removeListener=${props.player().removeOnScaleChanged}\n />\n `;\n}\n\nexport function SideBarScaleControl(props: Props) {\n return html`\n <${HorizontalSlider} minValue=${minScale} maxValue=${maxScale}\n initialValue=${props.player().scaleControls} \n onChange=${(v: number) => props.player().setScaleControls(v)}\n icon=${props.mirroredControls ? Icons.SwithcHorizontal : Icons.Mobile}\n registerListner=${props.player().registerOnScaleChanged}\n removeListener=${props.player().removeOnScaleChanged}\n />\n `;\n}\n","import { Props } from \"../player-app\";\nimport { html } from \"../dom\";\nimport { Icons } from \"../icons\";\nimport { VerticalSlider } from \"./vertical-slider\";\nimport { HorizontalSlider } from \"./horizontal-slider\";\n\nconst minSensitivity = 0.1;\nconst maxSensitivity = 4;\n\nexport function ActionBarSensitivityControl(props: Props) {\n if (!props.autolock) {\n return null;\n }\n\n return html`\n <${VerticalSlider} minValue=${minSensitivity} maxValue=${maxSensitivity}\n initialValue=${props.player().sensitivity} \n onChange=${(v: number) => props.player().setSensitivity(v)}\n icon=${Icons.CursorClick}\n registerListner=${props.player().registerOnSensitivityChanged}\n removeListener=${props.player().removeOnSensitivityChanged}\n />\n `;\n}\n\nexport function SideBarSensitivityControl(props: Props) {\n return html`\n <${HorizontalSlider} minValue=${minSensitivity} maxValue=${maxSensitivity}\n initialValue=${props.player().sensitivity} \n onChange=${(v: number) => props.player().setSensitivity(v)}\n icon=${Icons.CursorClick}\n registerListner=${props.player().registerOnSensitivityChanged}\n removeListener=${props.player().removeOnSensitivityChanged}\n />\n `;\n}\n","import { useEffect } from \"preact/hooks\";\nimport { html } from \"../dom\";\n\nimport { Props } from \"../player-app\";\nimport { Icons } from \"../icons\";\n\nimport { Main } from \"./sidebar/main\";\nimport { LatencyInfo } from \"./sidebar/latency-info\";\nimport { Networking } from \"./sidebar/networking\";\n\nimport { getAutoRegion } from \"../backend/v7/latency\";\n\nexport function SideBar(props: Props) {\n if (!props.sideBar) {\n return null;\n }\n\n useEffect(() => {\n if (!(props.options().withNetworkingApi) ||\n props.region !== null) {\n return;\n }\n\n getAutoRegion(props.setEstimatingRegion)\n .then((latencyInfo) => {\n props.setLatencyInfo(latencyInfo);\n props.setRegion(latencyInfo.region);\n })\n .catch(console.error);\n }, [props.region]);\n\n function onClose() {\n if (props.sideBarPage === \"main\") {\n props.closeSideBar();\n } else {\n props.setSideBarPage(\"main\");\n }\n };\n\n const networking = props.sideBarPage === \"networking\";\n\n function onHelp() {\n if (networking) {\n props.options().windowOpen(\"https://youtu.be/XEoWLQmU168\", \"_blank\");\n return;\n }\n props.setShowTips(true);\n props.closeSideBar();\n };\n\n return html`\n <div class=\"flex flex-col filter absolute z-50 top-0 bottom-0 right-0 px-8 pt-6\n w-full sm:w-80 rounded-l-lg drop-shadow-lg bg-white overflow-y-auto overflow-x-hidden pb-4\">\n <div class=\"transform absolute text-gray-400 hover:text-gray-800\n top-2 left-2 cursor-pointer hover:scale-125\" onClick=${onClose}>\n <${props.sideBarPage===\"main\" ? Icons.XCircle : Icons.ArrowsCircleLeft} class=\"h-6 w-6\" />\n </div>\n <div class=\"transform absolute text-gray-400 hover:text-gray-800\n top-2 right-2 cursor-pointer hover:scale-125\n ${ networking ? \"text-purple-400\" : \"\"}\" onClick=${onHelp}>\n <${Icons.QuestionMarkCircle} class=\"h-6 w-6\" />\n </div>\n \n \n <${Main} ...${props} />\n <${LatencyInfo} ...${props} />\n <${Networking} ...${props} />\n\n <div class=\"flex-grow\"></div>\n \n <${SocialIcons} ...${props} />\n </div>\n `;\n}\n\nfunction SocialIcons(props: Props) {\n if (props.options().noSocialLinks === true) {\n return null;\n }\n\n const matchmaking = props.sideBarPage === \"networking\";\n\n function openDiscrodPage() {\n props.options().windowOpen(\"https://discord.com/invite/hMVYEbG\", \"_blank\");\n }\n\n function openTelegramPage() {\n props.options().windowOpen(\"https://t.me/doszonechat\", \"_blank\");\n }\n\n function openTwitterPage() {\n props.options().windowOpen(\"https://twitter.com/intent/user?screen_name=doszone_db\", \"_blank\");\n }\n\n function openDonatePage() {\n props.options().windowOpen(\"https://dos.zone/donate/\", \"_blank\");\n }\n\n if (matchmaking === true) {\n return html`\n <div class=\"flex flex-row justify-around items-center\">\n <div class=\"font-bold text-purple-600\">Matchmaking:</div>\n <div class=\"h-6 w-6 text-gray-600 cursor-pointer\" onClick=${openDiscrodPage}>\n <${Icons.Discord} class=\"h-6 w-6\" />\n </div>\n <div class=\"h-4 w-4 mt-0.5 text-gray-600 cursor-poiner\" onClick=${openTelegramPage}>\n <${Icons.Telegram} class=\"h-4 w-4\" />\n </div>\n </div>\n `;\n }\n\n return html`\n <div class=\"flex flex-row justify-around\">\n <div class=\"h-6 w-6 -mt-1 text-gray-600 cursor-pointer\" onClick=${openDiscrodPage}>\n <${Icons.Discord} class=\"h-6 w-6\" />\n </div>\n <div class=\"h-4 w-4 text-gray-600 cursor-pointer\" onClick=${openTelegramPage}>\n <${Icons.Telegram} class=\"h-4 w-4\" />\n </div>\n <div class=\"h-4 w-4 text-gray-600 cursor-pointer\" onClick=${openTwitterPage}>\n <${Icons.Twitter} class=\"h-4 w-4\" />\n </div>\n <div class=\"h-6 w-6 -mt-1 text-gray-600 cursor-pointer\" onClick=${openDonatePage}>\n <${Icons.CurrencyDollar} class=\"h-6 w-6\" />\n </div>\n </div>\n `;\n}\n","import { html } from \"../../dom\";\nimport { Props } from \"../../player-app\";\nimport { Icons } from \"../../icons\";\n\ninterface LatencyInfoProps extends Props {\n class?: string,\n asButton?: boolean,\n}\n\nexport function LatencyInfo(props: LatencyInfoProps) {\n if (props.latencyInfo === null) {\n return null;\n }\n\n const showLatencyInfoPage = (e: Event) => {\n props.setSideBarPage(\"latency-info\");\n e.stopPropagation();\n e.preventDefault();\n };\n\n if (props.asButton === true && props.sideBarPage === \"main\") {\n return html`\n <div class=\"flex flex-row justify-between items-center cursor-pointer ${props.class} my-2\"\n onClick=${showLatencyInfoPage}>\n <div class=\"\">\n Show latency\n </div>\n <div>\n <${Icons.ArrowsCircleRight} class=\"text-green-400 h-6 -w-6\" />\n </div>\n </div>\n `;\n }\n\n if (props.sideBarPage !== \"latency-info\") {\n return null;\n }\n\n const rows = [];\n for (const region of Object.keys(props.latencyInfo.estimation)) {\n const row = [];\n row.push(html`<div class=\"text-xs w-24 font-bold whitespace-nowrap break-words\">${region}</div>`);\n for (let i = 0; i < 4; ++i) {\n row.push(html`\n <div class=\"text-xs text-gray-600 text-right\">\n ${props.latencyInfo.estimation[region][i]}\n </div>\n `);\n }\n rows.push(html`<div class=\"flex flex-row flex-wrap justify-between\">${row}</div>`);\n }\n\n return html`\n <div class=\"sidebar-header\">Latency</div>\n <div class=\"flex flex-col\">\n ${rows}\n </div>\n `;\n}\n","import { html } from \"../../dom\";\n\nimport { Props } from \"../../player-app\";\nimport { Client } from \"../client\";\nimport { Controls } from \"../controls\";\nimport { Region } from \"../region\";\nimport { LatencyInfo } from \"./latency-info\";\nimport { Icons } from \"../../icons\";\nimport { SideBarCpuControl } from \"../cpu-control\";\nimport { SideBarScaleControl } from \"../scale-control\";\nimport { SideBarVolumeControl } from \"../volume-control\";\nimport { SideBarSensitivityControl } from \"../sensitivity-control\";\nimport { JSX } from \"preact\";\n\nexport function Main(props: Props) {\n if (props.sideBarPage !== \"main\") {\n return null;\n }\n\n const withNetworkingApi = props.options().withNetworkingApi === true;\n\n return html`\n <${Client} class=\"mt-2 mb-2 pb-2 border-b-2 border-green-200\" ...${props} />\n <${Controls} class=\"mt-2\" portal=${false} ...${props} />\n \n ${ withNetworkingApi && html`<div class=\"sidebar-header mt-8\">Networking</div>` }\n ${ withNetworkingApi && html`<${Region} class=\"mt-2\" ...${props} />` }\n ${ withNetworkingApi && html`<${LatencyInfo} ...${props} class=\"mt-4\" asButton=${true} />` }\n ${ withNetworkingApi && html`<${ConfigureNetworking} ...${props} class=\"mt-2\" />` }\n\n <div class=\"sidebar-header mt-8\">Configuration</div>\n ${ false && html`<${LabeledSlideBar} label=\"CPU\" slideBar=${SideBarCpuControl} appProps=${props} />` }\n <${LabeledSlideBar} label=\"Volume\" slideBar=${SideBarVolumeControl} appProps=${props} />\n <${LabeledSlideBar} label=\"Sensitivity\" slideBar=${SideBarSensitivityControl} appProps=${props} />\n <${LabeledSlideBar} label=\"Scale\" slideBar=${SideBarScaleControl} appProps=${props} />\n `;\n}\n\nfunction LabeledSlideBar(props: {\n label: string,\n slideBar: JSX.Element,\n appProps: Props,\n}) {\n return html`<div class=\"flex flex-row items-center justify-center my-2\">\n <div class=\"w-20 text-sm overflow-hidden overflow-ellipsis\">${props.label}</div>\n <div class=\"flex-grow\"><${props.slideBar} ...${props.appProps} /></div>\n </div>`;\n}\n\nfunction ConfigureNetworking(props: Props & { class?: string }) {\n if (props.region === null) {\n return null;\n }\n\n return html`\n <div class=\"flex flex-row justify-between items-center cursor-pointer ${props.class}\"\n onClick=${() => props.setSideBarPage(\"networking\")}>\n <div class=\"\">\n ${ props.ipxConnected ? \"IPX [Connected]\" : \"Configure networks\" }\n </div>\n <div>\n <${Icons.ArrowsCircleRight} class=\"text-green-400 h-6 -w-6\" />\n </div>\n </div>\n `;\n}\n","import { html } from \"../../dom\";\n\nimport { Props } from \"../../player-app\";\nimport { TokenConfiguration } from \"./token/token\";\n\nexport function Networking(props: Props) {\n if (props.sideBarPage !== \"networking\") {\n return null;\n }\n\n return html`\n <${TokenConfiguration} ...${props} />\n `;\n}\n","import { useState } from \"preact/hooks\";\nimport { addFreeTimeTierEndpoint, checkoutCreateTokenEndpoint, checkoutEndpoint } from \"../../../backend/v7/v7-config\";\nimport { html } from \"../../../dom\";\nimport { Icons } from \"../../../icons\";\nimport { request } from \"../../../request\";\nimport { TokenProps } from \"./token\";\n\nconst freeTimeSec = 1800;\n\nexport function TokenAddTime(props: TokenProps) {\n const [error, setError] = useState<string | null>(null);\n const [busy, setBusy] = useState<boolean>(false);\n const [time, setTime] = useState<number>(freeTimeSec);\n const [accessToken, setAccessToken] = useState<string | null>(null);\n const [needReload, setNeedReload] = useState<boolean>(false);\n\n async function onChange(e: any) {\n const newTime = Number.parseInt(e.currentTarget.value);\n try {\n setBusy(true);\n setAccessToken(null);\n setTime(newTime);\n if (newTime !== freeTimeSec) {\n setAccessToken(await createToken(\"t_\" + newTime, props));\n }\n } finally {\n setBusy(false);\n }\n }\n\n async function onAddTime(e: any) {\n e.stopPropagation();\n\n if (busy) {\n return;\n }\n\n setError(null);\n setBusy(true);\n\n try {\n if (time === freeTimeSec) {\n await request(addFreeTimeTierEndpoint, \"POST\", JSON.stringify({\n token: props.networkToken,\n }));\n\n props.update();\n } else {\n if (accessToken === null) {\n throw new Error(\"accessToken is null\");\n }\n purchase(accessToken, props.options().windowOpen);\n setTimeout(() => {\n setNeedReload(true);\n }, 300);\n }\n } catch (e: any) {\n setError(describe(e.message));\n } finally {\n setBusy(false);\n }\n }\n\n const busyOrNoToken = busy || time !== freeTimeSec && accessToken === null;\n\n /* eslint-disable new-cap */\n return html`\n <div class=\"font-bold\">Add time:</div>\n ${needReload ?\n html`\n <div class=\"cursor-pointer underline text-green-600 font-bold\" onClick=${props.update}>\n check payment\n </div> \n `:\n html`\n <div class=\"flex flex-row\">\n <select disabled=${busy} class=\"w-14 flex-grow mr-2 \n ${ busy ? \"border-gray-400 disabled:bg-gray-200\" : \"\" } \"\n name=\"select\" onChange=${onChange}>\n <option value=${freeTimeSec} selected>FREE</option>\n <option value=\"259200\">+3 Days</option>\n <option value=\"864000\">+10 Days</option>\n <option value=\"2592000\">+30 Days</option>\n </select>\n ${ busyOrNoToken ? Icons.Refresh({ class: \"h-6 w-6 animate-reverse-spin\" }) : html`\n <div class=\"h-6 w-6 cursor-pointer text-green-400 hover:text-green-600\"\n onClick=${onAddTime}>\n <${Icons.Plus} class=\"h-6 w-6\" />\n </div>\n `}\n </div>\n `}\n \n ${error ?\n html`\n <div class=\"font-bold text-red-400 col-span-2\">*${error}</div>\n ` : null}\n \n `;\n /* eslint-enable new-cap */\n}\n\nfunction describe(message: string) {\n if (message === \"30-min-required\") {\n return \"Only 30 minutes interval are enabled\";\n }\n if (message === \"free-soft-limit\") {\n return \"This token reached free time limit, please use paid time\";\n }\n if (message === \"free-hard-limit\") {\n return \"All free time of today is used, please use paid time\";\n }\n if (message === \"not-found\") {\n return \"Token not found\";\n }\n if (message === \"too-early\") {\n return \"You can add free time only if TTL less then 5 minutes\";\n }\n\n return message;\n}\n\nasync function createToken(product: string, props: TokenProps) {\n const clientId = props.clientId ?? props.anonymousClientId;\n\n const token = (await request(checkoutCreateTokenEndpoint, \"POST\", JSON.stringify({\n id: clientId.id,\n namespace: clientId.namespace,\n product,\n token: props.networkToken,\n }))).token;\n\n return token;\n}\n\nfunction purchase(accessToken: string, windowOpen: (url: string, target?: string) => void) {\n windowOpen(checkoutEndpoint + \"?token=\" + accessToken, \"_blank\");\n};\n","import { createTokenEndpoint, tokeInfoGetEndpoint } from \"../../../backend/v7/v7-config\";\nimport { useState } from \"preact/hooks\";\nimport { TokenProps } from \"./token\";\nimport { request } from \"../../../request\";\nimport { html } from \"../../../dom\";\nimport { Icons } from \"../../../icons\";\n\nexport function TokenSelect(props: TokenProps) {\n const [token, setToken] = useState<string>(props.networkToken ?? \"\");\n const [error, setError] = useState<string | null>(null);\n const [awaitingToken, setAwaitingToken] = useState<boolean>(false);\n\n const generateNewToken = token === props.networkToken || token === \"\";\n\n function onChange(e: any) {\n setToken((e.currentTarget.value as string ?? \"\").toLowerCase().trim());\n }\n\n function onKeyDown(e: any) {\n e.stopPropagation();\n }\n\n function onKeyUp(e: any) {\n onChange(e);\n\n if (e.key === \"Enter\") {\n changeToken();\n }\n\n e.stopPropagation();\n }\n\n async function changeToken() {\n setAwaitingToken(true);\n\n try {\n if (generateNewToken) {\n if (props.networkToken === null ||\n window.confirm(\"Are you sure want to create token?\") === true) {\n await createToken();\n }\n\n return;\n }\n\n const newToken = token.length === 0 ? null : token;\n if (newToken === props.networkToken) {\n return;\n }\n\n\n if (window.confirm(\n newToken === null ?\n \"Are you sure want to reset?\" :\n \"Are you sure want to switch token?\") === true) {\n if (newToken !== null) {\n await checkToken(newToken);\n }\n\n props.setNetworkToken(token);\n }\n } catch (e: any) {\n setError(\"Token error: \" + e.message);\n } finally {\n setAwaitingToken(false);\n }\n }\n\n async function checkToken(token: string) {\n await request(tokeInfoGetEndpoint + \"?token=\" + token);\n }\n\n async function createToken() {\n if (awaitingToken || props.region === null) {\n setError(\"region is not selected\");\n return;\n }\n\n setError(null);\n setAwaitingToken(true);\n\n const clientId = props.clientId ?? props.anonymousClientId;\n try {\n const response: {\n token: string,\n } = await request(createTokenEndpoint, \"POST\", JSON.stringify({\n namespace: clientId.namespace,\n id: clientId.id,\n region: props.region,\n }));\n\n props.setNetworkToken(response.token);\n } catch (e: any) {\n setError(e.message);\n } finally {\n setAwaitingToken(false);\n }\n }\n\n return html`\n <div class=\"font-bold\">Token:</div>\n\n ${ awaitingToken ?\n html`\n <div class=\"col-span-2\">\n <${Icons.Refresh} class=\"w-6 h-6 animate-reverse-spin\" />\n </div>\n ` :\n html`\n <div class=\"flex flex-row\">\n <input class=\"rounded border ${ token === \"\" ? \"border-red-600\" : \"border-green-200\"} \n px-2 w-14 flex-grow mr-2\" type=\"text\" value=${token} \n onChange=${onChange} onKeyUp=${onKeyUp} onKeyDown=${onKeyDown} />\n <div class=\"h-6 w-6 cursor-pointer ${generateNewToken ? \"text-green-400 hover:text-green-600\" : \"\"}\" \n onClick=${changeToken}>\n <${generateNewToken ? Icons.Plus : Icons.SwithcHorizontal} \n class=\"h-6 w-6\" />\n </div>\n </div>\n `}\n \n ${ error ?\n html`\n <div class=\"text-red-400 col-span-2\">${error}</div>\n ` : null}\n `;\n}\n","import { useEffect, useState } from \"preact/hooks\";\nimport { tokeInfoGetEndpoint, startIpx, stopIpx } from \"../../../backend/v7/v7-config\";\nimport { html } from \"../../../dom\";\nimport { Icons } from \"../../../icons\";\nimport { Props } from \"../../../player-app\";\nimport { getObject, postObject } from \"../../../xhr\";\nimport { request } from \"../../../request\";\n\nimport { TokenSelect } from \"./token-select\";\nimport { TokenAddTime } from \"./token-add-time\";\n\nconst initialWaitCountDown = 30;\nconst NETWORK_DOSBOX_IPX = 0;\n\ninterface Token {\n region: string,\n ttlSec: number,\n ipxArn?: string | null,\n ipxAddress?: string | null,\n}\n\ninterface IpxProps {\n arn: string | null,\n setArn: (ipxArn: string | null) => void,\n\n address: string | null,\n setAddress: (ipxAddress: string | null) => void,\n\n awaitingAddress: boolean,\n setAwaitingAddress: (waitingIpx: boolean) => void,\n\n awaitingConnection: boolean,\n setAwaitingConnection: (waitingIpx: boolean) => void,\n}\nexport interface TokenProps extends Props {\n ipx: IpxProps,\n update: () => void,\n}\n\nexport function TokenConfiguration(props: Props) {\n const [token, setToken] = useState<Token | null>(null);\n const [awaiting, setAwaiting] = useState<boolean>(true);\n const [endTime, setEndTime] = useState<number>(Date.now());\n\n const [ipxArn, setIpxArn] = useState<string | null>(null);\n const [ipxAddress, setIpxAddress] = useState<string | null>(null);\n const [awaitingIpxAddress, setAwaitingIpxAddress] = useState<boolean>(false);\n const [awaintngIpxConnection, setAwaitingIpxConnection] = useState<boolean>(false);\n\n const ipxProps: IpxProps = {\n arn: ipxArn,\n setArn: setIpxArn,\n\n address: ipxAddress,\n setAddress: setIpxAddress,\n\n awaitingAddress: awaitingIpxAddress,\n setAwaitingAddress: setAwaitingIpxAddress,\n\n awaitingConnection: awaintngIpxConnection,\n setAwaitingConnection: setAwaitingIpxConnection,\n };\n\n const tokenProps: TokenProps = {\n ...props,\n ipx: ipxProps,\n update,\n };\n\n useEffect(() => {\n update();\n }, [props.networkToken]);\n\n useEffect(() => {\n if (props.networkToken === null || endTime < Date.now()) {\n return;\n }\n\n const id = setInterval(() => {\n request(tokeInfoGetEndpoint + `?token=${props.networkToken}`).then((token: Token) => {\n token.ipxArn ||= null;\n token.ipxAddress ||= null;\n\n // desync\n if (ipxArn !== token.ipxArn) {\n update();\n return;\n }\n\n if (token.ipxAddress !== ipxAddress) {\n setIpxAddress(token.ipxAddress);\n setAwaitingIpxAddress(false);\n }\n });\n }, 5000);\n\n return () => {\n clearInterval(id);\n };\n }, [props.networkToken, endTime, ipxArn, ipxAddress]);\n\n async function update() {\n setIpxArn(null);\n setIpxAddress(null);\n setAwaitingIpxAddress(false);\n setAwaiting(true);\n\n if (props.networkToken === null) {\n setToken(null);\n setAwaiting(false);\n return;\n }\n\n request(tokeInfoGetEndpoint + `?token=${props.networkToken}`).then((token: Token) => {\n setToken(token);\n setAwaiting(false);\n setEndTime(Date.now() + token.ttlSec * 1000);\n\n if (token.ipxArn !== undefined) {\n setIpxArn(token.ipxArn);\n }\n\n if (token.ipxAddress !== undefined) {\n setIpxAddress(token.ipxAddress);\n } else if (token.ipxArn !== undefined) {\n setAwaitingIpxAddress(true);\n }\n }).catch((e: any) => {\n console.error(\"Can't get a token\", props.networkToken, e);\n setToken(null);\n setAwaiting(false);\n });\n }\n\n if (awaiting) {\n return html`\n <div class=\"sidebar-header\">Configuration</div>\n <div class=\"grid grid-cols-2 gap-4\">\n <${Icons.Refresh} class=\"w-6 h-6 animate-reverse-spin\" />\n </div>\n `;\n }\n\n if (token === null) {\n return html`\n <div class=\"sidebar-header\">Configuration</div>\n <div class=\"grid grid-cols-2 gap-4\">\n <${TokenSelect} ...${props} networkToken=${null} />\n </div>\n `;\n }\n\n const headerWithRefresh = html`\n <div class=\"sidebar-header flex flex-row justify-center items-center\">\n Configuration\n <div onClick=${update} >\n <${Icons.Refresh} class=\"h-4 w-4 ml-2 cursor-pointer\" />\n </div>\n </div>\n `;\n\n if (endTime < Date.now()) {\n return html`\n ${headerWithRefresh}\n <div class=\"grid grid-cols-2 gap-4\">\n <${TokenSelect} ...${props} />\n <div class=\"font-bold\">Region:</div>\n <div class=\"text-gray-400\">${token.region}</div>\n <div class=\"font-bold\">TTL:</div>\n <div class=\"text-red-400\">0 Min</div>\n <${TokenAddTime} ...${tokenProps} />\n </div>\n `;\n }\n\n return html`\n ${headerWithRefresh}\n <div class=\"grid grid-cols-2 gap-4\">\n <${TokenSelect} ...${props} />\n <div class=\"font-bold\">Region:</div>\n <div class=\"text-gray-400\">${token.region}</div>\n <${TokenTtlCountDown} endTime=${endTime} update=${update} />\n <${TokenAddTime} ...${tokenProps} />\n <${IPX} ...${tokenProps} />\n </div>\n `;\n}\n\nfunction TokenTtlCountDown(props: { endTime: number, update: () => void }) {\n const [ttlMs, setTtlMs] = useState<number>(props.endTime - Date.now());\n\n useEffect(() => {\n if (ttlMs <= 0) {\n return;\n }\n\n const id = setInterval(() => {\n const ttlMs = Math.max(0, props.endTime - Date.now());\n if (ttlMs === 0) {\n props.update();\n clearInterval(id);\n }\n\n setTtlMs(ttlMs);\n }, 10000);\n return () => clearInterval(id);\n }, [props.endTime]);\n\n return html`\n <div class=\"font-bold\">TTL:</div>\n <div class=\"${ttlMs < 300 * 1000 ? \" text-red-400\" : \"text-gray-400\"} cursor-pointer underline\"\n onClick=${props.update}>\n ${humanizeTime(ttlMs / 1000)}\n </div>\n `;\n}\n\nfunction IPX(props: TokenProps) {\n const [awaiting, setAwaiting] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n function start() {\n setAwaiting(true);\n getObject(startIpx + `?token=${props.networkToken}`)\n .then((response) => {\n setAwaiting(false);\n props.ipx.setArn(response.arn);\n props.ipx.setAwaitingAddress(true);\n })\n .catch((e) => {\n console.error(\"Can't start ipx\", e);\n setError(e.errorCode ?? e.message);\n setAwaiting(false);\n });\n }\n\n function toggleConnected() {\n const newConnected = !props.ipxConnected;\n const address = props.ipx.address;\n const port = 1901;\n\n if (!address) {\n return;\n }\n\n props.player().ciPromise?.then((ci) => {\n if (newConnected) {\n props.ipx.setAwaitingConnection(true);\n\n if (location.protocol === \"http:\" &&\n props.options().hardware === undefined &&\n address.endsWith(\".jj.dos.zone\")) {\n // dns optimization trick\n return ci.networkConnect(NETWORK_DOSBOX_IPX,\n \"ws://\" + address.substring(0, address.length - \".jj.dos.zone\".length).replace(/_/g, \".\"),\n port);\n } else {\n return ci.networkConnect(NETWORK_DOSBOX_IPX, address, port);\n }\n }\n\n return ci.networkDisconnect(NETWORK_DOSBOX_IPX);\n })\n .then(() => {\n props.ipx.setAwaitingConnection(false);\n props.setIpxConnected(newConnected);\n if (newConnected) {\n props.player().layers.notyf.success(\"Connected\");\n props.closeSideBar();\n }\n })\n .catch((e) => {\n props.ipx.setAwaitingConnection(false);\n console.error(e);\n setError(e.message);\n });\n }\n\n function stop() {\n setAwaiting(true);\n postObject(stopIpx + `?token=${props.networkToken}&arn=${props.ipx.arn}`)\n .then(() => {\n setAwaiting(false);\n props.ipx.setAddress(null);\n props.ipx.setAwaitingAddress(false);\n })\n .catch((e) => {\n console.error(\"Can't stop ipx\", e);\n setError(e.errorCode ?? e.message);\n setAwaiting(false);\n });\n }\n\n if (error !== null) {\n return html`\n <div class=\"text-red-400 col-span-2\">${error}</div>\n `;\n }\n\n if (awaiting) {\n return html`\n <${Icons.Refresh} class=\"w-6 h-6 col-span-2 animate-reverse-spin\" />\n `;\n }\n\n if (props.ipx.address !== null) {\n const connectText =\n props.ipxConnected ? \"Disconnect\" :\n (props.ipx.awaitingConnection ? \"Connecting...\" : \"Connect\");\n\n const onConnectClick = () => {\n if (props.ipx.awaitingConnection) {\n return;\n }\n\n toggleConnected();\n };\n\n return html`\n <div class=\"font-bold\">IPX:</div>\n <div class=\"font-bold text-gray-400 text-xs break-all -mx-6 text-center\">${props.ipx.address}</div>\n <div class=\"\"></div>\n <div class=\"${props.ipxConnected ? \" bg-red-200\" : \"bg-green-200\"}\n cursor-pointer rounded uppercase text-center px-2 py-1\"\n onClick=${onConnectClick}>${connectText}</div>\n <div class=\"${props.ipxConnected ? \"hidden\" : \"\"}\"></div>\n <div class=\"${props.ipxConnected ? \"hidden\" : \"none\"}\n bg-gray-200 cursor-pointer rounded uppercase text-center px-4 py-1\"\n onClick=${stop}>Stop</div>\n `;\n }\n\n if (props.ipx.awaitingAddress) {\n return html`\n <div class=\"font-bold\">IPX:</div>\n <${TaskWaitCountDown} />\n <div class=\"\"></div>\n <div class=\"bg-gray-200 cursor-pointer rounded uppercase text-center px-4 py-1\" onClick=${stop}>Stop</div>\n `;\n }\n\n return html`\n <div class=\"font-bold\">IPX:</div>\n <div class=\"bg-green-200 cursor-pointer rounded uppercase text-center px-4 py-1\" onClick=${start}>Start</div>\n `;\n}\n\nfunction TaskWaitCountDown() {\n const [countDown, setCountDown] = useState<number>(initialWaitCountDown);\n\n useEffect(() => {\n if (countDown === 0) {\n return;\n }\n\n const id = setTimeout(() => {\n setCountDown(countDown - 1);\n }, 1000);\n return () => clearTimeout(id);\n }, [countDown]);\n\n return html`\n <div class=\"text-gray-400 flex flex-row\">\n <${Icons.Refresh} class=\"w-6 h-6 animate-reverse-spin mr-2\" />\n ${countDown > 0 ? countDown + \" sec\" : \"\"}\n </div>\n `;\n}\n\n\nfunction humanizeTime(timeSec: number) {\n if (timeSec > 24 * 60 * 60) {\n const days = Math.round(timeSec / 24 / 60 / 60 * 10) / 10;\n return days + (days === 1 ? \" Day\" : \" Days\");\n }\n\n if (timeSec > 60 * 60) {\n const hours = Math.round(timeSec / 60 / 60 * 10) / 10;\n return hours + (hours === 1 ? \" Hour\" : \" Hrs\");\n }\n\n const minutes = Math.round(timeSec / 60 * 10) / 10;\n return minutes + \" Min\";\n}\n","import { html } from \"../dom\";\nimport { Props } from \"../player-app\";\nimport { Icons } from \"../icons\";\n\nexport function SyncMouseControl(props: Props) {\n function sync(e: Event) {\n props.player().ciPromise?.then((ci) => {\n ci.sendMouseSync();\n });\n e.stopPropagation();\n e.preventDefault();\n }\n\n if (props.autolock) {\n return;\n }\n\n return html`\n <div class=\"flex flex-col items-center bg-gray-200 my-2 py-2 rounded\">\n <div class=\"text-gray-400 h-6 w-4 border-b border-gray-400\">\n <${Icons.Cursor} class=\"h-4 w-4\" />\n </div>\n <div class=\"cursor-pointer h-6 w-6 mt-2\" onClick=${sync}>\n <${Icons.Refresh} class=\"h-6 w-6\" />\n </div>\n </div>\n `;\n}\n","import { useEffect, useState } from \"preact/hooks\";\nimport { html } from \"../dom\";\n\nimport { Icons } from \"../icons\";\nimport { Props } from \"../player-app\";\n\nconst pages: { [key: string]: { title: string, tip: any /* VNode */ } } = {\n mouseLockMobile: {\n title: \"Mouse lock\",\n tip: html`\n <div>\n <div class=\"flex flex-col\">\n <p class=\"\"> \n <strong>This game is controlled by gestures.</strong>\n </p>\n <p class=\"pt-2\">\n When you tap on the screen, the DOS game will receive click events without\n mouse coordinates. <b>The click will be simulated in place where game cursor \n is, without moving it.</b>\n </p>\n <p class=\"pt-2\">\n <strong>To move the game cursor</strong>, you need to put your finger on the screen and move it in\n the wanted direction until the game cursor reaches the desired position. After that,\n you can release your finger.\n </p>\n <p class=\"pt-2\">\n You can <strong>change sensitivity</strong> of the mouse inside the\n submenu of icon <${Icons.CursorClick} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />.\n </p>\n </div>\n </div>\n `,\n },\n mouseLockDesktop: {\n title: \"Mouse lock\",\n tip: html`\n <div>\n <div class=\"flex flex-col\">\n <p class=\"\"> \n <strong>The game will lock the browser cursor.</strong>\n </p>\n <p class=\"pt-2\">\n When the mouse is locked, the DOS game exclusively controls the mouse and\n the cursor can't leave the game screen. \n </p>\n <p class=\"pt-2\">\n You can <strong>change sensitivity</strong> of the mouse inside the\n submenu of icon <${Icons.CursorClick} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />.\n </p>\n <p class=\"pt-2\">\n To exit from lock mode, please use the <strong>Escape</strong> key.\n </p>\n </div>\n </div>\n `,\n },\n lockSwitch: {\n title: \"Mouse Locking\",\n tip: html`\n <div class=\"flex flex-col\">\n <p class=\"\">\n By clicking on the pointer icon, you can switch between <b>regular mouse emulation</b> and \n <b>lock mode</b>.\n </p>\n <div class=\"mt-2\">\n <${Icons.Cursor} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - In regular mouse emulation mode, the game will receive\n browser pointer coordinates. If the browser pointer and game pointer are out of sync, use the\n </p>\n <${Icons.Refresh} class=\"h-4 w-4 text-green-600 mx-2 inline-block\" />\n <p class=\"inline\">\n refresh control to synchronize DOS and browser pointer position.\n </p>\n </div>\n <div class=\"mt-2\">\n <${Icons.CursorClick} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - lock mouse emulation mode.\n </p>\n </div>\n <div class=\"mt-2\">\n <strong>On desktop</strong>, the DOS game exclusively controls the mouse and\n the cursor can't leave the game screen.\n </div>\n <div class=\"mt-2\">\n <strong>On mobile</strong>, the DOS game will be controlled by gestures.\n </div>\n </div>\n `,\n },\n mobile: {\n title: \"Mobile Controls\",\n tip: html`\n <div class=\"flex flex-col\">\n <p>\n You can change the visibility of mobile controls by pressing one of these buttons:\n </p>\n <div class=\"pt-2\">\n <${Icons.Mobile} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - shows the mobile controls if they are provided by the game.\n </p>\n </div>\n <div class=\"pt-2\">\n <${Icons.SwithcHorizontal} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - shows the mobile controls but <strong>mirrored</strong>.\n </p>\n </div>\n <div class=\"pt-2\">\n <${Icons.EyeOff} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - completely hide the mobile controls.\n </p>\n </div>\n <p class=\"pt-2\">\n You can <b>change size</b> of mobile controls inside the submenu.\n </p>\n </div>\n `,\n },\n sidebar: {\n title: \"Sidebar\",\n tip: html`\n <div class=\"flex flex-col\">\n <div>\n On the left side of the screen, you will see a sidebar; it has a set of useful controls.\n You can hide it at any time by pressing on the arrow in the middle.\n </div>\n <div class=\"pt-2\">\n <${Icons.Pause} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - pause/resume game,\n </p>\n </div>\n <div class=\"pt-2\">\n <${Icons.VolumeUp} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - mute/unmute sound,\n </p>\n </div>\n <div class=\"pt-2\">\n <${Icons.PencilAlt} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - toggle soft keyboard,\n </p>\n </div>\n <div class=\"pt-2\">\n <${Icons.ArrowsExpand} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - toggle fullscreen,\n </p>\n </div>\n <div class=\"pt-2\">\n <${Icons.DotsHorizontal} class=\"h-4 w-4 text-green-600 mr-2 inline-block\" />\n <p class=\"inline\">\n - will open the settings sidebar, where you can change additional\n settings of js-dos, like networking.\n </p>\n </div>\n </div>\n `,\n },\n saveLoad: {\n title: \"Save/Load\",\n tip: html`\n <div>\n <div class=\"flex flex-col\">\n <p class=\"\"> \n js-dos supports saving and restoring game progress. You can play a game from time to time \n without losing progress. This works automatically or by pressing the\n <${Icons.FloppyDisk} class=\"h-4 w-4 text-green-600 mx-1 -mt-1 inline-block\" />\n icon.\n </p>\n <p class=\"pt-2\">\n However, it works only if the DOS game itself supports save and load commands.\n <strong> You need to save your progress in the DOS game before stopping the emulator.</strong>\n </p>\n </div>\n </div>\n `,\n },\n};\n\nconst mobile = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i\n .test(navigator.userAgent.toLowerCase()));\n\nconst pageSeq = mobile ?\n [\"mouseLockMobile\", \"mobile\", \"sidebar\", \"saveLoad\", \"lockSwitch\"] :\n [\"mouseLockDesktop\", \"sidebar\", \"saveLoad\", \"lockSwitch\"];\n\n\nexport function Tips(props: Props) {\n const showTips = props.showTips;\n const [pageIndex, setPageIndex] = useState<number>(0);\n\n useEffect(() => {\n if (!showTips) {\n return;\n }\n\n setPageIndex(props.player().autolock ? 0 : 1);\n }, [showTips]);\n\n if (!showTips) {\n return null;\n }\n\n const page = pages[pageSeq[pageIndex]];\n const lastPage = (pageIndex === pageSeq.length - 1);\n\n function nextPage(e: Event) {\n if (lastPage) {\n props.setShowTips(false);\n } else {\n setPageIndex((pageIndex + 1) % pageSeq.length);\n }\n e.stopPropagation();\n e.preventDefault();\n }\n\n return html`\n <div class=\"absolute bg-gray-500 bg-opacity-80 left-0 top-0 right-0 bottom-0 \n flex flex-col items-center justify-center z-50\">\n <div class=\"rounded bg-gray-200 shadow-lg w-3/4 sm:w-1/2 p-2 border-b border-gray-800 overflow-auto\">\n <div class=\"flex row justify-between mb-2\">\n <div class=\"h-6 w-6 text-gray-400\">\n <${Icons.InformationCircle} class=\"h-6 w-6\" />\n </div>\n <div class=\"text-lg font-bold\">${page.title}</div>\n <div class=\"h-6 w-6 cursor-pointer\" onClick=${() => props.setShowTips(false)}>\n <${Icons.XCircle} class=\"h-6 w-6\" />\n </div>\n </div>\n <div class=\"text-sm px-2 overflow-hidden max-h-72\">\n ${page.tip}\n </div>\n <div class=\"flex flex-row justify-center mt-2\" onClick=${nextPage}>\n <p class=\"uppercase cursor-pointer text-blue-900 mr-2\">${ lastPage ? \"Close\" : \"Next\"}</p>\n ${ !lastPage && html`\n <div class=\"h-6 w-6 cursor-pointer text-blue-900\">\n <${Icons.ArrowsCircleRight} class=\"h-6 w-6\" />\n </div>` }\n </div>\n </div>\n </div>\n `;\n}\n","import { JSX } from \"preact\";\nimport { useEffect, useRef, useState } from \"preact/hooks\";\nimport { html } from \"../dom\";\n\nexport interface VerticalSliderProps {\n class?: string,\n minValue: number,\n maxValue: number,\n initialValue: number,\n onChange: (value: number) => void,\n icon: JSX.Element,\n registerListner: (fn: (value: number) => void) => void,\n removeListener: (fn: (value: number) => void) => void,\n};\n\nexport function VerticalSlider(props: VerticalSliderProps) {\n const { minValue, maxValue, initialValue, onChange, icon } = props;\n const valueRange = maxValue - minValue;\n const sliderRef = useRef<HTMLDivElement>(null);\n const [value, setValue] = useState(initialValue);\n const [opacity, setOpacity] = useState(0);\n\n useEffect(() => {\n if (sliderRef === null || sliderRef.current === null) {\n return;\n }\n\n let started = false;\n const el = sliderRef.current;\n const calcValue = (ev: PointerEvent) => {\n const boundingRect = el.getBoundingClientRect();\n const rawPercent = 1 - (ev.clientY - boundingRect.top) / boundingRect.height;\n const precent = Math.max(Math.min(1, rawPercent), 0);\n return precent * valueRange;\n };\n const onStart = (ev: PointerEvent) => {\n if (ev.target !== el || started) {\n return;\n }\n started = true;\n setOpacity(80);\n\n setValue(calcValue(ev));\n ev.stopPropagation();\n ev.preventDefault();\n };\n const onMove = (ev: PointerEvent) => {\n if (!started) {\n return;\n }\n\n const newValue = calcValue(ev);\n setValue(newValue);\n onChange(newValue);\n ev.stopPropagation();\n ev.preventDefault();\n };\n const onEnd = (ev: PointerEvent) => {\n if (!started) {\n return;\n }\n\n started = false;\n setOpacity(0);\n const newValue = calcValue(ev);\n setValue(newValue);\n onChange(newValue);\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n window.addEventListener(\"pointerdown\", onStart);\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onEnd);\n window.addEventListener(\"pointercancel\", onEnd);\n el.addEventListener(\"pointerup\", onEnd);\n el.addEventListener(\"pointercancel\", onEnd);\n props.registerListner(setValue);\n\n return () => {\n props.removeListener(setValue);\n window.removeEventListener(\"pointerdown\", onStart);\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onEnd);\n window.removeEventListener(\"pointercancel\", onEnd);\n el.removeEventListener(\"pointerup\", onEnd);\n el.removeEventListener(\"pointercancel\", onEnd);\n };\n }, [sliderRef]);\n\n const top = (100 - Math.max(0, Math.min(100, Math.round(value / valueRange * 100)))) + \"%\";\n\n return html`\n <div class=\"h-full flex flex-col py-0 items-center\">\n <div class=\"bg-gray-200 rounded flex items-center justify-center h-6 w-5 mt-4 text-gray-600\">\n <${icon} class=\"h-4 w-4\" />\n </div>\n <div class=\"cursor-pointer flex-grow py-4 px-2\" ref=${sliderRef}>\n <div class=${\"pointer-events-none relative sensitivity rounded-2xl bg-gray-400 w-2 \" +\n \"h-full\" + (props.class ? props.class : \"\")}>\n <div class=\"flex flex-row items-center absolute -mt-3\" style=${{ top }}>\n <div class=\"bg-gray-600 -ml-2 flex-shrink-0 w-6 h-6 rounded-full\"></div>\n <div class=\"bg-green-100 ml-2 py-1 px-2 rounded z-50 ${\"opacity-\" + opacity}\">\n ${Math.round((minValue + value) * 10) / 10}\n </div>\n </div> \n </div>\n </div>\n </div>\n `;\n}\n","import { Props } from \"../player-app\";\nimport { html } from \"../dom\";\nimport { Icons } from \"../icons\";\nimport { VerticalSlider } from \"./vertical-slider\";\nimport { HorizontalSlider } from \"./horizontal-slider\";\n\nconst minVolume = 0;\nconst maxVolume = 1;\n\nexport function ActionBarVolumeControl(props: Props) {\n if (props.mobileControls || props.mirroredControls) {\n return null;\n }\n\n return html`\n <${VerticalSlider} minValue=${minVolume} maxValue=${maxVolume}\n initialValue=${props.player().volume} \n onChange=${(v: number) => props.player().setVolume(v)}\n icon=${Icons.VolumeUp}\n registerListner=${props.player().registerOnVolumeChanged}\n removeListener=${props.player().removeOnVolumeChanged}\n />\n `;\n}\n\nexport function SideBarVolumeControl(props: Props) {\n return html`\n <${HorizontalSlider} minValue=${minVolume} maxValue=${maxVolume}\n initialValue=${props.player().volume} \n onChange=${(v: number) => props.player().setVolume(v)}\n icon=${Icons.VolumeUp}\n registerListner=${props.player().registerOnVolumeChanged}\n removeListener=${props.player().removeOnVolumeChanged}\n />\n `;\n}\n","import { EmulatorsUi } from \"emulators-ui\";\nimport { h } from \"preact\";\nimport htm from \"htm\";\n\nexport const html = htm.bind(h);\n\nexport const goneClass = \"jsdos-player-gone\";\nexport const disabledClass = \"jsdos-player-button-disabled\";\nexport const primaryClass = \"jsdos-player-button-primary\";\nexport const activeClass = \"jsdos-player-button-active\";\n\ndeclare const emulatorsUi: EmulatorsUi;\n\nexport function createDiv(className: string | string[], innerHtml?: string): HTMLDivElement {\n const el = document.createElement(\"div\");\n if (typeof className === \"string\") {\n el.className = className;\n } else {\n for (const next of className) {\n el.classList.add(next);\n }\n }\n if (innerHtml !== undefined) {\n el.innerHTML = innerHtml;\n }\n return el;\n}\n\nexport function click(el: HTMLElement, callbackFn: (el: HTMLElement) => void): void {\n for (const next of emulatorsUi.dom.pointers.bind.enders) {\n el.addEventListener(next, () => {\n if (!el.classList.contains(\"jsdos-player-button-disabled\")) {\n callbackFn(el);\n }\n });\n }\n}\n\nlet downloadFileUrl: string | null = null;\nexport function downloadFile(data: Uint8Array, fileName: string, mimeType: string): void {\n const blob = new Blob([data], {\n type: mimeType,\n });\n\n if (downloadFileUrl !== null) {\n window.URL.revokeObjectURL(downloadFileUrl);\n }\n downloadFileUrl = window.URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = downloadFileUrl;\n a.download = fileName;\n a.style.display = \"none\";\n\n document.body.appendChild(a);\n a.click();\n a.remove();\n}\n","/* eslint-disable no-lone-blocks */\n\nimport { TransportLayer, ClientMessage, MessageHandler, ServerMessage } from \"emulators/dist/types/protocol/protocol\";\nimport * as base64 from \"base64-js\";\n\nexport interface Hardware {\n readConfig(): string;\n sendMessage(payload: string): void;\n addKey(key: number, pressed: number, timeMs: number): void;\n mouseMove(x: number, y: number, relative: boolean, timeMs: number): void;\n mouseButton(button: number, pressed: number, timeMs: number): void;\n getFramePayload(): string;\n\n createFile(path: string): string;\n appendFile(blob: string): string;\n closeFile(): string;\n}\n\nconst textDecoder = new TextDecoder();\n\nclass HardwareTransportLayer implements TransportLayer {\n sessionId: string = Date.now() + \"\";\n hardware: Hardware;\n\n\n private alive = true;\n private frameWidth = 0;\n private frameHeight = 0;\n\n private handler: MessageHandler = () => {/**/};\n\n constructor(realtime: Hardware) {\n this.hardware = realtime;\n }\n\n callMain() {\n this.hardware.sendMessage(\"wc-install\\n\" + this.sessionId + \"\\n\");\n requestAnimationFrame(this.update.bind(this));\n }\n\n // eslint-disable-next-line\n async sendMessageToServer(name: ClientMessage, props?: { [key: string]: any; }) {\n if (props === undefined || props?.sessionId !== this.sessionId) {\n return;\n }\n\n switch (name) {\n case \"wc-run\": {\n let errorMessage = writeFile(this.hardware, \"bundle_0.zip\", props.bundles[0]);\n\n if (errorMessage.length > 0) {\n console.error(errorMessage);\n throw new Error(errorMessage);\n }\n\n if (props.bundles[1] !== undefined) {\n errorMessage = writeFile(this.hardware, \"bundle_1.zip\", props.bundles[1]);\n if (errorMessage.length > 0) {\n console.error(errorMessage);\n throw new Error(errorMessage);\n }\n }\n\n const payload = \"wc-run\\n\";\n this.hardware.sendMessage(payload);\n } break;\n case \"wc-add-key\": {\n this.hardware.addKey(props.key, props.pressed ? 1 : 0, props.timeMs);\n } break;\n case \"wc-pause\": {\n this.hardware.sendMessage(\"wc-pause\\n\" + this.sessionId + \"\\n\");\n } break;\n case \"wc-resume\": {\n this.hardware.sendMessage(\"wc-resume\\n\" + this.sessionId + \"\\n\");\n } break;\n case \"wc-mute\": {\n this.hardware.sendMessage(\"wc-mute\\n\" + this.sessionId + \"\\n\");\n } break;\n case \"wc-unmute\": {\n this.hardware.sendMessage(\"wc-unmute\\n\" + this.sessionId + \"\\n\");\n } break;\n case \"wc-exit\": {\n this.alive = false;\n this.hardware.sendMessage(\"wc-exit\\n\" + this.sessionId + \"\\n\");\n } break;\n case \"wc-mouse-move\": {\n this.hardware.mouseMove(props.x, props.y, props.relative, props.timeMs);\n } break;\n case \"wc-mouse-button\": {\n this.hardware.mouseButton(props.button, props.pressed ? 1 : 0, props.timeMs);\n } break;\n case \"wc-pack-fs-to-bundle\": {\n this.hardware.sendMessage(\"wc-pack-fs-to-bundle\\n\" + this.sessionId + \"\\n\");\n } break;\n case \"wc-connect\": {\n this.hardware.sendMessage(\"wc-connect\\n\" + this.sessionId + \"\\n\" +\n props.networkType + \"\\n\" +\n props.address.replace(\"ws://\", \"\").replace(\"wss://\", \"\") + \"\\n\" +\n (props.port - 1) + \"\\n\");\n } break;\n case \"wc-disconnect\": {\n this.hardware.sendMessage(\"wc-disconnect\\n\" + this.sessionId + \"\\n\" +\n props.networkType + \"\\n\");\n } break;\n default: {\n console.log(\"Unhandled client message (wc):\", name, props);\n } break;\n }\n }\n\n initMessageHandler(handler: MessageHandler) {\n this.handler = handler;\n }\n\n exit() {\n this.alive = false;\n }\n\n // eslint-disable-next-line\n async onServerMessage(name: string, optProps?: { [key: string]: any }) {\n const props = optProps || {};\n switch (name) {\n case \"ws-server-ready\": {\n const config = this.hardware.readConfig();\n this.handler(\"ws-config\", { sessionId: this.sessionId, content: config });\n // delay ws-server-ready until ws-sound-init\n } break;\n case \"ws-sound-init\": {\n this.handler(name, props);\n this.handler(\"ws-server-ready\", { sessionId: this.sessionId });\n } break;\n case \"ws-frame-set-size\": {\n this.frameWidth = props.width;\n this.frameHeight = props.height;\n this.handler(name, props);\n } break;\n case \"ws-sound-push\": {\n this.handler(name, props);\n } break;\n case \"ws-update-lines\": {\n this.handler(name, props);\n } break;\n case \"ws-persist\": {\n props.bundle = decode(props.bundle);\n this.handler(name, props);\n } break;\n case \"ws-log\":\n case \"ws-warn\":\n case \"ws-err\":\n case \"ws-stdout\": {\n if (props.message !== undefined && props.message !== null && props.message.length > 0) {\n props.message = textDecoder.decode(decode(props.message));\n }\n this.handler(name, props);\n } break;\n default: {\n this.handler(name as ServerMessage, props);\n }\n }\n }\n\n private update() {\n if (this.alive) {\n requestAnimationFrame(this.update.bind(this));\n }\n this.updateFrame();\n }\n\n private updateFrame() {\n if (this.frameWidth === 0 || this.frameHeight === 0) {\n return;\n }\n\n const framePayload = this.hardware.getFramePayload();\n if (framePayload.length === 0) {\n return;\n }\n\n const framePayloadU8 = decode(framePayload);\n if (framePayloadU8.length === 0) {\n return;\n }\n\n const lines: {\n start: number,\n heapu8: Uint8Array,\n }[] = [];\n\n const pitch = this.frameWidth * 3;\n let offset = this.frameHeight;\n let upBorder = -1;\n for (let line = 0; line < this.frameHeight; ++line) {\n const lastLine = line === this.frameHeight - 1;\n\n\n if (framePayloadU8[line] === 1 && upBorder === -1) {\n upBorder = line;\n } else if ((lastLine || framePayloadU8[line] === 0) && upBorder !== -1) {\n const downBorder = framePayloadU8[line] === 1 ? line : line - 1;\n const range = (downBorder - upBorder + 1) * pitch;\n const heapu8 = framePayloadU8.slice(offset, offset + range);\n lines.push({\n start: upBorder,\n heapu8,\n });\n offset += range;\n upBorder = -1;\n }\n }\n\n this.handler(\"ws-update-lines\", {\n sessionId: this.sessionId,\n lines,\n });\n }\n}\n\nexport class HardwareTransportLayerFactory {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private serverMessageHandler: (name: string, props?: { [key: string]: any }) => void = () => {/**/};\n\n constructor() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (window as any).serverMessage = (payload: string | { name: string }) => {\n if (typeof payload === \"string\") {\n const json = \"{\" + textDecoder.decode(decode(payload)).slice(0, -1) + \"}\";\n try {\n const data = JSON.parse(json);\n this.serverMessageHandler(data.name, data);\n } catch (e) {\n console.error(\"Can't parse\", json, e);\n throw e;\n }\n } else {\n this.serverMessageHandler(payload.name, payload);\n }\n };\n\n this.createTransportLayer = this.createTransportLayer.bind(this);\n }\n\n createTransportLayer(realtime: Hardware): TransportLayer {\n const transport = new HardwareTransportLayer(realtime);\n this.serverMessageHandler = transport.onServerMessage.bind(transport);\n transport.callMain();\n return transport;\n }\n}\n\nexport const hardwareTransportLayerFactory = new HardwareTransportLayerFactory();\n\nfunction writeFile(hardware: Hardware, path: string, payload: Uint8Array): string {\n if ((hardware as any).writeFile !== undefined) {\n return (hardware as any).writeFile(path, encode(payload));\n }\n\n const bufferSize = 4 * 1024 * 1024; // 4 mb\n\n let error = hardware.createFile(path);\n if (error.length > 0) {\n return error;\n }\n\n let cursor = 0;\n while (cursor < payload.length) {\n const size = Math.min(bufferSize, payload.length - cursor);\n const chunk = payload.subarray(cursor, cursor + size);\n error = hardware.appendFile(encode(chunk));\n if (error.length > 0) {\n return error;\n }\n cursor += size;\n }\n\n error = hardware.closeFile();\n return error;\n}\n\nfunction decode(input: string): Uint8Array {\n return base64.toByteArray(input);\n}\n\nfunction encode(input: Uint8Array): string {\n return base64.fromByteArray(input);\n}\n","/* eslint-disable max-len */\n\nimport { html } from \"./dom\";\n\nconst XCircle = (props: { class: string }) => html`\n <svg fill=\"none\" class=${props.class} viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n`;\n\nconst UserCircle = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n`;\n\nconst Mobile = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z\" />\n </svg>\n`;\n\nconst SwithcHorizontal = (props: { class: string }) => html`\n <svg class=\"${props.class}\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4\" />\n </svg>\n`;\n\nconst EyeOff = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21\" />\n </svg>\n`;\n\nconst Pause = (props: { class: string }) => html`\n <svg className=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2}\n d=\"M10 9v6m4-6v6m7-3a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n`;\n\nconst Play = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z\" />\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n`;\n\nconst VolumeUp = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\" />\n </svg>\n`;\n\nconst VolumeOff = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\"\n clip-rule=\"evenodd\" />\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2\" />\n </svg>\n`;\n\nconst PencilAlt = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\" />\n </svg>\n`;\n\nconst ChevronLeft = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 19l-7-7 7-7\" />\n </svg>\n`;\n\nconst ChevronRight = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\" />\n </svg>\n`;\n\nconst DotsHorizontal = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z\" />\n </svg>\n`;\n\nconst Download = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\" />\n </svg>\n`;\n\nconst Upload = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12\" />\n </svg>\n`;\n\nconst ArrowsExpand = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4\" />\n </svg>\n`;\n\nconst ArrowsCircleLeft = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M11 15l-3-3m0 0l3-3m-3 3h8M3 12a9 9 0 1118 0 9 9 0 01-18 0z\" />\n </svg>\n`;\n\nconst ArrowsCircleRight = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2}\n d=\"M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n`;\n\nconst Plus = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 4v16m8-8H4\" />\n </svg>\n`;\n\nconst CursorClick = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122\" />\n </svg>\n`;\n\nconst Cursor = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n d=\"M 7 2 L 7 18.5 L 11.09375 14.605469 L 14.300781 22 L 16.5 21 L 13.195312 13.701172 L 13.199219 13.699219 L 19 13.199219 L 7 2 z M 9 6.6015625 L 14.347656 11.59375 L 13.029297 11.707031 L 12.708984 11.734375 L 12.412109 11.861328 L 10.3125 12.761719 L 9.9824219 12.904297 L 9.7226562 13.152344 L 9 13.837891 L 9 6.6015625 z\" />\n </svg>\n`;\n\n\nconst Refresh = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\" />\n </svg>\n`;\n\n\nconst CurrencyDollar = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n`;\n\nconst QuestionMarkCircle = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n`;\n\nconst Discord = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 245 240\" stroke=\"currentColor\">\n <style>.st0{fill:#5c7080;}</style>\n <path class=\"st0\" d=\"M104.4 103.9c-5.7 0-10.2 5-10.2 11.1s4.6 11.1 10.2 11.1c5.7 0 10.2-5 10.2-11.1.1-6.1-4.5-11.1-10.2-11.1zM140.9 103.9c-5.7 0-10.2 5-10.2 11.1s4.6 11.1 10.2 11.1c5.7 0 10.2-5 10.2-11.1s-4.5-11.1-10.2-11.1z\"/><path class=\"st0\" d=\"M189.5 20h-134C44.2 20 35 29.2 35 40.6v135.2c0 11.4 9.2 20.6 20.5 20.6h113.4l-5.3-18.5 12.8 11.9 12.1 11.2 21.5 19V40.6c0-11.4-9.2-20.6-20.5-20.6zm-38.6 130.6s-3.6-4.3-6.6-8.1c13.1-3.7 18.1-11.9 18.1-11.9-4.1 2.7-8 4.6-11.5 5.9-5 2.1-9.8 3.5-14.5 4.3-9.6 1.8-18.4 1.3-25.9-.1-5.7-1.1-10.6-2.7-14.7-4.3-2.3-.9-4.8-2-7.3-3.4-.3-.2-.6-.3-.9-.5-.2-.1-.3-.2-.4-.3-1.8-1-2.8-1.7-2.8-1.7s4.8 8 17.5 11.8c-3 3.8-6.7 8.3-6.7 8.3-22.1-.7-30.5-15.2-30.5-15.2 0-32.2 14.4-58.3 14.4-58.3 14.4-10.8 28.1-10.5 28.1-10.5l1 1.2c-18 5.2-26.3 13.1-26.3 13.1s2.2-1.2 5.9-2.9c10.7-4.7 19.2-6 22.7-6.3.6-.1 1.1-.2 1.7-.2 6.1-.8 13-1 20.2-.2 9.5 1.1 19.7 3.9 30.1 9.6 0 0-7.9-7.5-24.9-12.7l1.4-1.6s13.7-.3 28.1 10.5c0 0 14.4 26.1 14.4 58.3 0 0-8.5 14.5-30.6 15.2z\"/>\n </svg>\n`;\n\nconst Twitter = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 400 400\" stroke=\"currentColor\">\n <style type=\"text/css\">\n .st0{fill:#5c7080;}\n </style>\n <path class=\"st0\" d=\"M400,200c0,110.5-89.5,200-200,200S0,310.5,0,200S89.5,0,200,0S400,89.5,400,200z M163.4,305.5\n c88.7,0,137.2-73.5,137.2-137.2c0-2.1,0-4.2-0.1-6.2c9.4-6.8,17.6-15.3,24.1-25c-8.6,3.8-17.9,6.4-27.7,7.6\n c10-6,17.6-15.4,21.2-26.7c-9.3,5.5-19.6,9.5-30.6,11.7c-8.8-9.4-21.3-15.2-35.2-15.2c-26.6,0-48.2,21.6-48.2,48.2\n c0,3.8,0.4,7.5,1.3,11c-40.1-2-75.6-21.2-99.4-50.4c-4.1,7.1-6.5,15.4-6.5,24.2c0,16.7,8.5,31.5,21.5,40.1c-7.9-0.2-15.3-2.4-21.8-6\n c0,0.2,0,0.4,0,0.6c0,23.4,16.6,42.8,38.7,47.3c-4,1.1-8.3,1.7-12.7,1.7c-3.1,0-6.1-0.3-9.1-0.9c6.1,19.2,23.9,33.1,45,33.5\n c-16.5,12.9-37.3,20.6-59.9,20.6c-3.9,0-7.7-0.2-11.5-0.7C110.8,297.5,136.2,305.5,163.4,305.5\"/>\n </svg>\n`;\n\nconst Telegram = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 240 240\" stroke=\"currentColor\">\n <defs>\n <linearGradient id=\"A\" x1=\"160.01\" x2=\"100.01\" y1=\"40.008\" y2=\"180\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#758599\" offset=\"0\"/>\n <stop stop-color=\"#556559\" offset=\"1\"/>\n </linearGradient>\n </defs>\n <circle fill=\"url(#A)\" r=\"120\" cy=\"120\" cx=\"120\"/><path d=\"M49.942 118.96l80.81-33.295c7.977-3.468 35.03-14.566 35.03-14.566s12.486-4.855 11.445 6.936c-.347 4.855-3.12 21.85-5.896 40.23l-8.67 54.45s-.694 7.977-6.6 9.364-15.607-4.855-17.34-6.243c-1.387-1.04-26.012-16.647-35.03-24.277-2.428-2.08-5.202-6.243.347-11.098 12.486-11.445 27.4-25.665 36.416-34.682 4.162-4.162 8.324-13.873-9.017-2.08l-48.902 32.948s-5.55 3.468-15.954.347-22.543-7.283-22.543-7.283-8.324-5.202 5.896-10.75z\" fill=\"#fff\"/>\n </svg>\n`;\n\nconst FloppyDisk = (props: { class: string }) => html`\n <svg class=${props.class} style=\"padding-left: 2px; padding-top: 4px\" fill=\"none\" viewBox=\"0 0 20 20\" stroke=\"currentColor\">\n <g id=\"floppy_disk\">\n <g>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.71,2.29l-2-2C13.53,0.11,13.28,0,13,0h-1v6H4V0H1C0.45,0,0,0.45,0,1v14\n c0,0.55,0.45,1,1,1h14c0.55,0,1-0.45,1-1V3C16,2.72,15.89,2.47,15.71,2.29z M14,15H2V9c0-0.55,0.45-1,1-1h10c0.55,0,1,0.45,1,1V15\n z M11,1H9v4h2V1z\"/>\n </g>\n </g>\n </svg>\n`;\n\nconst Offline = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M18.364 5.636a9 9 0 010 12.728m0 0l-2.829-2.829m2.829 2.829L21 21M15.536 8.464a5 5 0 010 7.072m0 0l-2.829-2.829m-4.243 2.829a4.978 4.978 0 01-1.414-2.83m-1.414 5.658a9 9 0 01-2.167-9.238m7.824 2.167a1 1 0 111.414 1.414m-1.414-1.414L3 3m8.293 8.293l1.414 1.414\" />\n </svg>\n`;\n\nconst Online = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M5.636 18.364a9 9 0 010-12.728m12.728 0a9 9 0 010 12.728m-9.9-2.829a5 5 0 010-7.07m7.072 0a5 5 0 010 7.07M13 12a1 1 0 11-2 0 1 1 0 012 0z\" />\n </svg>\n`;\n\nconst InformationCircle = (props: { class: string }) => html`\n <svg class=${props.class} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n`;\n\n\nexport const Icons = {\n XCircle,\n UserCircle,\n Mobile,\n SwithcHorizontal,\n EyeOff,\n Pause,\n Play,\n VolumeUp,\n VolumeOff,\n PencilAlt,\n ArrowsExpand,\n ArrowsCircleLeft,\n ArrowsCircleRight,\n ChevronLeft,\n ChevronRight,\n DotsHorizontal,\n Download,\n Upload,\n Plus,\n CursorClick,\n Cursor,\n Refresh,\n CurrencyDollar,\n QuestionMarkCircle,\n Discord,\n Telegram,\n Twitter,\n FloppyDisk,\n Online,\n Offline,\n InformationCircle,\n};\n","\nimport { render } from \"preact\";\nimport { useEffect, useState } from \"preact/hooks\";\nimport { html } from \"./dom\";\n\nimport { ActionHide } from \"./components/action-hide\";\nimport { ActionBar } from \"./components/action-bar\";\nimport { ActionSaveOrExit } from \"./components/action-save-or-exit\";\nimport { SideBar } from \"./components/sidebar\";\nimport { Tips } from \"./components/tip\";\nimport { ClientId, DosPlayer, DosPlayerOptionsWithDefaults } from \"./player\";\nimport { LatencyInfo } from \"./backend/v7/latency\";\n\nimport { EmulatorsUi } from \"emulators-ui\";\n\nimport { nanoid } from \"nanoid/non-secure\";\n\nimport { ActionBarSensitivityControl } from \"./components/sensitivity-control\";\nimport { ActionBarScaleControl } from \"./components/scale-control\";\nimport { ActionBarVolumeControl } from \"./components/volume-control\";\nimport { SyncMouseControl } from \"./components/sync-control\";\n\ndeclare const emulatorsUi: EmulatorsUi;\n\nexport type SidebarPage = \"main\" | \"latency-info\" | \"networking\";\n\nconst storageKeys = {\n localId: \"client.id\",\n networkToken: \"network.token\",\n networkRegion: \"network.region\",\n uiTips: \"ui.tipsV2\",\n autolockTips: \"ui.autolockTipsV2\",\n};\n\nexport interface Props {\n player: () => DosPlayer;\n options: () => DosPlayerOptionsWithDefaults;\n\n clientId: ClientId | null,\n setClientId: (clientId: ClientId | null) => void,\n requestClientId?: (userGesture: boolean) => Promise<ClientId | null>,\n\n anonymousClientId: ClientId,\n\n networkToken: string | null,\n setNetworkToken: (token: string | null) => void,\n\n mobileControls: boolean;\n setMobileControls: (controls: boolean) => Promise<void>;\n\n mirroredControls: boolean;\n setMirroredControls: (mirrored: boolean) => Promise<void>;\n\n autolock: boolean;\n setAutolock: (autolock: boolean) => Promise<void>;\n\n keyboard: boolean;\n toggleKeyboard: () => void;\n\n fullscreen: boolean;\n toggleFullscreen: () => void;\n\n pause: boolean;\n setPause: (pause: boolean) => void;\n\n mute: boolean;\n setMute: (mute: boolean) => void;\n\n actionBar: boolean;\n setActionBar: (actionBar: boolean) => void\n\n sideBar: boolean;\n openSideBar: () => void;\n closeSideBar: () => void;\n\n region: string | null;\n setRegion: (region: string | null) => void;\n\n estimatingRegion: string | null;\n setEstimatingRegion: (region: string | null) => void;\n\n latencyInfo: LatencyInfo | null,\n setLatencyInfo: (latencyInfo: LatencyInfo) => void;\n\n showTips: boolean;\n setShowTips: (showTips: boolean) => void;\n\n sideBarPage: SidebarPage;\n setSideBarPage: (page: SidebarPage) => void;\n\n ipxConnected: boolean;\n setIpxConnected: (ipxConnected: boolean) => void;\n}\n\nexport function PlayerApp(playerProps: {\n player: () => DosPlayer,\n options: () => DosPlayerOptionsWithDefaults,\n setOnRun: (onRun: () => void) => void,\n}) {\n const actionaBarHidden = playerProps.options().withNetworkingApi !== true;\n const storage = emulatorsUi.dom.storage;\n const requestClientIdFn = playerProps.options().clientId;\n const requestClientId = typeof requestClientIdFn === \"function\" ?\n (userGesture: boolean) => requestClientIdFn(userGesture) :\n undefined;\n const [clientId, setClientId] = useState<ClientId | null>(null);\n const [sideBar, setSideBar] = useState<boolean>(false);\n const [mobileControls, setMobileControls] = useState<boolean>(playerProps.player().mobileControls);\n const [mirroredControls, setMirroredControls] = useState<boolean>(playerProps.player().mirroredControls);\n const [autolock, setAutolock] = useState<boolean>(playerProps.player().autolock);\n const [keyboard, setKeyboard] = useState<boolean>(playerProps.player().layers.keyboardVisible);\n const [pause, setPause] = useState<boolean>(false);\n const [mute, setMute] = useState<boolean>(false);\n const [fullscreen, setFullscreen] = useState<boolean>(playerProps.player().layers.fullscreen);\n const [actionBar, setActionBar] = useState<boolean>(!actionaBarHidden);\n const [region, _setRegion] = useState<string | null>(storage.getItem(storageKeys.networkRegion));\n const [estimatingRegion, setEstimatingRegion] = useState<string | null>(null);\n const [showTips, setShowTips] = useState<boolean>(false);\n const [latencyInfo, setLatencyInfo] = useState<LatencyInfo | null>(null);\n const [sideBarPage, setSideBarPage] = useState<SidebarPage>(\"main\");\n const [anonymousClientId] = useState<ClientId>(() => {\n const storedId = storage.getItem(storageKeys.localId);\n const localId = storedId ?? nanoid();\n if (storedId === null) {\n storage.setItem(storageKeys.localId, localId);\n }\n\n return {\n namespace: encodeURIComponent(\"local (\" + location.href + \")\"),\n id: localId,\n };\n });\n const [networkToken, setNetworkToken] = useState<string | null>(storage.getItem(storageKeys.networkToken));\n const [ipxConnected, setIpxConnected] = useState<boolean>(false);\n\n function setRegion(newRegion: string | null) {\n if (newRegion === region) {\n return;\n }\n\n if (newRegion !== null) {\n storage.setItem(storageKeys.networkRegion, newRegion);\n }\n _setRegion(newRegion);\n setEstimatingRegion(null);\n }\n\n useEffect(() => {\n const onTokenRequest = (e: any) => {\n if (e.data.message == \"jsdos-get-network-token\") {\n e.source?.postMessage({\n message: \"jsdos-network-token\",\n token: networkToken,\n }, \"*\");\n }\n };\n\n window.addEventListener(\"message\", onTokenRequest);\n return () => window.removeEventListener(\"message\", onTokenRequest);\n }, [networkToken]);\n\n useEffect(() => {\n if (typeof requestClientId !== \"undefined\") {\n requestClientId(false).then(setClientId).catch(console.error);\n }\n }, [requestClientIdFn, setClientId]);\n\n useEffect(() => {\n playerProps.setOnRun(() => {\n const autolock = playerProps.player().autolock;\n const showTips = storage.getItem(storageKeys.uiTips) !== \"false\";\n const showTipsAutolok = autolock && storage.getItem(storageKeys.autolockTips) !== \"false\";\n if (showTips || showTipsAutolok) {\n props.setShowTips(true);\n }\n setAutolock(autolock);\n });\n\n return () => playerProps.setOnRun(() => {});\n }, [playerProps.setOnRun]);\n\n useEffect(() => {\n const listener = () => {\n const newFullscreen = document.fullscreenElement !== null;\n setFullscreen(newFullscreen);\n if (!newFullscreen) {\n setActionBar(true);\n }\n };\n\n document.addEventListener(\"fullscreenchange\", listener);\n\n return () => {\n document.removeEventListener(\"fullscreenchange\", listener);\n };\n }, [fullscreen, setFullscreen]);\n\n const setDosPause = (pause: boolean) => {\n playerProps.player().ciPromise?.then((ci) => {\n pause ? ci.pause() : ci.resume();\n setPause(pause);\n }).catch(console.error);\n };\n\n const props: Props = {\n player: playerProps.player,\n options: playerProps.options,\n\n clientId,\n setClientId,\n requestClientId,\n\n anonymousClientId,\n\n networkToken,\n setNetworkToken: (token: string | null) => {\n token === null ?\n storage.removeItem(storageKeys.networkToken) :\n storage.setItem(storageKeys.networkToken, token);\n setNetworkToken(token);\n },\n\n mobileControls,\n setMobileControls: async (controls: boolean) => {\n controls ?\n playerProps.player().enableMobileControls() :\n playerProps.player().disableMobileControls();\n setMobileControls(controls);\n },\n\n mirroredControls,\n setMirroredControls: async (mirrored: boolean) => {\n props.player().setMirroredControls(mirrored);\n setMirroredControls(mirrored);\n },\n\n autolock,\n setAutolock: async (autolock: boolean) => {\n props.player().setAutolock(autolock);\n setAutolock(autolock);\n },\n\n keyboard,\n toggleKeyboard: () => {\n setKeyboard(!playerProps.player().layers.keyboardVisible);\n playerProps.player().layers.toggleKeyboard();\n },\n\n fullscreen,\n toggleFullscreen: () => {\n playerProps.player().layers.toggleFullscreen();\n },\n\n pause,\n setPause: setDosPause,\n\n mute,\n setMute: (mute: boolean) => {\n playerProps.player().ciPromise?.then((ci) => {\n mute ? ci.mute() : ci.unmute();\n setMute(mute);\n }).catch(console.error);\n },\n\n actionBar,\n setActionBar,\n\n sideBar,\n openSideBar: () => setSideBar(true),\n closeSideBar: () => setSideBar(false),\n\n region: region,\n setRegion,\n\n estimatingRegion,\n setEstimatingRegion,\n\n showTips,\n setShowTips: (newShowTips: boolean) => {\n storage.setItem(storageKeys.uiTips, newShowTips + \"\");\n if (props.player().autolock) {\n storage.setItem(storageKeys.autolockTips, newShowTips + \"\");\n }\n setTimeout(() => {\n setDosPause(newShowTips);\n setShowTips(newShowTips);\n if (newShowTips && playerProps.options().style !== \"hidden\") {\n setActionBar(true);\n }\n }, 500);\n },\n\n latencyInfo,\n setLatencyInfo,\n\n sideBarPage,\n setSideBarPage,\n\n ipxConnected,\n setIpxConnected,\n };\n\n if (props.actionBar === false) {\n return html`<div>\n <${ActionSaveOrExit} ...${props} class=\"absolute left-0 top-0 rounded-br-md z-50 w-8 h-8\" />\n <${ActionHide} ...${props} class=\"absolute left-0 opacity-80 top-1/2 z-50 -mt-6\" />\n </div>`;\n }\n\n return html`\n <div class=\"h-full flex flex-row\">\n <${SideBar} ...${props} />\n <${Tips} ...${props} />\n <div class=\"h-full\">\n <${ActionBar} ...${props} />\n </div>\n <div class=\"bg-gray-300 w-8 h-full flex flex-col items-center\">\n <div class=\"flex-grow flex flex-col items-center\">\n <${ActionSaveOrExit} ...${props} class=\"rounded mt-1\" />\n <${SyncMouseControl} ...${props} />\n <${ActionBarSensitivityControl} ...${props} />\n </div>\n <${ActionHide} ...${props} class=\"self-start\" />\n <div class=\"flex-grow\">\n <${ActionBarScaleControl} ...${props} />\n <${ActionBarVolumeControl} ...${props} />\n </div>\n </div>\n </div>\n `;\n}\n\nexport function createPlayerApp(root: HTMLDivElement,\n player: DosPlayer,\n options: DosPlayerOptionsWithDefaults,\n setOnRun: (onRun: () => void) => void) {\n render(html`<${PlayerApp} player=${() => player} options=${() => options} setOnRun=${setOnRun} />`, root);\n}\n","import { DosInstance, DosFactoryType, DosOptions } from \"emulators-ui/dist/types/js-dos\";\nimport { createDiv } from \"./dom\";\nimport { Hardware, hardwareTransportLayerFactory } from \"./hardware-transport-layer\";\nimport { getPersonalBundleUrl, putPersonalBundle } from \"./backend/v7/personal\";\n\nimport { createPlayerApp } from \"./player-app\";\n\ndeclare const Dos: DosFactoryType;\n\nconst dosImpl = Dos;\n\nexport interface ClientId {\n namespace: string;\n id: string;\n}\n\nexport type ClientIdSupplier = (userGesture: boolean) => Promise<ClientId | null>;\n\nexport interface DosPlayer extends DosInstance {\n bundleUrl: string | null;\n}\n\nexport interface DosPlayerOptions extends DosOptions {\n style?: \"default\" | \"none\" | \"hidden\";\n hardware?: Hardware;\n clientId?: ClientIdSupplier;\n onBeforeExit?: () => Promise<void>;\n onExit?: () => void;\n noSideBar?: boolean;\n noFullscreen?: boolean;\n noSocialLinks?: boolean;\n preventUnload?: boolean;\n withNetworkingApi?: boolean;\n withExperimentalApi?: boolean;\n windowOpen?: (url: string, target: string) => void;\n}\n\nexport interface DosPlayerOptionsWithDefaults extends DosPlayerOptions {\n windowOpen: (url: string, target?: string) => void;\n}\n\nexport declare type DosPlayerFactoryType = (root: HTMLDivElement, options?: DosPlayerOptions) => DosPlayer;\n\nexport function DosPlayer(root: HTMLDivElement, optOptions?: DosPlayerOptions): DosPlayer {\n const options = (optOptions || {}) as DosPlayerOptionsWithDefaults;\n\n if (options.windowOpen === undefined) {\n if (typeof window === \"object\") {\n options.windowOpen = window.open.bind(window);\n } else {\n options.windowOpen = () => {\n throw new Error(\"window.open is not defined\");\n };\n }\n }\n\n if (options.style === \"none\") {\n console.warn(\"If you don't need the jsdos services, please use emulatros + emulators-ui instead\");\n return dosImpl(root, options) as DosPlayer;\n }\n\n root.classList.add(\"flex\");\n root.classList.add(\"flex-row\");\n root.classList.add(\"relative\");\n root.classList.add(\"overflow-hidden\");\n\n const modal = createDiv([\"hidden\", \"flex-col\", \"absolute\", \"left-0\", \"top-0\",\n \"bottom-0\", \"right-0\", \"items-center\", \"justify-center\", \"z-50\",\n \"bg-gray-800\", \"opacity-95\"]);\n const modalText = createDiv([\"text-2xl\", \"font-bold\", \"font-mono\", \"animate-pulse\",\n \"text-green-600\"]);\n modal.appendChild(modalText);\n\n const col = createDiv([\"flex\", \"flex-col\", \"flex-grow\", \"overflow-hidden\"]);\n const frame = createDiv(\"flex-grow\");\n const appRoot = createDiv(\"flex-grow-0\");\n const keyboard = createDiv(\"flex-grow-0\");\n const keyboardInput = root;\n\n col.appendChild(frame);\n col.appendChild(keyboard);\n\n root.appendChild(appRoot);\n root.appendChild(col);\n root.appendChild(modal);\n\n function showModal(text: string) {\n modalText.innerHTML = text;\n modal.classList.remove(\"hidden\");\n modal.classList.add(\"flex\");\n }\n\n function hideModal() {\n modal.classList.remove(\"flex\");\n modal.classList.add(\"hidden\");\n }\n\n options.layersOptions = options.layersOptions || {};\n options.layersOptions.keyboardDiv = keyboard;\n options.layersOptions.keyboardInputDiv = keyboardInput;\n options.layersOptions.fullscreenElement = root;\n options.layersOptions.optionControls = [];\n\n const hardware = options.hardware;\n if (hardware !== undefined && hardware !== null) {\n options.createTransportLayer = () => {\n return hardwareTransportLayerFactory.createTransportLayer(hardware);\n };\n options.emulatorFunction = \"backend\";\n }\n\n\n const player = dosImpl(frame, options) as DosPlayer;\n let onRun = () => { };\n const setOnRun = (newOnRun: () => void) => onRun = newOnRun;\n createPlayerApp(appRoot, player, options, setOnRun);\n\n player.bundleUrl = null;\n\n const runFn = player.run;\n player.run = async (bundleUrl: string, optionalChangesUrl?: string, optionalPersistKey?: string) => {\n hideModal();\n\n const getClientId = () => options?.clientId !== undefined ? options.clientId(false) : null;\n const clientId = await getClientId();\n if (optionalChangesUrl === undefined && optionalPersistKey === undefined && clientId !== null) {\n optionalChangesUrl = getPersonalBundleUrl(clientId.namespace, clientId.id, bundleUrl) + \"?dt=\" + Date.now();\n }\n\n const ci = await runFn.call(player, bundleUrl, optionalChangesUrl, optionalPersistKey);\n player.bundleUrl = bundleUrl;\n\n const saveFn = player.layers.getOnSave();\n player.layers.setOnSave(async () => {\n const closeOnSave = typeof options?.onExit === \"function\";\n const showModals = closeOnSave;\n\n if (closeOnSave) {\n ci.mute();\n }\n\n const clientId = await getClientId();\n\n if (clientId !== null) {\n if (showModals) {\n showModal(\"Saving [1/2]: collecting changes\");\n }\n\n const data = await ci.persist();\n\n if (showModals) {\n showModal(\"Saving [2/2]: sending to cloud\");\n }\n\n await putPersonalBundle(clientId.namespace, clientId.id, bundleUrl, data);\n } else {\n if (showModals) {\n showModal(\"Saving [1/1]: collecting changes\");\n }\n\n await saveFn.call(player.layers);\n }\n\n if (closeOnSave && showModals) {\n showModal(\"Saved. Now you can close the window\");\n modalText.classList.remove(\"animate-pulse\");\n }\n });\n\n onRun();\n return ci;\n };\n\n const stopFn = player.stop;\n player.stop = () => {\n player.bundleUrl = null;\n return stopFn.call(player);\n };\n\n return player;\n}\n\n// eslint-disable-next-line\n(window as any).Dos = DosPlayer;","export async function request(endpoint: string, method: string = \"GET\", body: BodyInit | null = null): Promise<any> {\n const result = await fetch(endpoint, {\n method,\n body,\n headers: new Headers({ \"content-type\": \"application/json\" }),\n }).then((r) => r.json());\n\n if (result.code !== 200) {\n throw new Error(result.message ?? \"code: \" + result.code);\n }\n\n return result;\n}\n","export function send(method: \"get\" | \"post\" | \"head\" | \"put\",\n url: string,\n responseType: XMLHttpRequestResponseType,\n body?: string | ArrayBuffer,\n onprogress?: (progress: number) => void,\n headers?: { [name: string]: string }): Promise<string | ArrayBuffer> {\n return new Promise<string>((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.responseType = responseType;\n request.open(method, url, true);\n\n request.addEventListener(\"load\", () => {\n if (request.status !== 200) {\n reject(new Error(\"Wrong status code \" + request.status));\n } else if (responseType === \"text\") {\n resolve(request.responseText);\n } else if (responseType === \"arraybuffer\") {\n resolve(request.response);\n } else {\n reject(new Error(\"Unsupported responseType \" + responseType));\n }\n }, false);\n request.addEventListener(\"error\", () => {\n reject(new Error(\"HTTP GET failed for url \" + url));\n }, false);\n request.addEventListener(\"abort\", () => {\n reject(new Error(\"HTTP GET canceled for url \" + url));\n }, false);\n\n if (onprogress !== undefined) {\n request.onprogress = (event) => {\n if (event.loaded && event.total && event.total > 0) {\n const porgress = Math.round(event.loaded * 10000 / event.total) / 100;\n onprogress(porgress);\n }\n };\n }\n\n if (headers !== undefined) {\n for (const key of Object.keys(headers)) {\n request.setRequestHeader(key, headers[key]);\n }\n }\n\n request.send(body);\n });\n}\n\nexport async function postObject(url: string, data?: string | ArrayBuffer): Promise<any> {\n const response = JSON.parse(await (post(url, \"text\", data) as Promise<string>));\n\n if (response.success) {\n return response;\n }\n\n if (response.errorCode !== undefined) {\n throw new Error(response.errorCode);\n }\n\n throw new Error(\"POST Object request failed:\\n Payload:\\n\" + JSON.stringify(response.body, null, 2));\n}\n\nexport async function getObject(url: string): Promise<any> {\n const response = JSON.parse(await (send(\"get\", url, \"text\") as Promise<string>));\n\n if (response.success) {\n return response;\n }\n\n if (response.errorCode !== undefined) {\n throw new Error(response.errorCode);\n }\n\n throw new Error(\"GET Object request failed:\\n Payload:\\n\" + JSON.stringify(response, null, 2));\n}\n\nexport function post(url: string,\n responseType: XMLHttpRequestResponseType,\n data?: string | ArrayBuffer): Promise<string | ArrayBuffer> {\n return send(\"post\", url, responseType, data);\n}\n","export const uploadsS3Bucket = \"doszone-uploads\";\n\nconst uploadsS3Url = \"https://doszone-uploads.s3.dualstack.eu-central-1.amazonaws.com\";\n\nexport function getPersonalBundleKey(namespace: string, id: string,\n bundleUrl: string, publishToken: string | undefined): string {\n if (publishToken !== undefined && bundleUrl.startsWith(uploadsS3Url)) {\n return bundleUrl.substring(uploadsS3Url.length + 1);\n }\n\n const index = bundleUrl.lastIndexOf(\"/\");\n const basename = bundleUrl.substr(index + 1);\n if (namespace === \"doszone\") {\n return \"personal/\" + id + \"/\" + basename;\n } else {\n return \"personal-v2/\" + namespace + \"/\" + id + \"/\" + basename;\n }\n}\n\nexport function getPersonalBundleUrl(namespace: string, id: string, bundleUrl: string,\n publishToken: string | undefined): string {\n const personalBundleKey = getPersonalBundleKey(namespace, id, bundleUrl, publishToken);\n return uploadsS3Url + \"/\" + personalBundleKey;\n}\n"]}